testing in agile

29
Testing in Agile Ari Tanninen Agile Dinner Helsinki December 1 st 2009 Wednesday, December 2, 2009

Upload: ari-tanninen

Post on 27-Jan-2015

112 views

Category:

Technology


1 download

DESCRIPTION

Slides for my presentation about testing in agile projects given December 1st 2009 at Agile Dinner in Helsinki, Finland.

TRANSCRIPT

Page 1: Testing In Agile

Testing in AgileAri Tanninen

Agile Dinner HelsinkiDecember 1st 2009

Wednesday, December 2, 2009

Page 2: Testing In Agile

AgendaIntroductionsMotivation

Wednesday, December 2, 2009

Page 3: Testing In Agile

Assumptions

• Understanding of software development

• Familiarity of agile

• Basic testing know-how

Wednesday, December 2, 2009

Page 4: Testing In Agile

My Biases

• Java developer

• Object-orientation

• Consulting

Wednesday, December 2, 2009

Page 5: Testing In Agile

Everything About Testing

Wednesday, December 2, 2009

Page 6: Testing In Agile

Functional testing...

• Black box

• White box

• Grey box

• Regression

• Smoke

• User

Wednesday, December 2, 2009

Page 7: Testing In Agile

Levels of testing...

• Unit

• Module

• Component

• Integration

• System

• System integration

Wednesday, December 2, 2009

Page 8: Testing In Agile

More testing!

• Performance, scalability, stability, stress

• Destructive

• Usability

• Security

• Exploratory

• Monkey

Wednesday, December 2, 2009

Page 9: Testing In Agile

Wednesday, December 2, 2009

Page 10: Testing In Agile

Back to Basics

Wednesday, December 2, 2009

Page 11: Testing In Agile

Purposes of Testing

• Product validation (the right product?)

• Support development (built right?)

• User / Technology

• System / Code

Wednesday, December 2, 2009

Page 12: Testing In Agile

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

Page 13: Testing In Agile

Agile Needs from Testing

Wednesday, December 2, 2009

Page 14: Testing In Agile

Waterfall

Analysis Design Coding Testing DeployingPlanning Done!

Risk analysisTest planning

Test case design

Wednesday, December 2, 2009

Page 15: Testing In Agile

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

Page 16: Testing In Agile

Potentially shippable functionality at the end

of every iteration?

Wednesday, December 2, 2009

Page 17: Testing In Agile

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

Page 18: Testing In Agile

The Problem

1 2 3 4

Feat

ures

to

be t

este

d

Iteration

Wednesday, December 2, 2009

Page 19: Testing In Agile

Test Automation

Wednesday, December 2, 2009

Page 20: Testing In Agile

Automated test case execution!

Automated testing?

Who designs and automates the test cases?

Wednesday, December 2, 2009

Page 21: Testing In Agile

Agile Development

Iterative andincrementaldevelopment

Up-frontdesign

impossible

Featuresadded,

changed,removed

Design mustevolve

Changingcodebase

RefactoringRegression

testingTest

automation

Test-firstdevelopment

Tests, too!

Wednesday, December 2, 2009

Page 22: Testing In Agile

The Key to Test Automation

Software development

Testing tools?

http://stopandfix.blogspot.com/2009/03/key-to-test-automation.html

Wednesday, December 2, 2009

Page 23: Testing In Agile

Tests are software, too

• Evolution

• Architecture & design

• Iterative & incremental development

• Readability (➙DSL)

Wednesday, December 2, 2009

Page 24: Testing In Agile

Why test-first?

• Efficient, least boring way to regression

• Minimalism (“do only what is needed”)

• “Done”

• Design

• Collaboration

Wednesday, December 2, 2009

Page 25: Testing In Agile

Unit Test Driven Development

Acceptance Test Driven Development

Wednesday, December 2, 2009

Page 26: Testing In Agile

Challenges to Testing

• Changing spec, code, and tests

• “Potentially shippable” after every iteration

• Usability & property testing

• Tester’s role

Wednesday, December 2, 2009

Page 27: Testing In Agile

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

Page 28: Testing In Agile

Keys to Agile Testing

• Developer testing

• Evolving testing tools ➙ programming

• Lazy & adaptive mindset

• Collaboration

Wednesday, December 2, 2009

Page 29: Testing In Agile

Beer.

Wednesday, December 2, 2009