No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto...

18
1 No test levels needed in agile software development! No test levels needed in agile software development! No test levels needed in agile software development! No test levels needed in agile software development! Leo van der Aalst Lector Software Quality and Testing PNSQC, October 11h 2011 Portland Copies may not be made or distributed for c ommercial use Excerpt from PNSQC 2011 PNSQC.ORG ____________ __________ ____________ __________ ____________ __________ ____________ __________ ____________ ____ _

Transcript of No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto...

Page 1: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

1

No test levels needed in agile software development!No test levels needed in agile software development!No test levels needed in agile software development!No test levels needed in agile software development!

Leo van der AalstLector Software Quality and Testing

PNSQC, October 11h 2011

Portland

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 2: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

AgendaAgendaAgendaAgenda

• About agile

• Testing in agile software development

• No test levels needed

2

• No test levels needed

• Product risk analysis (one-table approach)

• Summary

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 3: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

About agile About agile About agile About agile ---- Some iterative methodsSome iterative methodsSome iterative methodsSome iterative methods

• Rapid Application Development (RAD)- 80’s, Barry Boehm, Scott Shultz and James Martin

• Scrum- 1986, Ikujiro Nonaka en Hirotaka Takeuchi

3

- 1986, Ikujiro Nonaka en Hirotaka Takeuchi

• Dynamic Systems Development Method (DSDM)- 1995, DSDM Consortium

• eXtreme Programming (XP)- 1996, Kent Beck, Ken Auer, Ward Cunningham, a.o.

• Feature Driven Development (FDD)- 1997, Jeff de Luca

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 4: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

About agile About agile About agile About agile ---- Agile Manifesto (2001)Agile Manifesto (2001)Agile Manifesto (2001)Agile Manifesto (2001)

• Individuals and interactions over processes and

tools

• Working software over comprehensive

4

• Working software over comprehensive

documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

While there is value in the items on the right, the items on the left are valued more!

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 5: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Vision on testing in agile environmentsVision on testing in agile environmentsVision on testing in agile environmentsVision on testing in agile environments

• Manifesto is starting point

• Integrated test process

- testing activities must be integrated in both the

development process itself and in the team

5

testing activities must be integrated in both the

development process itself and in the team

- testing should move the project forward

- testing tools are increasingly important

- testing is part of (definition of) done

• Find balance by making well-considered choices

• (Re)use values of proven test approachesCopies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 6: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Put the test vision into practice by:Put the test vision into practice by:Put the test vision into practice by:Put the test vision into practice by:

• Seeing testing as the driver of the project

• Integrating testing in the entire process

• Start testing from the beginning of the project

6

• Start testing from the beginning of the project

• Integrating testing in the team

• Giving testing a role in the requirements elicitation

• Making it possible to test with a limited test basis

• Seeing testing as a part of "done"

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 7: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

First things to do (being a tester)First things to do (being a tester)First things to do (being a tester)First things to do (being a tester)

• Make sure you understand the business

(domain knowledge)

• Involve yourself in unit testing

7

• Involve yourself in unit testing

• Assist other team members in non-testing

activities

• Communicate about what is not documented

• Design test cases so they can be automated

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 8: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

No test levels needed No test levels needed No test levels needed No test levels needed ---- CharacteristicsCharacteristicsCharacteristicsCharacteristics

• No separate testlevels like system test or

(user/production) acceptance test

• All team members work together

8

• All team members work together

• All disciplines work together, support eachother

• No designer, developer, user or test teams

• No test levels/teams with their own budget

• Team members accept the feature with their own

acceptance criteria in mindCopies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 9: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

No test levels needed No test levels needed No test levels needed No test levels needed ---- TraditionallyTraditionallyTraditionallyTraditionally

wish, legislation, policy, opportunity, problem

operation & management

9

development

acceptance

systemSupplying partySupplying partySupplying partySupplying party

Accepting partyAccepting partyAccepting partyAccepting party

functionaldesign

realisation

technicaldesign

requirements

UT, UT, UT, UT,

UITUITUITUIT

STSTSTST

SITSITSITSIT, FAT, , FAT, , FAT, , FAT,

UAT, PATUAT, PATUAT, PATUAT, PAT

tests

tests

tests

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 10: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

wish, legislation, policy, opportunity, problem

operation & management

No test levels needed No test levels needed No test levels needed No test levels needed –––– IntermediateIntermediateIntermediateIntermediate

10

user stories

requirements

features

time-boxedtest/development

acceptance functionality

suitability

user-friendliness

performance

security

continuity

manageability

reusability

maintainability

etc.

system

development

tests

tests

tests

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 11: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

wish, legislation, policy, opportunity, problem

operation & management

No test levels needed No test levels needed No test levels needed No test levels needed –––– Agile wayAgile wayAgile wayAgile way

11

user stories

requirements

features

time-boxedtest/development

tests

functionality

suitability

user-friendliness

performance

security

continuity

manageability

reusability

maintainability

etc.

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 12: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Product risk analysis Product risk analysis Product risk analysis Product risk analysis –––– StakeholdersStakeholdersStakeholdersStakeholders

UserUserUserUser

StoryStoryStoryStory

CharacteristicCharacteristicCharacteristicCharacteristic StakeholderStakeholderStakeholderStakeholder

US 1Functionality Person A

User-friendliness Person B

12

User-friendliness Person B

US 2Functionality Person A

Security Person C

US 3 Functionality Person A

US 4 Performance Person C

