SlideShare a Scribd company logo
1 of 53
Download to read offline
When Dev met Test
(The future of software testing)
2016.01 by JungGun
home: genycho.blog.me
role : specialist
actor : domain expert
role : generalist
actor : test specialist
Developer
Tester
When dev met test
2015 remade in Software testing
This is aboutโ€ฆ
Message 1: Co-Work (3Amigos)
Message 2: Shift-left-testing (early testing activities)
Several cases that test people co-worked with
development team closely
Not only about testing, but also
about dev quality
I. Introduction
II. Engineering activities
III. Strategic activities
IV. Other activities
V. Conclusion
Target projects
Small, Research&Dev project (Trendy technology related)
Video, Data analystics, Network&Security, IoT based projects
Current quality level was low, but the impact was huge
Small(~12people)
Internal
funding
Flexible
requirements
Complex,
Trendy tech
Young,
Highly educated
Human resource
Testability๊ฐ€
๋–จ์–ด์ง€๋Š”
Low quality concept
Test Operation organization
Flexible test resource managing (Shared Service) for small, multiple projects
Each person has one or two specialized domain area
Big Data VA, IoT Security, Network
Domain
study
Test
Strategy
Test
Education
Test
Design
Test
Scripting
Testware dev,
Automation
Test
Execution
Quality
Review
0.25 0.25 0.25 0.25 0.5 0.25 0.5 0.25
Project A Project B Project 1 Project 2 a project
TM
TE
TM
TE
TM
TEโ€ป Shared Service
โ€ป Practices & effort
Projects information (2014yr~2015yr)
Mobile authentication Security FIDO - external requests
Admin portal(re-usable
asset)
Web application Admin portal 6 external requests
projects technology Target domain
Dev size
(people)
challenges, difficulty, etc
MES bigdata analytics
Data
Analytics
Manufacture
Factory
5
Verifying statistics functions result and
the integration with big data platform
Crypt/DeCrypt algorithm
Security
(en/decryption)
Encryption/decrypti
on
3
Complex security algorithm,
Integration with Legacy system
Logistics demand
prediction engine
Data
Analytics
Logistics 4
complex prediction algorithm based of
rules
Integration with legacy system
IoT based smart
factory(Smart OHT)
IoT
Semiconductor
manufacturing
6
Understanding IoT(hardware+software)
technology and its Testability
political issues with customers
I. Introduction
II. Engineering activities
1. Early testing education
2. Test design
3. Test code guide
4. Pair-testing, programming
5. Test-Automation
III. Strategic activities
IV. Other activities
V. Conclusion
Customized quality education
To prevent defects, project-customized education in the early phase
( An example about outline )
- what test activities will be done and why
- Frequently occurred defects
based on similar doman, technology
- How to write (User) test scenario &
the basic of test design
- Intro about sample unit test code
with very early dev code
- Test Automation introduction with Jenkins
> Education: sharing the test plan
- what test activities will be done and why
- the whole test cycle, roles&responsibility
- be able to get feedback by sharing with dev
> Education: Test Design guide
- the difference with Unit & Integration testing
- the template of test scenario and guide
- basic test design technique
- practical guide with other input documents
> Education: Sharing old defects, cases
- defects and test cases based on the productโ€™s domain, technology
[ defects(Web) ] [ Quality guide for API ]
API Development
Standards on quality
- Logging
- Exception handling &
error code
- API Spec guild
- Unit test checklists
I. Introduction
II. Engineering activities
1. Early testing education
2. Test design
3. Test code guide
4. Pair-testing, programming
5. Test-Automation
III. Strategic activities
IV. Other activities
V. Conclusion
What Test Design
- The thinking process to test effectively and efficiently.
- because the projects were mainly a kind of pure algorithm libray, they were so
complex and needed to design test cases well.
Black-box approach
- initial test approach was black-box which design tests with specification
- various documents โ€“ requirements, algorithm description, Architecture doc etc
- because they were so vague or insufficient to understand the algorithm, we focused
on visualizing the logic to share the understanding with customers
White-box approach
- the real code was the best documents
- made the domain-specific dev-code checklist
- do offline reviews with dev code or unit-testing code (regular pair-programming)
โ€ป Grey-box testing?
- basically do blackbox-testing while checking dev code
โ€ป Wait!, Who is the best person do test design?
- Test Desing should be done by Testers!!!
- They can do anyhow, but do they know what custmer really wants?
Business
Analyst
Customer
Tester
โ€œANALYSTS!!!โ€
(pros): knows well the businees and dev both.
Need to be reviewed what they analyzed
(cons) : not know about testing technique
โ€œTESTERS!!!โ€
(pros) : test experts, experienced in many domain, focused on testing
(cons) : need to understand requirements fully
โ€œCUSTOMERS!!!โ€
(pros): best know about business
(cons): no time, no tes or IT
knowledge
Who shuld do
test design?
The answer depends on โ€˜Test Levelโ€™ or โ€˜typeโ€™,
but basically everyone should work together.
Step 1) Understanding with documents, interviews, everything as possible
Step 2) Sharing what understood and getting feedback
(Example) Analyzing old test scenarios
find questions to confirm
And test conditons
Make checklist, diagrams to share with dev
team
Step 1) Understanding with things โ€“ documents, interviews
Step 2) Sharing what understood and getting feedback
(Customer)
Easy to understand
with diagrams
(Developers)
With the checklists, I was
able to self-define the detail
parts
(Product Manager)
Visual diagram can help
potential stakeholders to
understand our product
I can give the team
more detailed
requirements
>Test Design: Test Coverage reviews
- testers review test coverage (line&branch coverage) on real code
- if needed, they add more test cases or ask developers to do
TC add)
need to test server and client different
version check test
Coverage check)
The code is not reachable(double checking)
Need to delete
โ€ป (Example) Graphical approach to review
If the documents are insufficient, dev code is the best documents.
First, draw any diagrams if it can be helpful, then review the logic, workflow with
various stakeholders
์†Œ์Šค ์ฝ”๋“œ
๊ตฌ์กฐ-Process ์ฒ˜๋ฆฌ์—ฌ๋ถ€
๊ตฌ์กฐ-Log ์ฒ˜๋ฆฌ
๊ตฌ์กฐ-Exception ์ฒ˜๋ฆฌ
์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฒดํฌ
input table ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ
output table ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ
ํ•ด๋‹น ์ปฌ๋Ÿผ๋ช…์ด ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ
๋กœ์ง ์ƒ์˜ if ๋ฌธ ์กฐ๊ฑด ๋‚˜์—ด
๊ณ„์‚ฐ์‹์—์„œ ์ž…๋ ฅ๊ฐ’ ์ง์— ๋”ฐ๋ผ ๋ถ„์ž or ๋ถ„๋ชจ๊ฐ€ 0์ด ๋˜๋Š”
๊ฒฝ์šฐ
์ฝ”๋“œ ๋‚ด์— ํ˜• ๋ณ€ํ™˜(๋ฌธ์ž -> ์ˆซ์ž, ์ˆซ์ž-> ๋ฌธ์ž, Double-
>int ๋“ฑ)
๋กœ์ง ์ˆ˜ํ–‰ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์—๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋„ฃ์–ด์ฃผ๊ณ  ์žˆ๋Š”์ง€
Ex 1) the sequence of dev code 2) Code review checklist
(a) main structure
(b) logging
(c) exception handling
โ€ฆ
(f) if conditions
โ€ฆ
(j) calculation
(k) type casting
I. Introduction
II. Engineering activities
1. Early testing education
2. Test design
3. Test code guide
4. Pair-testing, programming
5. Test-Automation
III. Strategic activities
IV. Other activities
V. Conclusion
Customized Test Code guide
- To minimize the learning curve to write unit-test code
. language - Java, C/C++, JavaScript, Scala(Spark)
. Specific framwork based test code(Spring fr, MapReduce, Spark, Kuraโ€ฆ)
Target Guide Type
Complex pure
algorithm
Various Test conditons and
cases
junit
C language
program
Tool research, Gtest pilot GoogleTest
Big Data
Data-driven testing using
Junit, MRUnit
MRUnit(MapRedu
ce),
ScalaTest(Spark)
Complex
prediction
algorithm
Unit/Intg test code with Junit,
CascadingUnit,
Various test cases
Cascading
IoT based
software unit-testing mocking
Hardware parts
Eclipse Kura
Framework
Web application
various test cases on various
layers
Spring
Framework
Target to
Test
(TC1) basic workflow
[ Basic Test Approach ]
(TC2) code branched
workflow
(TC3) specific business
workflow
(TC4) exception
workflow
โ€ฆ
[ Projects ]
โ€ป (Example) Structured Test code
- To easy-maintain, data-driven testing
- Naming, Comments guide
Test Code Structure
FaroServiceTestCase
- ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ ์ „ ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ
์˜ ์„ค์ • ํŒŒ์ผ ๋กœ๋”ฉ
- ๋งค ํ…Œ์ŠคํŠธ ํ›„ ํ…Œ์ŠคํŠธ ์ด์ „ ์ƒํƒœ๋กœ
DB ์ดˆ๊ธฐํ™”
- ํŠน์ • ์ฟผ๋ฆฌ๋ฌธ์„ ์ง์ ‘ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ
์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต ๋“ฑ
SampleServiceTest
@Autowired๋กœ ๊ฐ์ฒด ์ฃผ์ž… ํ›„
- ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ
- ๋‹ค๋ฅธ ํ๋ฆ„ ํ…Œ์ŠคํŠธ
- ์ž˜๋ชป๋œ ํ‚ค ๊ฐ’ ๋“ฑ์˜ ํ…Œ์ŠคํŠธ
- ํ•„์ˆ˜์ž…๋ ฅ ๋ˆ„๋ฝ ๋“ฑ์˜ ํ…Œ์ŠคํŠธ
โ€ฆ
SampleTestData
- ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ
๋ถ„๋ฆฌํ•˜์—ฌ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ๋„
์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •์˜
(์ถ”๊ฐ€๋กœ ์—‘์…€ ๋˜๋Š” DB์—์„œ
๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋ณด์™„ ๊ฐ€๋Šฅ)
CodeMngService
- ์ฝ”๋“œ ์ „์ฒด ์กฐํšŒ
- ์ฝ”๋“œ ๊ฒ€์ƒ‰
- ์ฝ”๋“œ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ
โ€ฆ
AbsractTestData
- ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ DB, ์—‘์…€ ๋“ฑ์œผ๋กœ
๋ถ€ํ„ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์ถ”
์ƒ ํด๋ž˜์Šค
Spring configration
loading, common variables,
utils are in a super
Parent class
If the configuration(file) is
changed, only one class needs
to be changed
If the data is changed,
Only one is to change
Data that can be
Referred in other tests
are stored in a separate
class
I. Introduction
II. Engineering activities
1. Early testing education
2. Test design
3. Test code guide
4. Pair-testing, programming
5. Test-Automation
III. Strategic activities
IV. Other activities
V. Conclusion
Pair-Testing
- not fix bugs, but fix human mistakes
- developer+tester pair in a sprint testing
- developers learn what, how testers think and test
testers learn what the code intended and expected
- (Expected)
better communication
reduced bugs (defect prevention) by learning
testers can find more serious bugs
the productโ€™s quality is better
(Not-Expected)
Developers and testers do not trust each other
complaint that pair-testing is useless and time-consuming job
disappointment about testers, testing
(Example) Pair-testing
- 40minutes pair-testing with 6 develpers
- more than 40 defects and issues (The team needed to define the standard)
Sessi
on
dev date target
Notes
(Reminds, Test paths, defects, etc)
1 A dev
-2d
mornig
Role-
management
[์—ญํ• ๊ด€๋ฆฌ - ์กฐํšŒ]
(1) ํ™”๋ฉด ๋ฆฌ์‚ฌ์ด์ฆˆ์‹œ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด ์ž˜๋ฆฌ๋Š” ํ˜„์ƒ ์žˆ์Œ(ํ•˜๋‹จ ์Šคํฌ๋กค๋กœ ๋๊นŒ์ง€ ์˜ฎ๊ฒจ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ)
(2) (๊ณตํ†ต-๊ฒ€ํ† ํ•„์š”) ํ˜„์žฌ ํ™”๋ฉด ์œ„์น˜๋ฅผ ์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ ์ดˆ๋ก์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•ด ์ฃผ๋Š”๋ฐ F5 ์ƒˆ๋กœ ๊ณ ์นจ ์‹œ ์ดˆ๋ก์ƒ‰์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ
(3) (๊ถŒ๊ณ ) ์กฐํšŒ์กฐ๊ฑด์— ์—ญํ• ์˜ ์‚ฌ์šฉ์—ฌ๋ถ€๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์—ˆ์œผ๋ฉด ํŽธํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„
(4) ๊ฒ€์ƒ‰์กฐ๊ฑด์— ํŠน์ˆ˜๋ฌธ์ž ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ํƒ€ ํ™”๋ฉด๊ณผ ๋‹ฌ๋ฆฌ trim ์ฒ˜๋ฆฌ๊ฐ€ ์ ์šฉ/ ๋˜๋Š” ๋ฏธ์ ์šฉ๋œ ๊ฒฝ์šฐ๊ฐ€ ์„ž์—ฌ ์žˆ์Œ
(5) (๊ฒ€ํ† ์˜ˆ์ •์ด๋ผ๊ณ  ํ•จ) ์—ญํ• ๋ช…, ์„ค๋ช…๋“ฑ์„ ์ฃผ์–ด์ง„ ๊ธธ์ด๋งŒํผ ์ž…๋ ฅํ•˜๋ฉด ๋ชฉ๋ก์—์„œ ... ์œผ๋กœ ํ‘œ์‹œ๋จ.
ํˆดํŒ์ด ํ‘œ์‹œ๋˜๋ฉด ์ข‹์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž„ * ์ˆ˜์ •ํŒ์—…์„ ๋„์šฐ๋ฉด ํ‘œ์‹œ๋˜๋‹ˆ ๊ฒฐํ•จ๋ณด๋‹ค๋Š” ๊ถŒ๊ณ ์‚ฌํ•ญ์„ฑ์ž…๋‹ˆ๋‹ค~
[์—ญํ• ๊ด€๋ฆฌ - ์ถ”๊ฐ€]
(6) ์ž…๋ ฅ ์‹œ id, ๋ช…์— trim ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„.(์กฐํšŒ์‹œ๋Š” ๊ถŒ๊ณ ์ด๋‚˜ ๋“ฑ๋ก/์ˆ˜์ • ์‹œ์—๋Š” trim์ด ํ•„์š”)
(7) (๋‹ค๋ฅธ ํ™”๋ฉด๋„ ์ฒดํฌ ํ•„์š”) ์‹ ๊ทœ ์ถ”๊ฐ€์‹œ์— ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ํ•˜๊ณ  ์ €์žฅํ•ด๋„ Y๋กœ ์ €์žฅ ๋จ <- ์ฟผ๋ฆฌ์— 'Y'๋กœ ๋ฐ•ํ˜€ ์žˆ์Œ
[ ์‚ฌ์šฉ์ž ํŒ์—…1,2 ]
(8) ์ง๊ธ‰ ์ปฌ๋Ÿผ ๋“ฑ์˜ ์ •๋ ฌ์ด ํƒ€ ํ™”๋ฉด๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Œ (๊ฐ€์šด๋ฐ ์ •๋ ฌ ํ•„์š”)
(9) ์กฐํšŒ์กฐ๊ฑด ํ•„๋“œ๊ฐ€ ํŠน์ˆ˜๋ฌธ์ž๋Š” ๋ง‰ํ˜€ ์žˆ๋Š”๋ฐ trim ์ฒ˜๋ฆฌ๋Š” ํ•˜๋Š” ๋“ฑ ํƒ€ ๊ฒ€์ƒ‰ ํ•„๋“œ์™€ ์ผ๊ด€์„ฑ ํ•„์š”
(10) โ€œ๊ทธ๊ฑฐโ€๋ผ๊ณ  ํ–ˆ๋˜ ๊ฑด - ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๋ฉด ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ ์„ ํƒํ•˜์ง€ ์•Š์€ ๊ฑด๋“ค์ด ์„ ํƒ๋˜์–ด ์žˆ๋Š” ๋“ฑ ์ด์ƒ ๋™์ž‘์„ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒ ํ•จ
2 B dev
-2d
mornin
g
Group-
management-
popups
[์—…๋ฌด๊ทธ๋ฃน ๋ฉ”๋‰ดํŒ์—…]
(1) ํŒ์—… ํ™”๋ฉด ํƒ€์ดํ‹€๋ช…์— ๊ณตํ†ต์ ์œผ๋กœ ์–ธ๋”๋ฐ”๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ
(2) ์—ฌ๋Ÿฌ ํŒ์—…์—์„œ ๊ฐ™์€ ํ•ญ๋ชฉ์˜ ์ •๋ ฌ์ด ์„œ๋กœ ๋‹ค๋ฆ„
- ๊ธธ์ด๊ฐ€ ์ผ์ •ํ•œ ์ฝ”๋“œ์„ฑ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์šด๋ฐ ์ •๋ ฌ, ์ด๋ฉ”์ผ, ์„ค๋ช… ๋“ฑ๊ณผ ๊ฐ™์ด ๊ฐ’์ด ๊ฐ€๋ณ์ ์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฐ’๋“ค์€ ์ขŒ์ธก ์ •๋ ฌ์ด ๋งž์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž„
(3) (ํ™•์ธํ•„์š”) ํ™”๋ฉด ๋ฐ ์ปฌ๋Ÿผ ํญ ๋ฆฌ์‚ฌ์ด์ฆˆ๊ฐ€ ์•ˆ ๋˜๋Š”๋ฐ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ๊ฒฝ์šฐ ํˆดํŒ์„ ๊ฒ€ํ† ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ
(4) ๋ฉ”๋‰ด์— ๋Œ€ํ•ด ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ์ˆ˜์ •ํ•ด๋„ ํƒ€ ํ™”๋ฉด ํŒ์—…์—์„œ ๋ฉ”๋‰ด๊ฐ€ ์กฐํšŒ๋จ
(5) (๊ถŒ๊ณ ) ๋ฉ”๋‰ด ์ถ”๊ฐ€์—์„œ ๊ธฐ์กด ์ถ”๊ฐ€ํ•œ ๋ฉ”๋‰ด์™€ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋‰ด๊ฐ€ ๊ตฌ๋ถ„์ด ์•ˆ ๋จ. ๋ฐฉ์•ˆ ๋ช‡๊ฐ€์ง€ ์–˜๊ธฐํ–ˆ๋˜ ๊ฒƒ ๊ฒ€ํ†  ์š”์ฒญ
[์‚ฌ์šฉ์ž ํŒ์—…]
(6) ์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š๊ณ  ์„ ํƒ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋ฉ”์‹œ์ง€๋Š” "ํ•œ ๊ฑด ์ด์ƒ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”" ๋ผ๊ณ  ์ •์ƒ ํ‘œ์‹œ๋˜๋‚˜ ๋ฐ”๋กœ ํŒ์—… ์ฐฝ์„ ๋‹ซ์•„๋ฒ„๋ฆผ. ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒ์—… ์ฐฝ ์œ ์ง€ ํ•„์š”
(7) ๊ฐ ํ•ญ๋ชฉ๋“ค์˜ ์ขŒ์šฐ ์ •๋ ฌ์ด ํƒ€ ํ™”๋ฉด๊ณผ ๋‹ค๋ฆ„
(8) ํŒ์—… ํ™”๋ฉด ์ „์ฒด์— ๊ณตํ†ต ๋ฐœ์ƒ - ์กฐํšŒ ๋ฐ์ดํ„ฐ์˜ ํ•„๋“œ๋“ค์ด ๋ชจ๋‘ ๋ถˆํ•„์š”ํ•˜๊ฒŒ editable ํ•จ
3 C dev
-2d
afterno
on
Group-
management
[์—…๋ฌด๊ทธ๋ฃน๊ด€๋ฆฌ]
(1) ์—…๋ฌด๊ทธ๋ฃน ID์— ํ•œ๊ธ€์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ์กฐ๊ฑด์กฐํšŒ ํ•ด๋‹น ํ•„๋“œ์— ํ•œ๊ธ€์ด ์ž…๋ ฅ๋˜์ง€ ์•Š์Œ
(2) (ํ™•์ธํ•„์š”-์ผ๊ด€์„ฑ) ์‹ ๊ทœ ์ถ”๊ฐ€ํ›„ ๋ฆฌํ”„๋ ˆ์‹œ ๋  ๋•Œ ์ถ”๊ฐ€๋œ ๊ฑด์ด ์ „์ฒด ํŽ˜์ด์ง€์˜ ์ œ์ผ ํ•˜๋‹จ์— ํ‘œ์‹œ๋˜๋Š”๋ฐ ํƒ€ํ™”๋ฉด๊ณผ ๊ธฐ์ค€ ๋…ผ์˜ ํ•„์š” <- ์‚ฌ์šฉ์ž ์ถ”๊ฐ€์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์ •๋ ฌ ์œ„์น˜์—
์ถ”๊ฐ€๋˜์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๋ณด์ž„
(3) (๊ถŒ๊ณ ) ์กฐํšŒ์กฐ๊ฑด์— ์—…๋ฌด๊ทธ๋ฃน์˜ ์‚ฌ์šฉ์—ฌ๋ถ€๋ณ„๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Œ
(4) ์—…๋ฌด๊ทธ๋ฃนID ๋“ฑ์— trim์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„
(5) "๊ทธ๊ฑฐ" ๋ผ๊ณ  ํ–ˆ๋˜, a) ๋ชฉ๋ก ์กฐํšŒ์—์„œ ์ „์ฒด ์กฐํšŒํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€ ์กฐํšŒ, b) ์กฐํšŒ์กฐ๊ฑด ์ž…๋ ฅ ํ›„ ์กฐํšŒ๋ฒ„ํŠผ์ด ์•„๋‹Œ ๋ ์œผ๋กœ ์ด๋™ ์„ ํƒ => ์•„๋ฌด ๊ฑด๋„ ์กฐํšŒ๋˜์ง€ ์•Š์Œ, c) ์กฐํšŒ์กฐ๊ฑด
์‚ญ์ œํ•˜์—ฌ ์ „์ฒด ์กฐํšŒ => ์ „์ฒด์กฐํšŒ๋Š” ์ •์ƒ์ ์œผ๋กœ ๋˜๋‚˜ ํ•˜๋‹จ ํŽ˜์ด์ง€ ์ˆซ์ž๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ.
4 D dev
-1d
Mornin
g
Login,User-
registration
[ํšŒ์›๊ฐ€์ž…]
(1) ๋กœ๊ทธ์ธ ID ๊ฐ’์— ๋Œ€ํ•ด trim ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์Œ
(2) ID ์ž…๋ ฅ, ์ค‘๋ณต์ฒดํฌ ํ•œ ์ƒํƒœ์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์ €์žฅํ•˜๋ฉด ID ์ค‘๋ณต ์ฒดํฌ๋ฅผ ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ ๋จ
(3) ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฒดํฌ์— ๋Œ€ํ•ด ํ•„์ˆ˜์ž…๋ ฅ ํ‘œ์‹œ ๋ˆ„๋ฝ
(4) (๊ฒ€ํ† ) ์ด๋ฉ”์ผ, ์ „ํ™”๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์˜๋ฌธ์ž ์ž…๋ ฅ ๋“ฑ์— ๋Œ€ํ•ด ์ฒดํฌ ๋กœ์ง ์ ์šฉ์— ๋Œ€ํ•ด ๊ฒ€ํ†  ๊ถŒ๊ณ 
* ID, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ ๊ทœ์น™์€ ๋ฐ˜์˜ ์˜ˆ์ •์ด๋ผ๊ณ  ํ•จ
[๋กœ๊ทธ์ธ] - N/A
[์‚ฌ์šฉ์ž๊ด€๋ฆฌ]
(5) UI ๋ธŒ๋ผ์šฐ์ € ๋ฆฌ์‚ฌ์ด์ฆˆ ์‹œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ๋งŒ ํ•˜๋‹จ ์Šคํฌ๋กค์ด 2๊ฐœ ์ƒ๊ธฐ๋Š” ํ˜„์ƒ ์žˆ์Œ
(6) ์ „์ฒด ํ™”๋ฉด์ด ์•„๋‹Œ ๊ฒฝ์šฐ ํ•˜๋‹จ footer๊ฐ€ ํŽ˜์ด์ง€ ๋„ค๋น„๊ฒŒ์ด์…˜ ์˜์—ญ์„ ๋ฎ๋Š” ํ˜„์ƒ ๋ฐœ์ƒ
(7) (๊ถŒ๊ณ ,๊ณตํ†ต) ์™ผ์ชฝ ๋ฉ”๋‰ด ์ ‘๊ธฐ ์•„์ด์ฝ˜์ด ์žˆ๋Š”๋ฐ ์ ‘์€ ์ƒํƒœ์—์„œ๋Š” ํ™”์‚ด ๋ฐฉํ–ฅ์ด ๋ฐ˜๋Œ€์—ฌ์•ผ ํŽผ์น˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ธ์ง€ํ•˜๊ธฐ ์‰ฌ์šธ ๊ฒƒ์œผ๋กœ ๋ณด์ž„
(8) ์กฐํšŒ ์กฐ๊ฑด์˜ ์‚ฌ์šฉ์—ฌ๋ถ€ ์ฝค๋ณด๋ฐ•์Šค ๊ฐ’์ด ์ง์ ‘ ์„ ํƒ ๋ฐ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•จ
(9) ๋ธŒ๋ผ์šฐ์ € ๋ฆฌ์‚ฌ์ด์ฆˆ ์‹œ ์กฐํšŒ ์˜์—ญ์€ ์ •์ƒ ํ™•์žฅ๋˜๋‚˜, ํ•˜๋‹จ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด ํ™•์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ๋ฐœ์ƒ
(10) ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ • ํŒ์—…์—์„œ ํ•„์ˆ˜๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ID์ค‘๋ณต์ฒดํฌ๋ฅผ ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ž˜๋ชป๋œ ๋ฉ”์‹œ์ง€ ๋ฐœ์ƒ
(11) (๋™์‹œ์„ฑ) A ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ˆ˜์ •(ํŒ์—…)ํ•˜๊ณ  ์žˆ์„ ๋•Œ B ๊ด€๋ฆฌ์ž๊ฐ€ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ์‚ญ์ œ. ๋‹ค์‹œ A ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜์ • ์ €์žฅํ•˜๋ฉด ๋ฉ”์‹œ์ง€ ์ƒ์œผ๋กœ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์ •๋˜์—ˆ๋‹ค๊ณ 
ํ‘œ์‹œ๊ฐ€ ๋จ(ํ•ด๋‹น ์‚ฌ์šฉ์ž๋Š” ์‚ญ์ œ) - ์„œ๋ฒ„ ์ƒ์—์„œ ์ˆ˜์ •ํ•˜๋ ค๋Š” id๊ฐ€ ์—†์–ด์„œ ์ •์ƒ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ˜„์ƒ ๋•Œ๋ฌธ์œผ๋กœ ๋ณด์ž„.
5 E dev
-1d
afterno
on
Menu-
management
[๋ฉ”๋‰ด๊ด€๋ฆฌ]
(1) ๋ฉ”๋‰ด์— ๋Œ€ํ•ด ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ์ˆ˜์ •ํ•ด๋„ ํƒ€ ํ™”๋ฉด ํŒ์—…์—์„œ ๋ฉ”๋‰ด๊ฐ€ ์กฐํšŒ๋จ
(2) ๋ฉ”๋‰ด ํ•˜์œ„์˜ ๋ฉ”๋‰ดํŽ˜์ด์ง€ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด N์œผ๋กœ ์ˆ˜์ •ํ•ด๋„ Y๋กœ ๋‹ค์‹œ ๋ณ€๊ฒฝ๋˜์–ด ์กฐํšŒ ๋จ
(3) ๋ฉ”๋‰ด ํ•˜์œ„์˜ ๋ฉ”๋‰ดํŽ˜์ด์ง€ ์‹ ๊ทœ ์ถ”๊ฐ€์‹œ ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ํ•˜๊ณ  ์ถ”๊ฐ€ํ•˜๋ฉด ์ถ”๊ฐ€๋Š” ๋˜์—ˆ๋‹ค๊ณ  ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ๋˜๋‚˜
์‹ค์ œ๋กœ๋Š” ์ €์žฅ ์•ˆ ๋จ
(4) ๋ฉ”๋‰ด ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋“ฑ๋กํ•œ ํ›„ ์‚ญ์ œํ•˜๋ฉด, ์‚ญ์ œ๊ฐ€ 1,2๊ฑด๋งŒ ๋˜๊ณ  ์ดํ›„ ์‚ญ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Œ
(5) ํ•˜๋‚˜์˜ ๋ฉ”๋‰ด์— ๋Œ€ํ•ด ๋™์‹œ์— ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ ์ ‘๊ทผํ•˜๋Š” ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด
A๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ B๊ฐ€ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ A์—์„œ ๋‹ค๋ฅธ ๋™์ž‘์„ ํ•˜๋ฉด "์•Œ ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค"
๋ผ๋Š” ์ƒํ™ฉ์„ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋จ
(6) UI ๋ธŒ๋ผ์šฐ์ € ๋ฆฌ์‚ฌ์ด์ฆˆ ์‹œ ์กฐํšŒ ์˜์—ญ์€ ์ •์ƒ ํ™•์žฅ๋˜๋‚˜, ํ•˜๋‹จ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด ํ™•์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ๋ฐœ์ƒ
Early testing,
easy to understand and fix
Not just finding defects,
but also chances to define the dev standards
in real time
โ€ป Test Code Pair-programming
- developers can learn how to write test code in the specific cases.
testers can know better about dev code
- Testers can talk about quality aspects in dev code level
Well, at first, letโ€™s write the most basic case which
We can debug what we write.
after that, everytime you need to check your code or
Debug, add more tests cover those cases
In someway, we can check the test coverage, it will
help us if we should add more tests or not
Should I write test code for this part? That is
too much and difficult to synchโ€ฆ
I. Introduction
II. Engineering activities
1. Early testing education
2. Test design
3. Test code guide
4. Pair-testing, programming
5. Test-Automation
III. Strategic activities
IV. Other activities
V. Conclusion
Test Automation plan
- project customized Test automation plan should be established
RDMBS
DAO implementations
DAO interfaces
Service implementations
Service interfaces
Other remote
interfaces
Data Access
Layer
Service
Layer
Presentation
Layer
Web UI Test
Controller
REST API
UI
55 โˆš
Controller Test
Service Test
DAO Test
RESTful API Test
โˆš
11
22
33
44 โˆš
Test
Level
Target Tools
Unit
Test
(Sprint)
DAO Junit
Service Junit
REST API SoapUI
Web UI Pair-testing
Sprint
Integration
Test
Internal
Workflow
Selenium
(+Sikuli)
Integration
External/Legacy
Selenium
/ Manual
Integration
Test
Internal/External
Workflow
Manual
User
Test
Internal/External
workflow
Manual
[Example: Test automation strategy ]
Test Automation Infra in early phase
Customer,
Other stakeholders
Product
Manager
Dev team
Shared & visualized
Test results Okay.
We are
coding&testing
My tests are ok.
Junit test reports
Test coverages
(Method,Line,Bran
ce, etc)
Code Inspection
(PMD,โ€ฆ)
Jekins
(+SonarQube?)
[Example: Test automation ]
I. Introduction
II. Engineering activities
III. Strategic activities
1. Test Strategy/Plan
2. Test analysis/report
3. Other Professional services
IV. Other activities
V. Conclusion
Test Strategy
(Example 1) Client-Server application
- define โ€˜Test Levelsโ€™ like (1)Unit testing, (2)Integration1(Client, Server each),
(3)Integration2(Client-Server) and each levelโ€™s purpose, target, role, method
User Env
Unit
Testing
Intg
Testing 1
Intg
Testing 2
Acceptance
Testing
๊ฐ ๋ฉ”์†Œ๋“œ(๋˜๋Š” ๋‹จ์œ„ ๊ธฐ๋Šฅ)์— ๋Œ€ํ•ด
๋‹ค์–‘ํ•œ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ๋งŒ๋“ค์–ด ๋ฉด๋ฐ€ํžˆ ํ…Œ์ŠคํŠธ
์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ ๊ฐ ์˜์—ญ ์•ˆ์—์„œ
์—ฌ๋Ÿฌ ๋‹จ์œ„๊ธฐ๋Šฅ๋“ค์˜ ๋ฌถ์Œ์— ๋Œ€ํ•ด ๊ธฐ๋Šฅ ํ๋ฆ„์„
๋ช‡ ๊ฐ€์ง€๋กœ ์ •์˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ
์„œ๋ฒ„ - ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๋™ ๊ด€์ ์—์„œ
๊ธฐ๋Šฅ ํ๋ฆ„์„ ๋ช‡ ๊ฐ€์ง€๋กœ ์ •์˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ
XXXeaXXXea
XeaXea
XXeaXXea
????
์‚ฌ์šฉ์ž ๊ด€์ (์‚ฌ์—…๋ถ€)์—์„œ ์ œํ’ˆ์„ ์–ด๋–ป๊ฒŒ
์‚ฌ์šฉํ• ์ง€ ํ๋ฆ„์„ ์ •์˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ
Client Server
Mod A
Mod B
Mod C
Mod D
Mod E
Mod F
Unnit Test
Acceptance Testing
Intg 1
Intg 1
Intg 2
(Example 2) Cascading Framework considered Unit/Intg Testing
- define Unit / Integration testing cosidering targetโ€™s architecture and functional roles
Unit Test
: targets one Pipe mainly
Integration Test
: targets workflows from Source to
Sink(or failed end)
(Example 3) Hardware-Software integratied product
- define various test approach in various dev phase
: Software level Unit/intg testing, Hardware-Software integrated testing, real
environment testing etc
Level Software testing On board testing Simulated Env Real Env
Description
Software Unit/Intg testing for
Java programs
Application interface testing.
Hardware, software integration
checking
Simulated, down-scaled
environment testing
Real Envronment
Methods
Junit With test scenarios With business scenarios With business scenarios
In charge
Dev team(testers) Dev team(testers) Dev team, Customers Customers/Dev team
์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜
์ •๋ณด
ํŒŒ์ผ
์„ผ์„œ,
ํ•˜๋“œ์›จ์–ด
I. Introduction
II. Engineering activities
III. Strategic activities
1. Test Strategy/Plan
2. Test analysis/report
3. Other Professional services
IV. Other activities
V. Conclusion
Test Result Report & Assets
Dev/Quality issues based on test result refine best practices, documents, guides
I. Introduction
II. Engineering activities
III. Strategic activities
1. Test Strategy/Plan
2. Test analysis/report
3. Other Professional aids
IV. Other activities
V. Conclusion
[ Refinement about Test requirements ]
- Functional, Non-Functional requirements
- Test Plan for Non-Functional testing
[ Customized test strategy ]
- Architecture level test plan
- Communications with several group(dev, customer,
etc)
[ Items ]
- Purpose, Levels
- Input/Output, Entry/Exit Criteria
- Test env
- Roles and Responsibility
- Schedule
Test related documents(Plan, Scenario, etc) template, guide and drafts
ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ๊ณ„ํš์„œ๊ณ„ํš์„œ๊ณ„ํš์„œ
Standized documents template and guide
FunctionalFunctionalFunctionalFunctional
TestTestTestTest
ReportReportReportReport
Standardized and Reliable Test Service
at the end of project
Total Quality reportTotal Quality reportTotal Quality reportTotal Quality report
. Functional Testing result
. Performance Testing result
. Security Testing result
. Software License verification
. Code Inspection result
โ€ฆโ€ฆ
Regularly
I. Introduction
II. Engineering activities
III. Strategic activities
IV. Other activities
1. 3 Amigos
2. Code review
3. Code Inspection(tool)
4. Standard Process advisor
V. Conclusion
Testing was a communication channel during the develoment
- readable, visible approach as possible to show and get feedback to customers
Customer
Ahha,
Graphical test case documents Complex workflow to real world
Publish readable TestCase Spec documents with TestCode comments
- in-house tool which parse testcode comments and publish test specification on web
โ€ฆ
Customer
Readable, Real-time,
Synchronized Test
Specification
@author
@Desc
@Step
@Input
@Expected
@Name
@TC_ID
GenerateGenerate
Writing comments
Other developer Dev lead,
tester
I. Introduction
II. Engineering activities
III. Strategic activities
IV. Other activities
1. 3 Amigos
2. Code review
3. Code Inspection(tool)
4. Standard Process guide
V. Conclusion
Dev, Test code review (Online)
- Formal process for devcode review is done, testers mainly review testcode
- reviews testcaseโ€™s purpose, assertion and also work with test-coverage by checking
which line or branch covered or not
- if necessary, devcode review perfomed(often needed)
Test code review example
- The test method name should be
test{target}_{prupose}_seq.
- Each test method should test one purpose.
- Copy&paste โ€˜throws Exceptionโ€™ to each test method.
We donโ€™t need to exception handling (try,catch) in test
code
- If you want to test the specific Exception occur, just
type the exact exception name not general โ€˜Exceptionโ€™.
And use โ€˜failโ€™ statement just after the line you expect for
code readers
- External resource(File..) should be referenced in relative
path not fixed path in your pc
Dev Code review example
- Not covered toString method in test code.
One more thin, Eh,.. Itโ€™s better to return at least empty
String like โ€œโ€ rather than nullโ€ฆfor toString() methods. It
can occur NullPointerException if somenone uses and in
some case.
- This checking code is not covered in testing.
Well, you are double checking, so it looks impossible to
reach that code. Need to refactor.
- This several catch clauses are not reachableโ€ฆ
In my opinion, you can replace higher exception class than
lower ones
- This method will return null, if somethingโ€™s wrong, but
the callers are not prepared. It needs to be considered
Rules and Occurrence
Code Inspection tool drive from the beginning
- Code Inspection tool(PMD) setting in the beginning of the project
- Detailed code guide for Top 10 violations regularly
Top 10, Rule explanation and solution, alternatives
PMD, security, performance,
Official process, etc
Quality/Test
Shared Service
Dev Team
Shared SA
Fortify, white hacking
~~
Shared TA
PMDPMD
SecuritySecurity
PerformancePerformance
PMD Rule customizing
meeting
Security testing
meeting
Performance test
meeting
. How to measure web client response time(any tools)?
. How to test JavaScript?
. What is the official process to finish the project?
HelpDesk for other quality services
- As a quality member, introduce what to do, how to do in quality
- explain similar project cases and its pros/cons
I. Introduction
II. Engineering activities
III. Strategic activities
IV. Other activities
V. Conclusion
1. retrospectives
2. Final message
3. Career path in testing
Retrospective 1
person Good Bad
C With PMD, I could learn a lot about coding.
I could have experienced TDD
I failed TDD..
D Anyway finished, itโ€™s good!!!
With test cases co-writing, I could learn my
code myself.
Too short deadline
Documents synchrozing
E Test code, PMD helped my coding skill Too short time schedule
G At first, I didnโ€™t believe testers cannot be
helpful, but now we together worked for the
productโ€™s quality. That is important
Tight time scheduling
Test Scenario planning was so good, it should
be happened in very early phase.
H
(PM)
Well, I have never thought co-working with testers in dev phase. Next time, this approach will
be basic.
โ€œI thought they would do nothing because they knew nothing about algorithm,
but what they did was that helping me understanding my product wellโ€
Retrospective 2
[ Pair-testing ]
(Good) Lots of bugs couldโ€™ve been found. Pair-testing in Web UI was much more effective than
test code programming. It was good to hear other projects, other developers cases
(Bad) 30 or 40min is too short, I want to do more.
[ Test Scenario(cases) co-review ]
(Good) Well, I learned how you approach. It was much easier to think how to test.
(Bad) We changed requirements and test cases, that contents are not shred.
[ testcode pair-programming ]
(Good) It was good to show how Junit test code is written in detail. It was so easy after checking what you made.
(Bad) I needed to be prepared. I didnโ€™t know much about Junit itself
[ Other words? ]
(Good) Time-boxing for every activity (30min, 40min) was really good.
(Bad) Well, I think there should be sessions that we talk what we should develop and test together.
Only with us, developers, we say similar things with similar views. Letโ€™s work together.
Final Message
Dev TeamDev Team TestTest CustomerCustomer
ํ…Œ์ŠคํŠธ ๊ฐ•ํ™”๋กœ ์ œํ’ˆ
์˜ ๊ธฐ๋Šฅ& ํ’ˆ์งˆ ํ™•๋ณด
๊ด€๋ จ ํ”„๋กœ์„ธ์Šค,์‚ฐ์ถœ
๋ฌผ ๊ฐ€์ด๋“œ๋กœ ๊ณผ์ œ ์ž
์ฒด์— ๋Œ€ํ•ด ๋” ์ง‘์ค‘
๊ฐ€๋Šฅ
์ฝ”๋“œ ๋ฆฌ๋ทฐ, ๋‹จ์œ„ํ…Œ
์ŠคํŠธ ๋ฐฉ์•ˆ ๊ฐ€์ด๋“œ๋กœ
๊ฐœ๋ฐœ ๊ด€์ ์˜ ํ’ˆ์งˆํ™œ
๋™ ์ˆ˜ํ–‰
๊ฐœ๋ฐœ ์‹œ์ž‘๋ถ€ํ„ฐ 3์ž
(์‚ฌ์šฉ์ž) ๊ด€์ ์—์„œ
์ง€์†์ ์ธ ํ”ผ๋“œ๋ฐฑ์œผ
๋กœ ํ˜‘์—…
๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ํ”„๋ž™
ํ‹ฐ์Šค์— ๋Œ€ํ•œ ์ ์šฉ ๊ฒฝ
ํ—˜ ์ถ•์ (์†Œ๊ทœ๋ชจ ๊ณผ
์ œ)
๊ฐœ๋ฐœ ๋งˆ์ง€๋ง‰์—๋งŒ ํ•˜
๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ
๊ฐœ๋ฐœ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ๋Šฅ๋™
์ ์ด๊ณ  ์ ๊ทน์ ์œผ๋กœ
ํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰
๊ฐœ๋ฐœํŒ€-๊ณ ๊ฐ ์‚ฌ์ด์—
์„œ ๊ฐ€๊ต ์—ญํ• 
๊ธฐ๋ณธ ํ’ˆ์งˆ์ด ํ™•๋ณด๋œ
์ œํ’ˆ ๋”œ๋ฆฌ๋ฒ„๋ฆฌ
ํ…Œ์ŠคํŠธ ๋‚ด์šฉ (์‹ค์‹œ
๊ฐ„)๊ณต์œ ๋ฅผ ํ†ตํ•ด ์ œํ’ˆ
์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ํŒŒ์•…
๊ฐ€๋Šฅ
์ œํ’ˆ์— ๋Œ€ํ•œ ๊ณ ๊ฐ ๊ด€
์ ์˜ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต ๊ฐ€
๋Šฅ
win-win win-win
Easy Understanding
User centric product delivery
Easy Understanding
User centric product delivery
Synergy by working together
Testerโ€™s Job shifting
DEV
TEST
CUST
OMER
Test doesnโ€™t know
how much we are
Burdened (crying.)
Dev doesnโ€™t know what
I want(Crying..)
No documents.
Everyoneโ€™s busy (Crying..)
AS-IS
DEV TEST
CUST
OMER
TEST
Test repsents us to dev
(Thnx~)
Test came to help me
(smile~)
My job is helpful for dev(smile~)
Became active (real) member
To deliver the right product(smile~)
TO-BE
Various Test careerpaths
- as many as various work needed, as many as various job needed
methodolgi
st,
SA,TA,DA,โ€ฆ
develo
per
PM
PL
Tool
engineer
Dev project
Tester Test Lead
Test Engineer Test Architect
Test Manager
Tester
TM
TL
Test project
Test Strategy
Education, guide
Manual, Automation
Support
Q & A
Do you think testers can write business test scenario?
Why testers care about Unit-testing?, It is the job for developers.
The activities are too many, do you mean we should do them all?
Basically, every member(including customers) should participate in
writing business test scenario and evolved during the whole project period.
Who is in charge to write the draft depends on projectโ€™s conditions
Well, Unit-testing is the developerโ€™s job. Thatโ€™s right.
However as quality people, we can check anywhere the quality exists, and
give them feedback with our profession, quality.
Moreover we can learn much about product internally.
Of course not. The message is just delivering co-work with dev.
Each person(testers) has different background, skills, interests, I just wanted to
Introduce various activities and make them as one, each career path
T.H.A.N.K Y.O.U

