testing in agile
DESCRIPTION
Slides for my presentation about testing in agile projects given December 1st 2009 at Agile Dinner in Helsinki, Finland.TRANSCRIPT
Testing in AgileAri Tanninen
Agile Dinner HelsinkiDecember 1st 2009
Wednesday, December 2, 2009
AgendaIntroductionsMotivation
Wednesday, December 2, 2009
Assumptions
• Understanding of software development
• Familiarity of agile
• Basic testing know-how
Wednesday, December 2, 2009
My Biases
• Java developer
• Object-orientation
• Consulting
Wednesday, December 2, 2009
Everything About Testing
Wednesday, December 2, 2009
Functional testing...
• Black box
• White box
• Grey box
• Regression
• Smoke
• User
Wednesday, December 2, 2009
Levels of testing...
• Unit
• Module
• Component
• Integration
• System
• System integration
Wednesday, December 2, 2009
More testing!
• Performance, scalability, stability, stress
• Destructive
• Usability
• Security
• Exploratory
• Monkey
Wednesday, December 2, 2009
Wednesday, December 2, 2009
Back to Basics
Wednesday, December 2, 2009
Purposes of Testing
• Product validation (the right product?)
• Support development (built right?)
• User / Technology
• System / Code
Wednesday, December 2, 2009
Sour
ce: B
rian
Mar
ick,
Mar
y Po
ppen
diec
k, a
dditi
ons
by m
eht
tp://
ww
w.e
xam
pler
.com
/old
-blo
g/20
03/0
8/21
/#ag
ile-t
estin
g-pr
ojec
t-1
http
://st
opan
dfix.
blog
spot
.com
/200
9/04
/all-
abou
t-te
stin
g.ht
ml
Wednesday, December 2, 2009
Agile Needs from Testing
Wednesday, December 2, 2009
Waterfall
Analysis Design Coding Testing DeployingPlanning Done!
Risk analysisTest planning
Test case design
Wednesday, December 2, 2009
Agile
Analysis Design Coding Testing DeployingPlanning
Analysis Design Coding Testing DeployingPlanning
Analysis Design Coding Testing DeployingPlanning
Analysis Design Coding Testing DeployingPlanning
Done!
Done!
Done!
Done!
Risk analysisTest planning
Test case design
Risk analysisTest planning
Test case design
Risk analysisTest planning
Test case design
Definition of done: tested
Wednesday, December 2, 2009
Potentially shippable functionality at the end
of every iteration?
Wednesday, December 2, 2009
Sour
ce: B
rian
Mar
ick,
Mar
y Po
ppen
diec
k, a
dditi
ons
by m
eht
tp://
ww
w.e
xam
pler
.com
/old
-blo
g/20
03/0
8/21
/#ag
ile-t
estin
g-pr
ojec
t-1
http
://st
opan
dfix.
blog
spot
.com
/200
9/04
/all-
abou
t-te
stin
g.ht
ml
Wednesday, December 2, 2009
The Problem
1 2 3 4
Feat
ures
to
be t
este
d
Iteration
Wednesday, December 2, 2009
Test Automation
Wednesday, December 2, 2009
Automated test case execution!
Automated testing?
Who designs and automates the test cases?
Wednesday, December 2, 2009
Agile Development
Iterative andincrementaldevelopment
Up-frontdesign
impossible
Featuresadded,
changed,removed
Design mustevolve
Changingcodebase
RefactoringRegression
testingTest
automation
Test-firstdevelopment
Tests, too!
Wednesday, December 2, 2009
The Key to Test Automation
Software development
Testing tools?
http://stopandfix.blogspot.com/2009/03/key-to-test-automation.html
Wednesday, December 2, 2009
Tests are software, too
• Evolution
• Architecture & design
• Iterative & incremental development
• Readability (➙DSL)
Wednesday, December 2, 2009
Why test-first?
• Efficient, least boring way to regression
• Minimalism (“do only what is needed”)
• “Done”
• Design
• Collaboration
Wednesday, December 2, 2009
Unit Test Driven Development
Acceptance Test Driven Development
Wednesday, December 2, 2009
Challenges to Testing
• Changing spec, code, and tests
• “Potentially shippable” after every iteration
• Usability & property testing
• Tester’s role
Wednesday, December 2, 2009
Tester’s Role Redefined
• Acceptance tests, user view of system
• Business value focus, PO liaison
• Exploratory testing & the difficult stuff
• Thinking, contributing team member
• Learn programming, train developers
Wednesday, December 2, 2009
Keys to Agile Testing
• Developer testing
• Evolving testing tools ➙ programming
• Lazy & adaptive mindset
• Collaboration
Wednesday, December 2, 2009
Beer.
Wednesday, December 2, 2009