US 5 Performance Person C

US 6Functionality Person A

Suitability Person B

.. ..

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 13: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Product risk analysis Product risk analysis Product risk analysis Product risk analysis –––– Risk tableRisk tableRisk tableRisk table

UserUserUserUser

StoryStoryStoryStory

CharacteristicCharacteristicCharacteristicCharacteristic StakeholderStakeholderStakeholderStakeholder DamageDamageDamageDamage ChanceChanceChanceChance

ofofofof

FailureFailureFailureFailure

RiskRiskRiskRisk

ClassClassClassClass

US 1Functionality Person A 3 3 9

User-friendliness Person B 2 1 2

13

User-friendliness Person B 2 1 2

US 2Functionality Person A 2 2 4

Security Person C 3 2 6

US 3 Functionality Person A 2 1 2

US 4 Performance Person C 2 1 2

US 5 Performance Person C 1 1 1

US 6Functionality Person A 2 2 4

Suitability Person B 2 2 4

.. .. .. .. ..

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 14: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Product risk analysis Product risk analysis Product risk analysis Product risk analysis –––– Strategy tableStrategy tableStrategy tableStrategy table

UserUserUserUser

StoryStoryStoryStory

CharacteristicCharacteristicCharacteristicCharacteristic StakeholderStakeholderStakeholderStakeholder DamageDamageDamageDamage ChanceChanceChanceChance

ofofofof

FailureFailureFailureFailure

RiskRiskRiskRisk

ClassClassClassClass

IntensityIntensityIntensityIntensity TestTestTestTest

DesignDesignDesignDesign

TechniqueTechniqueTechniqueTechnique

US 1Functionality Person A 3 3 9 ●●● ECT-MCC

User-friendliness Person B 2 1 2 ● SYN

14

User-friendliness Person B 2 1 2 SYN

US 2Functionality Person A 2 2 4 ●● ECT-MCDC

Security Person C 3 2 6 ●● SEM-MCDC

US 3 Functionality Person A 2 1 2 ● DCoT-EQ

US 4 Performance Person C 2 1 2 ● EG

US 5 Performance Person C 1 1 1 ● EG

US 6Functionality Person A 2 2 4 ●● ECT-MCDC

Suitability Person B 2 2 4 ●● PCT-TDL2

.. .. .. .. ..

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 15: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Product risk analysis Product risk analysis Product risk analysis Product risk analysis –––– Progress tableProgress tableProgress tableProgress table

UserUserUserUser

StoryStoryStoryStory

CharacteristicCharacteristicCharacteristicCharacteristic SSSS

HHHH

DDDD CCCC

oooo

FFFF

RRRR

CCCC

IntensityIntensityIntensityIntensity TestTestTestTest

DesignDesignDesignDesign

TechniqueTechniqueTechniqueTechnique

Test CasesTest CasesTest CasesTest Cases

createdcreatedcreatedcreated

(Y/N)(Y/N)(Y/N)(Y/N)

Test CasesTest CasesTest CasesTest Cases

executedexecutedexecutedexecuted

(Y/N)(Y/N)(Y/N)(Y/N)

Tests PassedTests PassedTests PassedTests Passed

(Y/N)(Y/N)(Y/N)(Y/N)

US 1Functionality A 3 3 9 ●●● ECT-MCC

User-friendliness B 2 1 2 ● SYN

15

User-friendliness B 2 1 2 SYN

US 2Functionality A 2 2 4 ●● ECT-MCDC

Security C 3 2 6 ●● SEM-MCDC

US 3 Functionality A 2 1 2 ● DCoT-EQ

US 4 Performance C 2 1 2 ● EG

US 5 Performance C 1 1 1 ● EG

US 6Functionality A 2 2 4 ●● ECT-MCDC

Suitability B 2 2 4 ●● PCT-TDL2

.. .. .. .. ..

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 16: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

SummarySummarySummarySummary

• No separate test levels

• All acceptors present in relevant iterations

- prepare/execute their own tests (with/without help)

16

- prepare/execute their own tests (with/without help)

• Risk determined per feature/qc by and per acceptor

• Test strategy determined per feature/qc

- test intensity / test design techniques

• Just one table on white board

• Product is explicitely accepted by all acceptors

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 17: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Thank you for your attention!Thank you for your attention!Thank you for your attention!Thank you for your attention!

Questions?Questions?Questions?Questions?

17

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________

Page 18: No test levels needed in agile software development! · About agile -About agile ---Agile Manifesto (2001)Agile Manifesto (2001) •Individuals and interactions overprocesses and

Contact informationContact informationContact informationContact information

• EmailEmailEmailEmail

- [email protected]@[email protected]@fontys.nl

- [email protected]@[email protected]@leovanderaalst.nl

• PhonePhonePhonePhone

18

• PhonePhonePhonePhone

- +31 (0)6 2277 8105+31 (0)6 2277 8105+31 (0)6 2277 8105+31 (0)6 2277 8105

• InternetInternetInternetInternet

- www.fontys.nl/lectorenwww.fontys.nl/lectorenwww.fontys.nl/lectorenwww.fontys.nl/lectoren

- www.leovanderaalst.nl/home_eng.htmwww.leovanderaalst.nl/home_eng.htmwww.leovanderaalst.nl/home_eng.htmwww.leovanderaalst.nl/home_eng.htm

Copies may not be made or distributed for commercial use Excerpt from PNSQC 2011 PNSQC.ORG_________________________________________________________________________________________________________