More Related Content

What's hot

Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingMaveryx
ย 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
ย 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowRachid Kherrazi
ย 
Benefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldBenefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldDror Helper
ย 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
ย 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven DevelopmentPablo Villar
ย 
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Hong Le Van
ย 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Wolfgang Grieskamp
ย 
Client Side Unit Testing
Client Side Unit TestingClient Side Unit Testing
Client Side Unit Testingcloud chen
ย 
Google test training
Google test trainingGoogle test training
Google test trainingThierry Gayet
ย 
Hands-on Experience Model based testing with spec explorer
Hands-on Experience Model based testing with spec explorer Hands-on Experience Model based testing with spec explorer
Hands-on Experience Model based testing with spec explorer Rachid Kherrazi
ย 
Selenium interview-questions-freshers
Selenium interview-questions-freshersSelenium interview-questions-freshers
Selenium interview-questions-freshersNaga Mani
ย 
Unit Test + Functional Programming = Love
Unit Test + Functional Programming = LoveUnit Test + Functional Programming = Love
Unit Test + Functional Programming = LoveAlvaro Videla
ย 
Unit testing
Unit testingUnit testing
Unit testingprincezzlove
ย 
Testing In Java
Testing In JavaTesting In Java
Testing In JavaDavid Noble
ย 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD introVitaliy Kulikov
ย 
Ajit jadhav automation_qa_4_ yrs
Ajit jadhav automation_qa_4_ yrsAjit jadhav automation_qa_4_ yrs
Ajit jadhav automation_qa_4_ yrsAjit Jadhav
ย 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit TestingJoe Tremblay
ย 

