Seven Deadly Sins of Agile Testing
About me – Brad Swanson 2
Time to market 3 Deliverable ImplementAnalyze Deliverable Traditional Development Agile Development Test
Risk 4 Time traditional agile
Schedule Confidence 5 ?
6 Productivity
ROI 7 traditional agile time + Early to market advantage - $
Quality 8 Open defects Time traditional agile
9 Source: Dr. Dobb’s Journal 2008 Agile Adoption Survey
Sin #7: Separation of Requirements & Tests 10 Req Spec Tests
Penance 11 Create an executable specification: Spec == Tests Use concrete examples to specify requierements Analysts and Testers become best friends! Acceptance Test Driven Development (ATDD, BDD) Cucumber, FIT, Fitnesse, Selenium Other tools??? INVEST in user stories Independent, Negotiable, Valuable, Estimable, Small, Testable Include testing in the Definition of Done for stories & sprints Expand your skills
Sin #6: Testing is one sprint behind 12 Code sprint 1 Test Sprint 1 Code sprint 2 Code sprint 3 Code sprint 4 Test Sprint 2 Test Sprint 3 Test Sprint 4
Penance 13 Include testing in the Definition of Done for stories & sprints Smaller backlog items & user stories splitting-user-stories/ Testers define & create tests at the start of each story/sprint Automated testing / TDD / ATDD / BDD
Sin #5: Unbalanced Testing Quadrants 14
Penance 15 Include the appropriate testing quadrants in the Definition of Done for stories, sprints, and releases. Have a balanced testing plan as part of release planning Create backlog items for appropriate testing activities, e.g. – ility testing. Get management commitment to support effort needed to “catch up” on test automation; show the ROI on automation. Get real users & stakeholders to participate in acceptance testing – early and often.
Sin #4: Ignoring Test Failures 16
17
Penance 18 Discipline: stop the line whenever the CI build & tests fail Invest in making automated tests robust Create incentives for team members to have clean check-ins; friendly competition? Take metrics: reward people for improving quality and automated test coverage
Sin #3: Lack of TDD & CI 19
Penance 20 Commit as a team to doing TDD and CI Discipline: keep it going Expand your skills Invest in infrastructure, tools, training. Show the ROI. Keep metrics to measure resulting quality improvements
Sin #3: Lack of Test Automation 21
Sin #2: Separate QA Team 22 QA Dev QA QA QA QA QA
Penance 23 Form cross-functional teams including QA Co-located teams: same room Do a pilot project with QA dedicated to the team; keep metrics to demonstrate the results. Keep QA fully involved with the team: planning, implementing stories, demos, retrospectives Whole-team responsibility for product quality
Sin #1: WaterScrumming 24 Analysis sprint Code sprint Test sprint Analysis sprint Test sprint Test sprint
Penance 25 Form cross-functional teams including QA & analysts Include testing in the Definition of Done for stories & sprints INVEST in user stories Independent, Negotiable, Valuable, Estimable, Small, Testable user-stories/ Testers define & create tests at the start of each story/sprint TDD / ATDD / BDD Allow one hardening sprint before release with all hands on deck testing
26
27
License agreement At least part of the material used in this presentation has been licensed as Creative Common, non-commercial, share- alike content ( sa/3.0/de/deed.en) from agile42 GmbH. sa/3.0/de/deed.en As per the license agreement you are entitled to do whatever you like to the material as far as is not contradicting basic principle of the license. On top of that agile42 GmbH kindly asks you to return any change you will make to this material, for validation and sharing purposes.