Copyright © 2011 - 2015 Ethan Huang1
Make Less Trouble
by having a good agile testing strategy
Copyright © 2011 - 2015 Ethan Huang2
Ethan Huang
cn.linkedin.com/in/ethancst
me@ethanhuang.net
WeChat: ethanhuang0922
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
#define Testing
3
Copyright © 2011 - 2014 Ethan Huang
The more bugs testers find, 

the more value they provide.

Y/N?
Copyright © 2011 - 2015 Ethan Huang5
V-model & Waterfall
Requirement	Analysis
System	Architecture
Design
Coding Unit	Tes:ng
Integra:on	Tes:ng
System	Tes:ng
Acceptance	Tes:ng
Copyright © 2011 - 2015 Ethan Huang
IT DOESN’ WORK
6
BECAUSE …
Copyright © 2011 - 2015 Ethan Huang
DO THINGS RIGHT
THE
FIRST TIME!
7
Philip	B.	Crosby,	“Zero	Defects”	and	“Right	First	Time”
Copyright © 2011 - 2015 Ethan Huang8
Best timing to prevent defects?
Requirement
Analysis
System
Architecture
Design
Coding
codecheck-in
UnitTestingIntegration
Testing
SystemTestingAcceptance
Testing
Copyright © 2011 - 2015 Ethan Huang
STOP playing the
Go-Find-The-Bug game,
BUILD quality in!
9
Copyright © 2011 - 2015 Ethan Huang
AGILE TESTING -
The Underlying Principles
10
Copyright © 2011 - 2015 Ethan Huang
WE NEVER COMPROMISE ON QUALITY
11
Copyright © 2011 - 2015 Ethan Huang
WHOLE TEAM TESTING
12
Copyright © 2011 - 2015 Ethan Huang
TEST IMMEDIATELY
13
Testing is no longer an end-of-project phase;
it is embedded into development activities
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Set a quality goal
14
Copyright © 2011 - 2015 Ethan Huang
Good quality
vs.
Good ENOUGH Quality
15
Copyright © 2011 - 2015 Ethan Huang
Definition of Done/Quality Standard
&
Trusted Zone/Environment
16
Copyright © 2011 - 2015 Ethan Huang
Case Study
DoD/Trusted Zone for the Titan team:
17
1. Unit Test line coverage >= 80%, Dev Env
2. Automated Functional Testing coverage >= 60%, Dev + QA Env
3. Manual Functional Testing coverage = 100%, UAT Env
Copyright © 2011 - 2015 Ethan Huang
Over testing
18
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Re-define Testing Activities
19
Copyright © 2011 - 2015 Ethan Huang
The Testing Pyramid* in Waterfall
20
Unit
Testing
Integration
Testing
Functional/System
Testing
* Mike Cohn, Succeeding with Agile
Copyright © 2011 - 2015 Ethan Huang
The Testing Pyramid in Agile
21
Unit
Testing
Interface
Testing
Functional/System
Testing
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Unit Testing
22
Copyright © 2011 - 2015 Ethan Huang
Case Study
The Tiger Team is working on some critical feature with a
very tight schedule. In order to deliver on-time they
decided to finish coding first, fix all known bugs, then add
Unit Tests to reach 80% line coverage
23
Copyright © 2011 - 2015 Ethan Huang24
Coding
Testing/
Bug
Unit Testing
Check-in
& Build
Copyright © 2011 - 2015 Ethan Huang
Do Unit Testing afterwords
25
Copyright © 2011 - 2015 Ethan Huang
Case Study
The SpiderMan team is very proud of their high code coverage
- they always make sure they have at least 85% line coverage.
One day the Product Owner was so curious about what those
numbers mean, that she asked them to click into the red
bars…
26
Copyright © 2011 - 2015 Ethan Huang27
Copyright © 2011 - 2015 Ethan Huang
Test for coverage
28
Copyright © 2011 - 2015 Ethan Huang
TDD
29
Copyright © 2011 - 2015 Ethan Huang
Or, at least,
do Unit Test immediately
30
Copyright © 2011 - 2015 Ethan Huang
Small bites:
write a little code,
then do a little testing
before check-in
31
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Integration Testing
32
Copyright © 2011 - 2015 Ethan Huang
Case Study
Team A, B and C are working on 3 components which are
having dependencies between each other. They have to
adjust their schedule to accommodate each other.
33
Copyright © 2011 - 2015 Ethan Huang
Still waterfall …
34
Integration
Integration
Testing
Functional
Testing
Sprint	1 Sprint	2
Component	1	
TDD	+	CI	+	Test	Automa:on
Scrum Team A
Component	2	
TDD	+	CI	+	Test	Automa:on
Scrum Team B
Component	3	
TDD	+	CI	+	Test	Automa:on
Scrum Team C
Dependency
Dependency
Copyright © 2011 - 2015 Ethan Huang
Integration Test Driven Development
35
Mockbased
IntegrationTesting
Sprint	1
Component	1	
Feature	1
Scrum Team A
Component	2	
Feature	1
Component	3	
Feature	1
Decouple
Dependencies
Component	1	
Feature	2
Component	2	
Feature	2
Component	3	
Feature	2
Component	1	
Feature	3
Component	2	
Feature	3
Component	3	
Feature	3
Scrum Team B
Scrum Team C
Second Tier CI
Integration
+ End-to-End
Functional Testing
Integration
+ End-to-End
Functional Testing
Integration
+ End-to-End
Functional Testing
Copyright © 2011 - 2015 Ethan Huang
CI only within single teams
36
Copyright © 2011 - 2015 Ethan Huang
Second tier CI
(CI Pipeline)
37
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Functional Testing
38
Copyright © 2011 - 2015 Ethan Huang
Case Study
0.001 - 0.999
This tolerance logic has been covered by Unit Testing +
Service Testing + Functional Testing
39
Copyright © 2011 - 2015 Ethan Huang
Duplicated Testing Effort
40
Copyright © 2011 - 2015 Ethan Huang
Case Study
A two-week Sprint
41
Week #1, Developers write code + white-box testing, testers write test cases
Week #2, Testers do functional testing, developers fix bugs
Copyright © 2011 - 2015 Ethan Huang
A Development TEAM
WORK WITH
a testing TEAM
42
队
Copyright © 2011 - 2015 Ethan Huang43
An INDIVIDUAL developer
PAIR WORK
with an INDIVIDUAL tester
对
Copyright © 2011 - 2015 Ethan Huang44
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Defending vs. Attacking
45
Copyright © 2011 - 2015 Ethan Huang
Scrum Alliance Certified Scrum Extended Education Course
Agile Testing Strategy
46
Copyright © 2011 - 2015 Ethan Huang
Case Study
Falcon team is working on the end-to-end system testing
against the drivers for some chips. Different components are
developed by different Scrum teams.
If there is a system defect it might physically destroy the
hardware. Whenever that happens it costs 100,000 USD.
47
Copyright © 2011 - 2015 Ethan Huang
Case Study
Eagle team is producing a communication software on
satellites.
Whenever they want to do end-to-end functional testing they
have to use a real satellite and it costs 500,000 USD.
48
Copyright © 2011 - 2015 Ethan Huang
Do the RIGHT testing,
at the RIGHT timing,
using the RIGHT approach,
by the RIGHT people
49
Copyright © 2011 - 2015 Ethan Huang
Q&A
50
Copyright © 2011 - 2015 Ethan Huang
Thanks!