What's hot (20)

Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
ย 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
ย 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
ย 
Benefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldBenefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real World
ย 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
ย 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
ย 
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++
ย 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
ย 
Unit testing (eng)
Unit testing (eng)Unit testing (eng)
Unit testing (eng)
ย 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
ย 
Client Side Unit Testing
Client Side Unit TestingClient Side Unit Testing
Client Side Unit Testing
ย 
Google test training
Google test trainingGoogle test training
Google test training
ย 
Hands-on Experience Model based testing with spec explorer
Hands-on Experience Model based testing with spec explorer Hands-on Experience Model based testing with spec explorer
Hands-on Experience Model based testing with spec explorer
ย 
Selenium interview-questions-freshers
Selenium interview-questions-freshersSelenium interview-questions-freshers
Selenium interview-questions-freshers
ย 
Unit Test + Functional Programming = Love
Unit Test + Functional Programming = LoveUnit Test + Functional Programming = Love
Unit Test + Functional Programming = Love
ย 
Unit testing
Unit testingUnit testing
Unit testing
ย 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
ย 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD intro
ย 
Ajit jadhav automation_qa_4_ yrs
Ajit jadhav automation_qa_4_ yrsAjit jadhav automation_qa_4_ yrs
Ajit jadhav automation_qa_4_ yrs
ย 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit Testing
ย 

Similar to When develpment met test(shift left testing)

201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
ย 
Test team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพ
Test team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพTest team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพ
Test team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพSigma Software
ย 
Introduction to TDD
Introduction to TDDIntroduction to TDD
Introduction to TDDAhmed Misbah
ย 
Software Testing - Day One
Software Testing - Day OneSoftware Testing - Day One
Software Testing - Day OneGovardhan Reddy
ย 
Testing 101
Testing 101Testing 101
Testing 101Noam Barkai
ย 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptitadmin33
ย 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptTrevorChinguwo
ย 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 pptDr VISU P
ย 
Exploratory Testing in a chaotic world to share
Exploratory Testing in a chaotic world   to shareExploratory Testing in a chaotic world   to share
Exploratory Testing in a chaotic world to shareDoron Bar
ย 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesTriTAUG
ย 
Test driven development v1.0
Test driven development v1.0Test driven development v1.0
Test driven development v1.0Ganesh Kondal
ย 
Quality assurance in the early stages of the product
Quality assurance in the early stages of the productQuality assurance in the early stages of the product
Quality assurance in the early stages of the productMaksym Vovk
ย 
Unit Testing
Unit TestingUnit Testing
Unit TestingAnuj Arora
ย 
Test-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate WorkplaceTest-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate WorkplaceAhmed Owian
ย 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx14941
ย 

Similar to When develpment met test(shift left testing) (20)

201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
ย 
Test team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพ
Test team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพTest team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพ
Test team dynamics, ะะฝั‚ะพะฝ ะœัƒะถะฐะนะปะพ
ย 
Introduction to TDD
Introduction to TDDIntroduction to TDD
Introduction to TDD
ย 
Debugging
DebuggingDebugging
Debugging
ย 
Software Testing - Day One
Software Testing - Day OneSoftware Testing - Day One
Software Testing - Day One
ย 
Testing 101
Testing 101Testing 101
Testing 101
ย 
Gcs day1
Gcs day1Gcs day1
Gcs day1
ย 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
ย 
TDD Best Practices
TDD Best PracticesTDD Best Practices
TDD Best Practices
ย 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.ppt
ย 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
ย 
Tdd
TddTdd
Tdd
ย 
Exploratory Testing in a chaotic world to share
Exploratory Testing in a chaotic world   to shareExploratory Testing in a chaotic world   to share
Exploratory Testing in a chaotic world to share
ย 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and Challenges
ย 
Test driven development v1.0
Test driven development v1.0Test driven development v1.0
Test driven development v1.0
ย 
Quality assurance in the early stages of the product
Quality assurance in the early stages of the productQuality assurance in the early stages of the product
Quality assurance in the early stages of the product
ย 
Unit Testing
Unit TestingUnit Testing
Unit Testing
ย 
Resume
ResumeResume
Resume
ย 
Test-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate WorkplaceTest-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate Workplace
ย 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
ย 