Agile testing strategy

  • 1.
    Copyright © 2011- 2015 Ethan Huang1 Make Less Trouble by having a good agile testing strategy
  • 2.
    Copyright © 2011- 2015 Ethan Huang2 Ethan Huang cn.linkedin.com/in/ethancst me@ethanhuang.net WeChat: ethanhuang0922
  • 3.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course #define Testing 3
  • 4.
    Copyright © 2011- 2014 Ethan Huang The more bugs testers find, the more value they provide. Y/N?
  • 5.
    Copyright © 2011- 2015 Ethan Huang5 V-model & Waterfall Requirement Analysis System Architecture Design Coding Unit Tes:ng Integra:on Tes:ng System Tes:ng Acceptance Tes:ng
  • 6.
    Copyright © 2011- 2015 Ethan Huang IT DOESN’ WORK 6 BECAUSE …
  • 7.
    Copyright © 2011- 2015 Ethan Huang DO THINGS RIGHT THE FIRST TIME! 7 Philip B. Crosby, “Zero Defects” and “Right First Time”
  • 8.
    Copyright © 2011- 2015 Ethan Huang8 Best timing to prevent defects? Requirement Analysis System Architecture Design Coding codecheck-in UnitTestingIntegration Testing SystemTestingAcceptance Testing
  • 9.
    Copyright © 2011- 2015 Ethan Huang STOP playing the Go-Find-The-Bug game, BUILD quality in! 9
  • 10.
    Copyright © 2011- 2015 Ethan Huang AGILE TESTING - The Underlying Principles 10
  • 11.
    Copyright © 2011- 2015 Ethan Huang WE NEVER COMPROMISE ON QUALITY 11
  • 12.
    Copyright © 2011- 2015 Ethan Huang WHOLE TEAM TESTING 12
  • 13.
    Copyright © 2011- 2015 Ethan Huang TEST IMMEDIATELY 13 Testing is no longer an end-of-project phase; it is embedded into development activities
  • 14.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Set a quality goal 14
  • 15.
    Copyright © 2011- 2015 Ethan Huang Good quality vs. Good ENOUGH Quality 15
  • 16.
    Copyright © 2011- 2015 Ethan Huang Definition of Done/Quality Standard & Trusted Zone/Environment 16
  • 17.
    Copyright © 2011- 2015 Ethan Huang Case Study DoD/Trusted Zone for the Titan team: 17 1. Unit Test line coverage >= 80%, Dev Env 2. Automated Functional Testing coverage >= 60%, Dev + QA Env 3. Manual Functional Testing coverage = 100%, UAT Env
  • 18.
    Copyright © 2011- 2015 Ethan Huang Over testing 18
  • 19.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Re-define Testing Activities 19
  • 20.
    Copyright © 2011- 2015 Ethan Huang The Testing Pyramid* in Waterfall 20 Unit Testing Integration Testing Functional/System Testing * Mike Cohn, Succeeding with Agile
  • 21.
    Copyright © 2011- 2015 Ethan Huang The Testing Pyramid in Agile 21 Unit Testing Interface Testing Functional/System Testing
  • 22.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Unit Testing 22
  • 23.
    Copyright © 2011- 2015 Ethan Huang Case Study The Tiger Team is working on some critical feature with a very tight schedule. In order to deliver on-time they decided to finish coding first, fix all known bugs, then add Unit Tests to reach 80% line coverage 23
  • 24.
    Copyright © 2011- 2015 Ethan Huang24 Coding Testing/ Bug Unit Testing Check-in & Build
  • 25.
    Copyright © 2011- 2015 Ethan Huang Do Unit Testing afterwords 25
  • 26.
    Copyright © 2011- 2015 Ethan Huang Case Study The SpiderMan team is very proud of their high code coverage - they always make sure they have at least 85% line coverage. One day the Product Owner was so curious about what those numbers mean, that she asked them to click into the red bars… 26
  • 27.
    Copyright © 2011- 2015 Ethan Huang27
  • 28.
    Copyright © 2011- 2015 Ethan Huang Test for coverage 28
  • 29.
    Copyright © 2011- 2015 Ethan Huang TDD 29
  • 30.
    Copyright © 2011- 2015 Ethan Huang Or, at least, do Unit Test immediately 30
  • 31.
    Copyright © 2011- 2015 Ethan Huang Small bites: write a little code, then do a little testing before check-in 31
  • 32.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Integration Testing 32
  • 33.
    Copyright © 2011- 2015 Ethan Huang Case Study Team A, B and C are working on 3 components which are having dependencies between each other. They have to adjust their schedule to accommodate each other. 33
  • 34.
    Copyright © 2011- 2015 Ethan Huang Still waterfall … 34 Integration Integration Testing Functional Testing Sprint 1 Sprint 2 Component 1 TDD + CI + Test Automa:on Scrum Team A Component 2 TDD + CI + Test Automa:on Scrum Team B Component 3 TDD + CI + Test Automa:on Scrum Team C Dependency Dependency
  • 35.
    Copyright © 2011- 2015 Ethan Huang Integration Test Driven Development 35 Mockbased IntegrationTesting Sprint 1 Component 1 Feature 1 Scrum Team A Component 2 Feature 1 Component 3 Feature 1 Decouple Dependencies Component 1 Feature 2 Component 2 Feature 2 Component 3 Feature 2 Component 1 Feature 3 Component 2 Feature 3 Component 3 Feature 3 Scrum Team B Scrum Team C Second Tier CI Integration + End-to-End Functional Testing Integration + End-to-End Functional Testing Integration + End-to-End Functional Testing
  • 36.
    Copyright © 2011- 2015 Ethan Huang CI only within single teams 36
  • 37.
    Copyright © 2011- 2015 Ethan Huang Second tier CI (CI Pipeline) 37
  • 38.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Functional Testing 38
  • 39.
    Copyright © 2011- 2015 Ethan Huang Case Study 0.001 - 0.999 This tolerance logic has been covered by Unit Testing + Service Testing + Functional Testing 39
  • 40.
    Copyright © 2011- 2015 Ethan Huang Duplicated Testing Effort 40
  • 41.
    Copyright © 2011- 2015 Ethan Huang Case Study A two-week Sprint 41 Week #1, Developers write code + white-box testing, testers write test cases Week #2, Testers do functional testing, developers fix bugs
  • 42.
    Copyright © 2011- 2015 Ethan Huang A Development TEAM WORK WITH a testing TEAM 42 队
  • 43.
    Copyright © 2011- 2015 Ethan Huang43 An INDIVIDUAL developer PAIR WORK with an INDIVIDUAL tester 对
  • 44.
    Copyright © 2011- 2015 Ethan Huang44
  • 45.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Defending vs. Attacking 45
  • 46.
    Copyright © 2011- 2015 Ethan Huang Scrum Alliance Certified Scrum Extended Education Course Agile Testing Strategy 46
  • 47.
    Copyright © 2011- 2015 Ethan Huang Case Study Falcon team is working on the end-to-end system testing against the drivers for some chips. Different components are developed by different Scrum teams. If there is a system defect it might physically destroy the hardware. Whenever that happens it costs 100,000 USD. 47
  • 48.
    Copyright © 2011- 2015 Ethan Huang Case Study Eagle team is producing a communication software on satellites. Whenever they want to do end-to-end functional testing they have to use a real satellite and it costs 500,000 USD. 48
  • 49.
    Copyright © 2011- 2015 Ethan Huang Do the RIGHT testing, at the RIGHT timing, using the RIGHT approach, by the RIGHT people 49
  • 50.
    Copyright © 2011- 2015 Ethan Huang Q&A 50
  • 51.
    Copyright © 2011- 2015 Ethan Huang Thanks!