More from SangIn Choung

์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ
์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ ์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ
์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ SangIn Choung
ย 
๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ
๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ
๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผSangIn Choung
ย 
jacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐ
jacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐjacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐ
jacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐSangIn Choung
ย 
์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€
์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€
์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€SangIn Choung
ย 
UI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒ
UI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒUI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒ
UI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒSangIn Choung
ย 
SI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œ
SI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œSI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œ
SI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œSangIn Choung
ย 
์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€
์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€
์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€SangIn Choung
ย 
์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018
์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018
์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018SangIn Choung
ย 
[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)
[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)
[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)SangIn Choung
ย 
[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)
[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)
[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)SangIn Choung
ย 
katalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
katalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œkatalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
katalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œSangIn Choung
ย 
Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ SangIn Choung
ย 
testing for agile?, agile for testing
testing for agile?, agile for testingtesting for agile?, agile for testing
testing for agile?, agile for testingSangIn Choung
ย 
SDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌ
SDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌSDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌ
SDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌSangIn Choung
ย 
(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ
(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ
(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”ŒSangIn Choung
ย 
sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€
sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€
sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€SangIn Choung
ย 
์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต
์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต
์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ตSangIn Choung
ย 
Coded ui๊ฐ€์ด๋“œ
Coded ui๊ฐ€์ด๋“œCoded ui๊ฐ€์ด๋“œ
Coded ui๊ฐ€์ด๋“œSangIn Choung
ย 
(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)
(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)
(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)SangIn Choung
ย 
ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜
ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜
ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜SangIn Choung
ย 

More from SangIn Choung (20)

์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ
์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ ์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ
์šฐ๋ฆฌ ์ œํ’ˆ์˜ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค ์†Œ๊ฐœ ์ž๋ฃŒ
ย 
๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ
๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ
๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ pytest ์ž๋™ํ™” ์ ‘๊ทผ
ย 
jacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐ
jacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐjacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐ
jacoco๋ฅผ ์ด์šฉํ•œ ๋งค๋‰ด์–ผ ํ…Œ์ŠคํŠธ์˜ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •ํ•˜๊ธฐ
ย 
์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€
์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€
์ง ํ…Œ์ŠคํŠธ(Pair Testing) ์†Œ๊ฐœ์™€ ์‚ฌ๋ก€
ย 
UI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒ
UI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒUI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒ
UI๋นˆ๋ฐœ๊ฒฐํ•จ ๋ฐ ํ…Œ์ŠคํŠธ์˜ ํ•„์š”์„ฑ ์ดˆ๊ธฐ๊ต์œก์ž๋ฃŒ
ย 
SI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œ
SI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œSI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œ
SI ํ™”๋ฉดํ…Œ์ŠคํŠธ(๋‹จ์œ„) ๊ฐ€์ด๋“œ
ย 
์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€
์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€
์œ„ํ—˜๊ธฐ๋ฐ˜ํ…Œ์ŠคํŠธ์ ‘๊ทผ ํ…Œ์ŠคํŠธ๊ณ„ํš ์‚ฌ๋ก€
ย 
์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018
์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018
์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ด€๋ จ ์„ค๋ฌธ ๋ฐ ๊ฐœ์„ ๊ณ„ํš์ˆ˜๋ฆฝ in 2018
ย 
[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)
[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)
[๊ณ ๊ธ‰๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ต์œก(์‹ค์Šต์œ„์ฃผ)
ย 
[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)
[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)
[๊ธฐ๋ณธ๊ณผ์ •] ์ฝ”๋“œ ํ…Œ์ŠคํŠธ์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ธฐ๋ณธ ๊ต์œก(๊ฐœ๋…)
ย 
katalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
katalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œkatalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
katalon studio ํˆด์„ ์ด์šฉํ•œ GUI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
ย 
Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
Postman๊ณผ Newman์„ ์ด์šฉํ•œ RestAPI ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ฐ€์ด๋“œ
ย 
testing for agile?, agile for testing
testing for agile?, agile for testingtesting for agile?, agile for testing
testing for agile?, agile for testing
ย 
SDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌ
SDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌSDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌ
SDET ์ธ๋ ฅ ์–‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ์‚ฌ๋ก€ ์ •๋ฆฌ
ย 
(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ
(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ
(์• ์ž์ผ) ํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ ์ƒ˜ํ”Œ
ย 
sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€
sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€
sdet์ˆ˜ํ–‰ ์‚ฌ๋ก€
ย 
์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต
์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต
์—”์ง€๋‹ˆ์–ด๋ง๊ด€์ ์—์„œ ํ…Œ์ŠคํŠธ ๊ฐœ์„ ๋ฐฉ์•ˆ ์งˆ์˜ ์‘๋‹ต
ย 
Coded ui๊ฐ€์ด๋“œ
Coded ui๊ฐ€์ด๋“œCoded ui๊ฐ€์ด๋“œ
Coded ui๊ฐ€์ด๋“œ
ย 
(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)
(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)
(ํŽธ์ง‘-ํ…Œ์ŠคํŠธ์นดํŽ˜ ๋ฐœํ‘œ์ž๋ฃŒ) 1์ธ QA ์ˆ˜ํ–‰์‚ฌ๋ก€๋กœ ๋ฐœํ‘œํ•œ ์ž๋ฃŒ (Wํ”„๋กœ์ ํŠธ ์‚ฌ๋ก€)
ย 
ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜
ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜
ํ…Œ์ŠคํŠธ์ˆ˜ํ–‰์‚ฌ๋ก€ Wํ†ตํ•ฉ๋ณด์•ˆ์†”๋ฃจ์…˜
ย 

Recently uploaded

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
ย 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
ย 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
ย 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
ย 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
ย 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto Gonzรกlez Trastoy
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
ย 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
ย 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfWilly Marroquin (WillyDevNET)
ย 
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธDelhi Call girls
ย 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
ย 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
ย 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Steffen Staab
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
ย 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
ย 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
ย 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
ย 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
ย 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
ย 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
ย 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
ย 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
ย 
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
ย 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
ย 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
ย 

When develpment met test(shift left testing)

  • 1. When Dev met Test (The future of software testing) 2016.01 by JungGun home: genycho.blog.me
  • 2. role : specialist actor : domain expert role : generalist actor : test specialist Developer Tester When dev met test 2015 remade in Software testing
  • 3. This is aboutโ€ฆ Message 1: Co-Work (3Amigos) Message 2: Shift-left-testing (early testing activities) Several cases that test people co-worked with development team closely Not only about testing, but also about dev quality
  • 4. I. Introduction II. Engineering activities III. Strategic activities IV. Other activities V. Conclusion
  • 5. Target projects Small, Research&Dev project (Trendy technology related) Video, Data analystics, Network&Security, IoT based projects Current quality level was low, but the impact was huge Small(~12people) Internal funding Flexible requirements Complex, Trendy tech Young, Highly educated Human resource Testability๊ฐ€ ๋–จ์–ด์ง€๋Š” Low quality concept
  • 6. Test Operation organization Flexible test resource managing (Shared Service) for small, multiple projects Each person has one or two specialized domain area Big Data VA, IoT Security, Network Domain study Test Strategy Test Education Test Design Test Scripting Testware dev, Automation Test Execution Quality Review 0.25 0.25 0.25 0.25 0.5 0.25 0.5 0.25 Project A Project B Project 1 Project 2 a project TM TE TM TE TM TEโ€ป Shared Service โ€ป Practices & effort
  • 7. Projects information (2014yr~2015yr) Mobile authentication Security FIDO - external requests Admin portal(re-usable asset) Web application Admin portal 6 external requests projects technology Target domain Dev size (people) challenges, difficulty, etc MES bigdata analytics Data Analytics Manufacture Factory 5 Verifying statistics functions result and the integration with big data platform Crypt/DeCrypt algorithm Security (en/decryption) Encryption/decrypti on 3 Complex security algorithm, Integration with Legacy system Logistics demand prediction engine Data Analytics Logistics 4 complex prediction algorithm based of rules Integration with legacy system IoT based smart factory(Smart OHT) IoT Semiconductor manufacturing 6 Understanding IoT(hardware+software) technology and its Testability political issues with customers
  • 8. I. Introduction II. Engineering activities 1. Early testing education 2. Test design 3. Test code guide 4. Pair-testing, programming 5. Test-Automation III. Strategic activities IV. Other activities V. Conclusion
  • 9. Customized quality education To prevent defects, project-customized education in the early phase ( An example about outline ) - what test activities will be done and why - Frequently occurred defects based on similar doman, technology - How to write (User) test scenario & the basic of test design - Intro about sample unit test code with very early dev code - Test Automation introduction with Jenkins
  • 10. > Education: sharing the test plan - what test activities will be done and why - the whole test cycle, roles&responsibility - be able to get feedback by sharing with dev
  • 11. > Education: Test Design guide - the difference with Unit & Integration testing - the template of test scenario and guide - basic test design technique - practical guide with other input documents
  • 12. > Education: Sharing old defects, cases - defects and test cases based on the productโ€™s domain, technology [ defects(Web) ] [ Quality guide for API ] API Development Standards on quality - Logging - Exception handling & error code - API Spec guild - Unit test checklists
  • 13. I. Introduction II. Engineering activities 1. Early testing education 2. Test design 3. Test code guide 4. Pair-testing, programming 5. Test-Automation III. Strategic activities IV. Other activities V. Conclusion
  • 14. What Test Design - The thinking process to test effectively and efficiently. - because the projects were mainly a kind of pure algorithm libray, they were so complex and needed to design test cases well. Black-box approach - initial test approach was black-box which design tests with specification - various documents โ€“ requirements, algorithm description, Architecture doc etc - because they were so vague or insufficient to understand the algorithm, we focused on visualizing the logic to share the understanding with customers White-box approach - the real code was the best documents - made the domain-specific dev-code checklist - do offline reviews with dev code or unit-testing code (regular pair-programming) โ€ป Grey-box testing? - basically do blackbox-testing while checking dev code
  • 15. โ€ป Wait!, Who is the best person do test design? - Test Desing should be done by Testers!!! - They can do anyhow, but do they know what custmer really wants? Business Analyst Customer Tester โ€œANALYSTS!!!โ€ (pros): knows well the businees and dev both. Need to be reviewed what they analyzed (cons) : not know about testing technique โ€œTESTERS!!!โ€ (pros) : test experts, experienced in many domain, focused on testing (cons) : need to understand requirements fully โ€œCUSTOMERS!!!โ€ (pros): best know about business (cons): no time, no tes or IT knowledge Who shuld do test design? The answer depends on โ€˜Test Levelโ€™ or โ€˜typeโ€™, but basically everyone should work together.
  • 16. Step 1) Understanding with documents, interviews, everything as possible Step 2) Sharing what understood and getting feedback (Example) Analyzing old test scenarios find questions to confirm And test conditons Make checklist, diagrams to share with dev team
  • 17. Step 1) Understanding with things โ€“ documents, interviews Step 2) Sharing what understood and getting feedback (Customer) Easy to understand with diagrams (Developers) With the checklists, I was able to self-define the detail parts (Product Manager) Visual diagram can help potential stakeholders to understand our product I can give the team more detailed requirements
  • 18. >Test Design: Test Coverage reviews - testers review test coverage (line&branch coverage) on real code - if needed, they add more test cases or ask developers to do TC add) need to test server and client different version check test Coverage check) The code is not reachable(double checking) Need to delete
  • 19. โ€ป (Example) Graphical approach to review If the documents are insufficient, dev code is the best documents. First, draw any diagrams if it can be helpful, then review the logic, workflow with various stakeholders ์†Œ์Šค ์ฝ”๋“œ ๊ตฌ์กฐ-Process ์ฒ˜๋ฆฌ์—ฌ๋ถ€ ๊ตฌ์กฐ-Log ์ฒ˜๋ฆฌ ๊ตฌ์กฐ-Exception ์ฒ˜๋ฆฌ ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฒดํฌ input table ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ output table ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ ํ•ด๋‹น ์ปฌ๋Ÿผ๋ช…์ด ์—†๋Š” ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ ๋กœ์ง ์ƒ์˜ if ๋ฌธ ์กฐ๊ฑด ๋‚˜์—ด ๊ณ„์‚ฐ์‹์—์„œ ์ž…๋ ฅ๊ฐ’ ์ง์— ๋”ฐ๋ผ ๋ถ„์ž or ๋ถ„๋ชจ๊ฐ€ 0์ด ๋˜๋Š” ๊ฒฝ์šฐ ์ฝ”๋“œ ๋‚ด์— ํ˜• ๋ณ€ํ™˜(๋ฌธ์ž -> ์ˆซ์ž, ์ˆซ์ž-> ๋ฌธ์ž, Double- >int ๋“ฑ) ๋กœ์ง ์ˆ˜ํ–‰ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์—๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋„ฃ์–ด์ฃผ๊ณ  ์žˆ๋Š”์ง€ Ex 1) the sequence of dev code 2) Code review checklist (a) main structure (b) logging (c) exception handling โ€ฆ (f) if conditions โ€ฆ (j) calculation (k) type casting
  • 20. I. Introduction II. Engineering activities 1. Early testing education 2. Test design 3. Test code guide 4. Pair-testing, programming 5. Test-Automation III. Strategic activities IV. Other activities V. Conclusion
  • 21. Customized Test Code guide - To minimize the learning curve to write unit-test code . language - Java, C/C++, JavaScript, Scala(Spark) . Specific framwork based test code(Spring fr, MapReduce, Spark, Kuraโ€ฆ) Target Guide Type Complex pure algorithm Various Test conditons and cases junit C language program Tool research, Gtest pilot GoogleTest Big Data Data-driven testing using Junit, MRUnit MRUnit(MapRedu ce), ScalaTest(Spark) Complex prediction algorithm Unit/Intg test code with Junit, CascadingUnit, Various test cases Cascading IoT based software unit-testing mocking Hardware parts Eclipse Kura Framework Web application various test cases on various layers Spring Framework Target to Test (TC1) basic workflow [ Basic Test Approach ] (TC2) code branched workflow (TC3) specific business workflow (TC4) exception workflow โ€ฆ [ Projects ]
  • 22. โ€ป (Example) Structured Test code - To easy-maintain, data-driven testing - Naming, Comments guide Test Code Structure FaroServiceTestCase - ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ ์ „ ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ ์˜ ์„ค์ • ํŒŒ์ผ ๋กœ๋”ฉ - ๋งค ํ…Œ์ŠคํŠธ ํ›„ ํ…Œ์ŠคํŠธ ์ด์ „ ์ƒํƒœ๋กœ DB ์ดˆ๊ธฐํ™” - ํŠน์ • ์ฟผ๋ฆฌ๋ฌธ์„ ์ง์ ‘ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต ๋“ฑ SampleServiceTest @Autowired๋กœ ๊ฐ์ฒด ์ฃผ์ž… ํ›„ - ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ - ๋‹ค๋ฅธ ํ๋ฆ„ ํ…Œ์ŠคํŠธ - ์ž˜๋ชป๋œ ํ‚ค ๊ฐ’ ๋“ฑ์˜ ํ…Œ์ŠคํŠธ - ํ•„์ˆ˜์ž…๋ ฅ ๋ˆ„๋ฝ ๋“ฑ์˜ ํ…Œ์ŠคํŠธ โ€ฆ SampleTestData - ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ๋„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •์˜ (์ถ”๊ฐ€๋กœ ์—‘์…€ ๋˜๋Š” DB์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋ณด์™„ ๊ฐ€๋Šฅ) CodeMngService - ์ฝ”๋“œ ์ „์ฒด ์กฐํšŒ - ์ฝ”๋“œ ๊ฒ€์ƒ‰ - ์ฝ”๋“œ ๋“ฑ๋ก, ์ˆ˜์ •, ์‚ญ์ œ โ€ฆ AbsractTestData - ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ DB, ์—‘์…€ ๋“ฑ์œผ๋กœ ๋ถ€ํ„ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์ถ” ์ƒ ํด๋ž˜์Šค Spring configration loading, common variables, utils are in a super Parent class If the configuration(file) is changed, only one class needs to be changed If the data is changed, Only one is to change Data that can be Referred in other tests are stored in a separate class
  • 23. I. Introduction II. Engineering activities 1. Early testing education 2. Test design 3. Test code guide 4. Pair-testing, programming 5. Test-Automation III. Strategic activities IV. Other activities V. Conclusion
  • 24. Pair-Testing - not fix bugs, but fix human mistakes - developer+tester pair in a sprint testing - developers learn what, how testers think and test testers learn what the code intended and expected - (Expected) better communication reduced bugs (defect prevention) by learning testers can find more serious bugs the productโ€™s quality is better (Not-Expected) Developers and testers do not trust each other complaint that pair-testing is useless and time-consuming job disappointment about testers, testing
  • 25. (Example) Pair-testing - 40minutes pair-testing with 6 develpers - more than 40 defects and issues (The team needed to define the standard) Sessi on dev date target Notes (Reminds, Test paths, defects, etc) 1 A dev -2d mornig Role- management [์—ญํ• ๊ด€๋ฆฌ - ์กฐํšŒ] (1) ํ™”๋ฉด ๋ฆฌ์‚ฌ์ด์ฆˆ์‹œ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด ์ž˜๋ฆฌ๋Š” ํ˜„์ƒ ์žˆ์Œ(ํ•˜๋‹จ ์Šคํฌ๋กค๋กœ ๋๊นŒ์ง€ ์˜ฎ๊ฒจ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ) (2) (๊ณตํ†ต-๊ฒ€ํ† ํ•„์š”) ํ˜„์žฌ ํ™”๋ฉด ์œ„์น˜๋ฅผ ์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ ์ดˆ๋ก์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•ด ์ฃผ๋Š”๋ฐ F5 ์ƒˆ๋กœ ๊ณ ์นจ ์‹œ ์ดˆ๋ก์ƒ‰์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ (3) (๊ถŒ๊ณ ) ์กฐํšŒ์กฐ๊ฑด์— ์—ญํ• ์˜ ์‚ฌ์šฉ์—ฌ๋ถ€๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์—ˆ์œผ๋ฉด ํŽธํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„ (4) ๊ฒ€์ƒ‰์กฐ๊ฑด์— ํŠน์ˆ˜๋ฌธ์ž ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ํƒ€ ํ™”๋ฉด๊ณผ ๋‹ฌ๋ฆฌ trim ์ฒ˜๋ฆฌ๊ฐ€ ์ ์šฉ/ ๋˜๋Š” ๋ฏธ์ ์šฉ๋œ ๊ฒฝ์šฐ๊ฐ€ ์„ž์—ฌ ์žˆ์Œ (5) (๊ฒ€ํ† ์˜ˆ์ •์ด๋ผ๊ณ  ํ•จ) ์—ญํ• ๋ช…, ์„ค๋ช…๋“ฑ์„ ์ฃผ์–ด์ง„ ๊ธธ์ด๋งŒํผ ์ž…๋ ฅํ•˜๋ฉด ๋ชฉ๋ก์—์„œ ... ์œผ๋กœ ํ‘œ์‹œ๋จ. ํˆดํŒ์ด ํ‘œ์‹œ๋˜๋ฉด ์ข‹์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž„ * ์ˆ˜์ •ํŒ์—…์„ ๋„์šฐ๋ฉด ํ‘œ์‹œ๋˜๋‹ˆ ๊ฒฐํ•จ๋ณด๋‹ค๋Š” ๊ถŒ๊ณ ์‚ฌํ•ญ์„ฑ์ž…๋‹ˆ๋‹ค~ [์—ญํ• ๊ด€๋ฆฌ - ์ถ”๊ฐ€] (6) ์ž…๋ ฅ ์‹œ id, ๋ช…์— trim ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„.(์กฐํšŒ์‹œ๋Š” ๊ถŒ๊ณ ์ด๋‚˜ ๋“ฑ๋ก/์ˆ˜์ • ์‹œ์—๋Š” trim์ด ํ•„์š”) (7) (๋‹ค๋ฅธ ํ™”๋ฉด๋„ ์ฒดํฌ ํ•„์š”) ์‹ ๊ทœ ์ถ”๊ฐ€์‹œ์— ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ํ•˜๊ณ  ์ €์žฅํ•ด๋„ Y๋กœ ์ €์žฅ ๋จ <- ์ฟผ๋ฆฌ์— 'Y'๋กœ ๋ฐ•ํ˜€ ์žˆ์Œ [ ์‚ฌ์šฉ์ž ํŒ์—…1,2 ] (8) ์ง๊ธ‰ ์ปฌ๋Ÿผ ๋“ฑ์˜ ์ •๋ ฌ์ด ํƒ€ ํ™”๋ฉด๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Œ (๊ฐ€์šด๋ฐ ์ •๋ ฌ ํ•„์š”) (9) ์กฐํšŒ์กฐ๊ฑด ํ•„๋“œ๊ฐ€ ํŠน์ˆ˜๋ฌธ์ž๋Š” ๋ง‰ํ˜€ ์žˆ๋Š”๋ฐ trim ์ฒ˜๋ฆฌ๋Š” ํ•˜๋Š” ๋“ฑ ํƒ€ ๊ฒ€์ƒ‰ ํ•„๋“œ์™€ ์ผ๊ด€์„ฑ ํ•„์š” (10) โ€œ๊ทธ๊ฑฐโ€๋ผ๊ณ  ํ–ˆ๋˜ ๊ฑด - ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๋ฉด ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ ์„ ํƒํ•˜์ง€ ์•Š์€ ๊ฑด๋“ค์ด ์„ ํƒ๋˜์–ด ์žˆ๋Š” ๋“ฑ ์ด์ƒ ๋™์ž‘์„ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒ ํ•จ 2 B dev -2d mornin g Group- management- popups [์—…๋ฌด๊ทธ๋ฃน ๋ฉ”๋‰ดํŒ์—…] (1) ํŒ์—… ํ™”๋ฉด ํƒ€์ดํ‹€๋ช…์— ๊ณตํ†ต์ ์œผ๋กœ ์–ธ๋”๋ฐ”๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ (2) ์—ฌ๋Ÿฌ ํŒ์—…์—์„œ ๊ฐ™์€ ํ•ญ๋ชฉ์˜ ์ •๋ ฌ์ด ์„œ๋กœ ๋‹ค๋ฆ„ - ๊ธธ์ด๊ฐ€ ์ผ์ •ํ•œ ์ฝ”๋“œ์„ฑ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์šด๋ฐ ์ •๋ ฌ, ์ด๋ฉ”์ผ, ์„ค๋ช… ๋“ฑ๊ณผ ๊ฐ™์ด ๊ฐ’์ด ๊ฐ€๋ณ์ ์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฐ’๋“ค์€ ์ขŒ์ธก ์ •๋ ฌ์ด ๋งž์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž„ (3) (ํ™•์ธํ•„์š”) ํ™”๋ฉด ๋ฐ ์ปฌ๋Ÿผ ํญ ๋ฆฌ์‚ฌ์ด์ฆˆ๊ฐ€ ์•ˆ ๋˜๋Š”๋ฐ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ๊ฒฝ์šฐ ํˆดํŒ์„ ๊ฒ€ํ† ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ (4) ๋ฉ”๋‰ด์— ๋Œ€ํ•ด ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ์ˆ˜์ •ํ•ด๋„ ํƒ€ ํ™”๋ฉด ํŒ์—…์—์„œ ๋ฉ”๋‰ด๊ฐ€ ์กฐํšŒ๋จ (5) (๊ถŒ๊ณ ) ๋ฉ”๋‰ด ์ถ”๊ฐ€์—์„œ ๊ธฐ์กด ์ถ”๊ฐ€ํ•œ ๋ฉ”๋‰ด์™€ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋‰ด๊ฐ€ ๊ตฌ๋ถ„์ด ์•ˆ ๋จ. ๋ฐฉ์•ˆ ๋ช‡๊ฐ€์ง€ ์–˜๊ธฐํ–ˆ๋˜ ๊ฒƒ ๊ฒ€ํ†  ์š”์ฒญ [์‚ฌ์šฉ์ž ํŒ์—…] (6) ์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š๊ณ  ์„ ํƒ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋ฉ”์‹œ์ง€๋Š” "ํ•œ ๊ฑด ์ด์ƒ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”" ๋ผ๊ณ  ์ •์ƒ ํ‘œ์‹œ๋˜๋‚˜ ๋ฐ”๋กœ ํŒ์—… ์ฐฝ์„ ๋‹ซ์•„๋ฒ„๋ฆผ. ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒ์—… ์ฐฝ ์œ ์ง€ ํ•„์š” (7) ๊ฐ ํ•ญ๋ชฉ๋“ค์˜ ์ขŒ์šฐ ์ •๋ ฌ์ด ํƒ€ ํ™”๋ฉด๊ณผ ๋‹ค๋ฆ„ (8) ํŒ์—… ํ™”๋ฉด ์ „์ฒด์— ๊ณตํ†ต ๋ฐœ์ƒ - ์กฐํšŒ ๋ฐ์ดํ„ฐ์˜ ํ•„๋“œ๋“ค์ด ๋ชจ๋‘ ๋ถˆํ•„์š”ํ•˜๊ฒŒ editable ํ•จ 3 C dev -2d afterno on Group- management [์—…๋ฌด๊ทธ๋ฃน๊ด€๋ฆฌ] (1) ์—…๋ฌด๊ทธ๋ฃน ID์— ํ•œ๊ธ€์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ์กฐ๊ฑด์กฐํšŒ ํ•ด๋‹น ํ•„๋“œ์— ํ•œ๊ธ€์ด ์ž…๋ ฅ๋˜์ง€ ์•Š์Œ (2) (ํ™•์ธํ•„์š”-์ผ๊ด€์„ฑ) ์‹ ๊ทœ ์ถ”๊ฐ€ํ›„ ๋ฆฌํ”„๋ ˆ์‹œ ๋  ๋•Œ ์ถ”๊ฐ€๋œ ๊ฑด์ด ์ „์ฒด ํŽ˜์ด์ง€์˜ ์ œ์ผ ํ•˜๋‹จ์— ํ‘œ์‹œ๋˜๋Š”๋ฐ ํƒ€ํ™”๋ฉด๊ณผ ๊ธฐ์ค€ ๋…ผ์˜ ํ•„์š” <- ์‚ฌ์šฉ์ž ์ถ”๊ฐ€์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์ •๋ ฌ ์œ„์น˜์— ์ถ”๊ฐ€๋˜์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๋ณด์ž„ (3) (๊ถŒ๊ณ ) ์กฐํšŒ์กฐ๊ฑด์— ์—…๋ฌด๊ทธ๋ฃน์˜ ์‚ฌ์šฉ์—ฌ๋ถ€๋ณ„๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Œ (4) ์—…๋ฌด๊ทธ๋ฃนID ๋“ฑ์— trim์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„ (5) "๊ทธ๊ฑฐ" ๋ผ๊ณ  ํ–ˆ๋˜, a) ๋ชฉ๋ก ์กฐํšŒ์—์„œ ์ „์ฒด ์กฐํšŒํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€ ์กฐํšŒ, b) ์กฐํšŒ์กฐ๊ฑด ์ž…๋ ฅ ํ›„ ์กฐํšŒ๋ฒ„ํŠผ์ด ์•„๋‹Œ ๋ ์œผ๋กœ ์ด๋™ ์„ ํƒ => ์•„๋ฌด ๊ฑด๋„ ์กฐํšŒ๋˜์ง€ ์•Š์Œ, c) ์กฐํšŒ์กฐ๊ฑด ์‚ญ์ œํ•˜์—ฌ ์ „์ฒด ์กฐํšŒ => ์ „์ฒด์กฐํšŒ๋Š” ์ •์ƒ์ ์œผ๋กœ ๋˜๋‚˜ ํ•˜๋‹จ ํŽ˜์ด์ง€ ์ˆซ์ž๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ. 4 D dev -1d Mornin g Login,User- registration [ํšŒ์›๊ฐ€์ž…] (1) ๋กœ๊ทธ์ธ ID ๊ฐ’์— ๋Œ€ํ•ด trim ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์Œ (2) ID ์ž…๋ ฅ, ์ค‘๋ณต์ฒดํฌ ํ•œ ์ƒํƒœ์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์ €์žฅํ•˜๋ฉด ID ์ค‘๋ณต ์ฒดํฌ๋ฅผ ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ ๋จ (3) ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฒดํฌ์— ๋Œ€ํ•ด ํ•„์ˆ˜์ž…๋ ฅ ํ‘œ์‹œ ๋ˆ„๋ฝ (4) (๊ฒ€ํ† ) ์ด๋ฉ”์ผ, ์ „ํ™”๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์˜๋ฌธ์ž ์ž…๋ ฅ ๋“ฑ์— ๋Œ€ํ•ด ์ฒดํฌ ๋กœ์ง ์ ์šฉ์— ๋Œ€ํ•ด ๊ฒ€ํ†  ๊ถŒ๊ณ  * ID, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ ๊ทœ์น™์€ ๋ฐ˜์˜ ์˜ˆ์ •์ด๋ผ๊ณ  ํ•จ [๋กœ๊ทธ์ธ] - N/A [์‚ฌ์šฉ์ž๊ด€๋ฆฌ] (5) UI ๋ธŒ๋ผ์šฐ์ € ๋ฆฌ์‚ฌ์ด์ฆˆ ์‹œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ๋งŒ ํ•˜๋‹จ ์Šคํฌ๋กค์ด 2๊ฐœ ์ƒ๊ธฐ๋Š” ํ˜„์ƒ ์žˆ์Œ (6) ์ „์ฒด ํ™”๋ฉด์ด ์•„๋‹Œ ๊ฒฝ์šฐ ํ•˜๋‹จ footer๊ฐ€ ํŽ˜์ด์ง€ ๋„ค๋น„๊ฒŒ์ด์…˜ ์˜์—ญ์„ ๋ฎ๋Š” ํ˜„์ƒ ๋ฐœ์ƒ (7) (๊ถŒ๊ณ ,๊ณตํ†ต) ์™ผ์ชฝ ๋ฉ”๋‰ด ์ ‘๊ธฐ ์•„์ด์ฝ˜์ด ์žˆ๋Š”๋ฐ ์ ‘์€ ์ƒํƒœ์—์„œ๋Š” ํ™”์‚ด ๋ฐฉํ–ฅ์ด ๋ฐ˜๋Œ€์—ฌ์•ผ ํŽผ์น˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ธ์ง€ํ•˜๊ธฐ ์‰ฌ์šธ ๊ฒƒ์œผ๋กœ ๋ณด์ž„ (8) ์กฐํšŒ ์กฐ๊ฑด์˜ ์‚ฌ์šฉ์—ฌ๋ถ€ ์ฝค๋ณด๋ฐ•์Šค ๊ฐ’์ด ์ง์ ‘ ์„ ํƒ ๋ฐ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•จ (9) ๋ธŒ๋ผ์šฐ์ € ๋ฆฌ์‚ฌ์ด์ฆˆ ์‹œ ์กฐํšŒ ์˜์—ญ์€ ์ •์ƒ ํ™•์žฅ๋˜๋‚˜, ํ•˜๋‹จ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด ํ™•์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ๋ฐœ์ƒ (10) ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ • ํŒ์—…์—์„œ ํ•„์ˆ˜๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ID์ค‘๋ณต์ฒดํฌ๋ฅผ ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ž˜๋ชป๋œ ๋ฉ”์‹œ์ง€ ๋ฐœ์ƒ (11) (๋™์‹œ์„ฑ) A ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ˆ˜์ •(ํŒ์—…)ํ•˜๊ณ  ์žˆ์„ ๋•Œ B ๊ด€๋ฆฌ์ž๊ฐ€ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ์‚ญ์ œ. ๋‹ค์‹œ A ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜์ • ์ €์žฅํ•˜๋ฉด ๋ฉ”์‹œ์ง€ ์ƒ์œผ๋กœ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์ •๋˜์—ˆ๋‹ค๊ณ  ํ‘œ์‹œ๊ฐ€ ๋จ(ํ•ด๋‹น ์‚ฌ์šฉ์ž๋Š” ์‚ญ์ œ) - ์„œ๋ฒ„ ์ƒ์—์„œ ์ˆ˜์ •ํ•˜๋ ค๋Š” id๊ฐ€ ์—†์–ด์„œ ์ •์ƒ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ˜„์ƒ ๋•Œ๋ฌธ์œผ๋กœ ๋ณด์ž„. 5 E dev -1d afterno on Menu- management [๋ฉ”๋‰ด๊ด€๋ฆฌ] (1) ๋ฉ”๋‰ด์— ๋Œ€ํ•ด ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ์ˆ˜์ •ํ•ด๋„ ํƒ€ ํ™”๋ฉด ํŒ์—…์—์„œ ๋ฉ”๋‰ด๊ฐ€ ์กฐํšŒ๋จ (2) ๋ฉ”๋‰ด ํ•˜์œ„์˜ ๋ฉ”๋‰ดํŽ˜์ด์ง€ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด N์œผ๋กœ ์ˆ˜์ •ํ•ด๋„ Y๋กœ ๋‹ค์‹œ ๋ณ€๊ฒฝ๋˜์–ด ์กฐํšŒ ๋จ (3) ๋ฉ”๋‰ด ํ•˜์œ„์˜ ๋ฉ”๋‰ดํŽ˜์ด์ง€ ์‹ ๊ทœ ์ถ”๊ฐ€์‹œ ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ N์œผ๋กœ ํ•˜๊ณ  ์ถ”๊ฐ€ํ•˜๋ฉด ์ถ”๊ฐ€๋Š” ๋˜์—ˆ๋‹ค๊ณ  ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ๋˜๋‚˜ ์‹ค์ œ๋กœ๋Š” ์ €์žฅ ์•ˆ ๋จ (4) ๋ฉ”๋‰ด ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋“ฑ๋กํ•œ ํ›„ ์‚ญ์ œํ•˜๋ฉด, ์‚ญ์ œ๊ฐ€ 1,2๊ฑด๋งŒ ๋˜๊ณ  ์ดํ›„ ์‚ญ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Œ (5) ํ•˜๋‚˜์˜ ๋ฉ”๋‰ด์— ๋Œ€ํ•ด ๋™์‹œ์— ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ ์ ‘๊ทผํ•˜๋Š” ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด A๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ B๊ฐ€ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ A์—์„œ ๋‹ค๋ฅธ ๋™์ž‘์„ ํ•˜๋ฉด "์•Œ ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค" ๋ผ๋Š” ์ƒํ™ฉ์„ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋จ (6) UI ๋ธŒ๋ผ์šฐ์ € ๋ฆฌ์‚ฌ์ด์ฆˆ ์‹œ ์กฐํšŒ ์˜์—ญ์€ ์ •์ƒ ํ™•์žฅ๋˜๋‚˜, ํ•˜๋‹จ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด ํ™•์žฅ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ๋ฐœ์ƒ Early testing, easy to understand and fix Not just finding defects, but also chances to define the dev standards in real time
  • 26. โ€ป Test Code Pair-programming - developers can learn how to write test code in the specific cases. testers can know better about dev code - Testers can talk about quality aspects in dev code level Well, at first, letโ€™s write the most basic case which We can debug what we write. after that, everytime you need to check your code or Debug, add more tests cover those cases In someway, we can check the test coverage, it will help us if we should add more tests or not Should I write test code for this part? That is too much and difficult to synchโ€ฆ
  • 27. I. Introduction II. Engineering activities 1. Early testing education 2. Test design 3. Test code guide 4. Pair-testing, programming 5. Test-Automation III. Strategic activities IV. Other activities V. Conclusion
  • 28. Test Automation plan - project customized Test automation plan should be established RDMBS DAO implementations DAO interfaces Service implementations Service interfaces Other remote interfaces Data Access Layer Service Layer Presentation Layer Web UI Test Controller REST API UI 55 โˆš Controller Test Service Test DAO Test RESTful API Test โˆš 11 22 33 44 โˆš Test Level Target Tools Unit Test (Sprint) DAO Junit Service Junit REST API SoapUI Web UI Pair-testing Sprint Integration Test Internal Workflow Selenium (+Sikuli) Integration External/Legacy Selenium / Manual Integration Test Internal/External Workflow Manual User Test Internal/External workflow Manual [Example: Test automation strategy ]
  • 29. Test Automation Infra in early phase Customer, Other stakeholders Product Manager Dev team Shared & visualized Test results Okay. We are coding&testing My tests are ok. Junit test reports Test coverages (Method,Line,Bran ce, etc) Code Inspection (PMD,โ€ฆ) Jekins (+SonarQube?) [Example: Test automation ]
  • 30. I. Introduction II. Engineering activities III. Strategic activities 1. Test Strategy/Plan 2. Test analysis/report 3. Other Professional services IV. Other activities V. Conclusion
  • 31. Test Strategy (Example 1) Client-Server application - define โ€˜Test Levelsโ€™ like (1)Unit testing, (2)Integration1(Client, Server each), (3)Integration2(Client-Server) and each levelโ€™s purpose, target, role, method User Env Unit Testing Intg Testing 1 Intg Testing 2 Acceptance Testing ๊ฐ ๋ฉ”์†Œ๋“œ(๋˜๋Š” ๋‹จ์œ„ ๊ธฐ๋Šฅ)์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ๋งŒ๋“ค์–ด ๋ฉด๋ฐ€ํžˆ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ ๊ฐ ์˜์—ญ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ๋‹จ์œ„๊ธฐ๋Šฅ๋“ค์˜ ๋ฌถ์Œ์— ๋Œ€ํ•ด ๊ธฐ๋Šฅ ํ๋ฆ„์„ ๋ช‡ ๊ฐ€์ง€๋กœ ์ •์˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ - ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๋™ ๊ด€์ ์—์„œ ๊ธฐ๋Šฅ ํ๋ฆ„์„ ๋ช‡ ๊ฐ€์ง€๋กœ ์ •์˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ XXXeaXXXea XeaXea XXeaXXea ???? ์‚ฌ์šฉ์ž ๊ด€์ (์‚ฌ์—…๋ถ€)์—์„œ ์ œํ’ˆ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€ ํ๋ฆ„์„ ์ •์˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ Client Server Mod A Mod B Mod C Mod D Mod E Mod F Unnit Test Acceptance Testing Intg 1 Intg 1 Intg 2
  • 32. (Example 2) Cascading Framework considered Unit/Intg Testing - define Unit / Integration testing cosidering targetโ€™s architecture and functional roles Unit Test : targets one Pipe mainly Integration Test : targets workflows from Source to Sink(or failed end)
  • 33. (Example 3) Hardware-Software integratied product - define various test approach in various dev phase : Software level Unit/intg testing, Hardware-Software integrated testing, real environment testing etc Level Software testing On board testing Simulated Env Real Env Description Software Unit/Intg testing for Java programs Application interface testing. Hardware, software integration checking Simulated, down-scaled environment testing Real Envronment Methods Junit With test scenarios With business scenarios With business scenarios In charge Dev team(testers) Dev team(testers) Dev team, Customers Customers/Dev team ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ณด ํŒŒ์ผ ์„ผ์„œ, ํ•˜๋“œ์›จ์–ด
  • 34. I. Introduction II. Engineering activities III. Strategic activities 1. Test Strategy/Plan 2. Test analysis/report 3. Other Professional services IV. Other activities V. Conclusion
  • 35. Test Result Report & Assets Dev/Quality issues based on test result refine best practices, documents, guides
  • 36. I. Introduction II. Engineering activities III. Strategic activities 1. Test Strategy/Plan 2. Test analysis/report 3. Other Professional aids IV. Other activities V. Conclusion
  • 37. [ Refinement about Test requirements ] - Functional, Non-Functional requirements - Test Plan for Non-Functional testing [ Customized test strategy ] - Architecture level test plan - Communications with several group(dev, customer, etc) [ Items ] - Purpose, Levels - Input/Output, Entry/Exit Criteria - Test env - Roles and Responsibility - Schedule Test related documents(Plan, Scenario, etc) template, guide and drafts ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ ๊ณ„ํš์„œ๊ณ„ํš์„œ๊ณ„ํš์„œ๊ณ„ํš์„œ Standized documents template and guide
  • 38. FunctionalFunctionalFunctionalFunctional TestTestTestTest ReportReportReportReport Standardized and Reliable Test Service at the end of project Total Quality reportTotal Quality reportTotal Quality reportTotal Quality report . Functional Testing result . Performance Testing result . Security Testing result . Software License verification . Code Inspection result โ€ฆโ€ฆ Regularly
  • 39. I. Introduction II. Engineering activities III. Strategic activities IV. Other activities 1. 3 Amigos 2. Code review 3. Code Inspection(tool) 4. Standard Process advisor V. Conclusion
  • 40. Testing was a communication channel during the develoment - readable, visible approach as possible to show and get feedback to customers Customer Ahha, Graphical test case documents Complex workflow to real world
  • 41. Publish readable TestCase Spec documents with TestCode comments - in-house tool which parse testcode comments and publish test specification on web โ€ฆ Customer Readable, Real-time, Synchronized Test Specification @author @Desc @Step @Input @Expected @Name @TC_ID GenerateGenerate Writing comments Other developer Dev lead, tester
  • 42. I. Introduction II. Engineering activities III. Strategic activities IV. Other activities 1. 3 Amigos 2. Code review 3. Code Inspection(tool) 4. Standard Process guide V. Conclusion
  • 43. Dev, Test code review (Online) - Formal process for devcode review is done, testers mainly review testcode - reviews testcaseโ€™s purpose, assertion and also work with test-coverage by checking which line or branch covered or not - if necessary, devcode review perfomed(often needed) Test code review example - The test method name should be test{target}_{prupose}_seq. - Each test method should test one purpose. - Copy&paste โ€˜throws Exceptionโ€™ to each test method. We donโ€™t need to exception handling (try,catch) in test code - If you want to test the specific Exception occur, just type the exact exception name not general โ€˜Exceptionโ€™. And use โ€˜failโ€™ statement just after the line you expect for code readers - External resource(File..) should be referenced in relative path not fixed path in your pc Dev Code review example - Not covered toString method in test code. One more thin, Eh,.. Itโ€™s better to return at least empty String like โ€œโ€ rather than nullโ€ฆfor toString() methods. It can occur NullPointerException if somenone uses and in some case. - This checking code is not covered in testing. Well, you are double checking, so it looks impossible to reach that code. Need to refactor. - This several catch clauses are not reachableโ€ฆ In my opinion, you can replace higher exception class than lower ones - This method will return null, if somethingโ€™s wrong, but the callers are not prepared. It needs to be considered
  • 44. Rules and Occurrence Code Inspection tool drive from the beginning - Code Inspection tool(PMD) setting in the beginning of the project - Detailed code guide for Top 10 violations regularly Top 10, Rule explanation and solution, alternatives
  • 45. PMD, security, performance, Official process, etc Quality/Test Shared Service Dev Team Shared SA Fortify, white hacking ~~ Shared TA PMDPMD SecuritySecurity PerformancePerformance PMD Rule customizing meeting Security testing meeting Performance test meeting . How to measure web client response time(any tools)? . How to test JavaScript? . What is the official process to finish the project? HelpDesk for other quality services - As a quality member, introduce what to do, how to do in quality - explain similar project cases and its pros/cons
  • 46. I. Introduction II. Engineering activities III. Strategic activities IV. Other activities V. Conclusion 1. retrospectives 2. Final message 3. Career path in testing
  • 47. Retrospective 1 person Good Bad C With PMD, I could learn a lot about coding. I could have experienced TDD I failed TDD.. D Anyway finished, itโ€™s good!!! With test cases co-writing, I could learn my code myself. Too short deadline Documents synchrozing E Test code, PMD helped my coding skill Too short time schedule G At first, I didnโ€™t believe testers cannot be helpful, but now we together worked for the productโ€™s quality. That is important Tight time scheduling Test Scenario planning was so good, it should be happened in very early phase. H (PM) Well, I have never thought co-working with testers in dev phase. Next time, this approach will be basic. โ€œI thought they would do nothing because they knew nothing about algorithm, but what they did was that helping me understanding my product wellโ€
  • 48. Retrospective 2 [ Pair-testing ] (Good) Lots of bugs couldโ€™ve been found. Pair-testing in Web UI was much more effective than test code programming. It was good to hear other projects, other developers cases (Bad) 30 or 40min is too short, I want to do more. [ Test Scenario(cases) co-review ] (Good) Well, I learned how you approach. It was much easier to think how to test. (Bad) We changed requirements and test cases, that contents are not shred. [ testcode pair-programming ] (Good) It was good to show how Junit test code is written in detail. It was so easy after checking what you made. (Bad) I needed to be prepared. I didnโ€™t know much about Junit itself [ Other words? ] (Good) Time-boxing for every activity (30min, 40min) was really good. (Bad) Well, I think there should be sessions that we talk what we should develop and test together. Only with us, developers, we say similar things with similar views. Letโ€™s work together.
  • 49. Final Message Dev TeamDev Team TestTest CustomerCustomer ํ…Œ์ŠคํŠธ ๊ฐ•ํ™”๋กœ ์ œํ’ˆ ์˜ ๊ธฐ๋Šฅ& ํ’ˆ์งˆ ํ™•๋ณด ๊ด€๋ จ ํ”„๋กœ์„ธ์Šค,์‚ฐ์ถœ ๋ฌผ ๊ฐ€์ด๋“œ๋กœ ๊ณผ์ œ ์ž ์ฒด์— ๋Œ€ํ•ด ๋” ์ง‘์ค‘ ๊ฐ€๋Šฅ ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ๋‹จ์œ„ํ…Œ ์ŠคํŠธ ๋ฐฉ์•ˆ ๊ฐ€์ด๋“œ๋กœ ๊ฐœ๋ฐœ ๊ด€์ ์˜ ํ’ˆ์งˆํ™œ ๋™ ์ˆ˜ํ–‰ ๊ฐœ๋ฐœ ์‹œ์ž‘๋ถ€ํ„ฐ 3์ž (์‚ฌ์šฉ์ž) ๊ด€์ ์—์„œ ์ง€์†์ ์ธ ํ”ผ๋“œ๋ฐฑ์œผ ๋กœ ํ˜‘์—… ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ํ”„๋ž™ ํ‹ฐ์Šค์— ๋Œ€ํ•œ ์ ์šฉ ๊ฒฝ ํ—˜ ์ถ•์ (์†Œ๊ทœ๋ชจ ๊ณผ ์ œ) ๊ฐœ๋ฐœ ๋งˆ์ง€๋ง‰์—๋งŒ ํ•˜ ๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ๋Šฅ๋™ ์ ์ด๊ณ  ์ ๊ทน์ ์œผ๋กœ ํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ ๊ฐœ๋ฐœํŒ€-๊ณ ๊ฐ ์‚ฌ์ด์— ์„œ ๊ฐ€๊ต ์—ญํ•  ๊ธฐ๋ณธ ํ’ˆ์งˆ์ด ํ™•๋ณด๋œ ์ œํ’ˆ ๋”œ๋ฆฌ๋ฒ„๋ฆฌ ํ…Œ์ŠคํŠธ ๋‚ด์šฉ (์‹ค์‹œ ๊ฐ„)๊ณต์œ ๋ฅผ ํ†ตํ•ด ์ œํ’ˆ ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ํŒŒ์•… ๊ฐ€๋Šฅ ์ œํ’ˆ์— ๋Œ€ํ•œ ๊ณ ๊ฐ ๊ด€ ์ ์˜ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต ๊ฐ€ ๋Šฅ win-win win-win Easy Understanding User centric product delivery Easy Understanding User centric product delivery Synergy by working together
  • 50. Testerโ€™s Job shifting DEV TEST CUST OMER Test doesnโ€™t know how much we are Burdened (crying.) Dev doesnโ€™t know what I want(Crying..) No documents. Everyoneโ€™s busy (Crying..) AS-IS DEV TEST CUST OMER TEST Test repsents us to dev (Thnx~) Test came to help me (smile~) My job is helpful for dev(smile~) Became active (real) member To deliver the right product(smile~) TO-BE
  • 51. Various Test careerpaths - as many as various work needed, as many as various job needed methodolgi st, SA,TA,DA,โ€ฆ develo per PM PL Tool engineer Dev project Tester Test Lead Test Engineer Test Architect Test Manager Tester TM TL Test project Test Strategy Education, guide Manual, Automation Support
  • 52. Q & A Do you think testers can write business test scenario? Why testers care about Unit-testing?, It is the job for developers. The activities are too many, do you mean we should do them all? Basically, every member(including customers) should participate in writing business test scenario and evolved during the whole project period. Who is in charge to write the draft depends on projectโ€™s conditions Well, Unit-testing is the developerโ€™s job. Thatโ€™s right. However as quality people, we can check anywhere the quality exists, and give them feedback with our profession, quality. Moreover we can learn much about product internally. Of course not. The message is just delivering co-work with dev. Each person(testers) has different background, skills, interests, I just wanted to Introduce various activities and make them as one, each career path