PLANET AGILE 17E BPUG SEMINAR
Effectief testen in Agile projecten Rik Marselis (Sogeti)
.
Effectief testen in Agile projecten Rik Marselis Management Consultant Quality & Testing bij Ruim 30 jaar IT ervaring, ruim 15 jaar kwaliteit & testen
Adviseur, procesverbeteraar & coach bij vele organisaties Prince2 Practitioner, CMMI en CISA
Docent voor diverse trainingen, bijv. Agile testen TMap, TPI en ISTQB geaccrediteerd
Research Auteur div. boeken en artikelen Fellow van SogetiLabs, Spreker op div. conferenties
Voorzitter
(vereniging voor testers, 1600 leden)
@rikmarselis www.bpug.nl
2
Agile is always “QD”
Agile = Quality Development Agile = Quick Development Agile = Quick & Dirty Agile = Quite a Disaster What is your QD ??? www.bpug.nl
Agile is always “QD” Dit zegt de Scrum guide over kwaliteitszorg:
www.bpug.nl
4
Effectief testen in Agile projecten Kies de BACKLOG-ITEMS voor deze timebox: • • • • • • • • • •
Risico-gebaseerd werken (wat is risk poker?) Onafhankelijk testen (aparte test-sprints?) De bekende testactiviteiten (passen die in Scrum?) Quality Gates in Scrum (is dat tegenstrijdig?) Moet al het testwerk in de sprint gebeuren (ketentesten?) Rol van de tester (is een specialist nodig?) A sustainable pace (kun je voortdurend sprinten?) Exploratory testing (moet je altijd vooraf testgevallen maken?) Testautomatisering (waarom kan het niet handmatig?) Focus niet op tijd en kosten (maar op kwaliteit en risico!)
www.bpug.nl
5
De rol van de tester Een Agile team bestaat uit ‘developers’ Dus gespecialiseerde testers zijn niet meer nodig? Product Owner
Wat vind jij?
Scrum guide: • Development teams are cross-functional, with all of the skills necessary • No sub-teams regardless of domains like business analysis or testing
Testen een van de skills www.bpug.nl
Scrum master
Development team
team member 6
Aparte test-sprints? Development
Testing
Niet apart testen!! www.bpug.nl
Scrum guide: No sub-teams
Focus niet op tijd en kosten, maar op kwaliteit en risico
This should be no surprise in an agile context, but often still is!! www.bpug.nl
Focus niet op tijd en kosten, maar op kwaliteit en risico Determine product risk of each backlog item and record it on the (story) card (input for planning poker, assigning story points)
Evaluate backlog items and communicate obscurities with product owner
Overview testing activities in scrum www.bpug.nl
Testactiviteiten in Scrum
Bron: TMap NEXT in Scrum www.bpug.nl
10
About sprinting How long does the 100 meter sprint take? 100 meter sprint +10 seconds How long does it take to sprint a marathon? 42 kilometer sprinting +70 minutes What is the world record for a marathon? Marathon record +120 minutes Conclusion: You can’t sprint all the time Agile principle: Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. (prevent having a team-burnout; implement the Agile principles in a proper way!) www.bpug.nl
11
Welke testsoorten in de sprint?
bijv. ketentest
Demand Supply
www.bpug.nl
12
Ketentesten Meerdere Agile-teams brengen deel-producten bijeen die samen met bestaande systemen de procesketen ondersteunen. Bedrijfsproces (van klant tot klant) Systeem 1
Systeem 2
Systeem 3
Bestaand ongewijz.
Systeem 4 Bestaand ongewijz.
www.bpug.nl
Systeem 5 Scope keten test
13
Quality Gates & Agile The demand side often uses a phased approach The supply side often uses an agile approach Good supervision, using quality gates, can glue them together in a pragmatic manner Supervision
Demand Supply
www.bpug.nl
14
Quality Gates in Scrum? Collaborate:handover based on criteria Collaboration at handover of artifacts (quality gates) Collaboration of all parties involved for example: don’t forget the maintenance people
A quality gate is not a point in the process where everything comes to a stand-still, on the contrary: it must be a smooth handover based on previously agreed and monitored criteria
www.bpug.nl
15
Quality Gates in Scrum? Collaborate:handover based on criteria
Quality Gate? Definition of Done!
The handovers in Agile are accomplished by teamwork and common ownership. Is is no longer a mere transfer of documents or deliverables. It is common responsibility. Doing Agile well will ensure that nothing gets ‘lost in translation’ www.bpug.nl
Testen en Definition of Done From a test perspective, a DoD contains: • The criteria that have to be met in a sprint with regard to the defects procedure • A specification of the test intensity that is to be used while creating the test cases, based on the established product risk • The agreements made concerning the test process • The agreements made concerning the test results • The test levels that have been included in the sprint. In general, one can say: Do not allow anything that is not completely ready into the sprint, and do not allow anything that is not quite done to escape. A sprint can only be classified as done if the testing has also been done. Source: Integrate Test Activities in Agile Projects www.bpug.nl
17
Riskpoker Twee risk-poker-rondes vooraf aan planning poker 1. Faalkans 2. Schade
www.bpug.nl
18
Riskpoker Testzwaarte hangt af van productrisico Product owner Als PR medewerker wil ik een twitter koppeling zodat ik snel kan informeren Discussie
Scrum master 1
3 2
2
Agile Team www.bpug.nl
19
Riskpoker Resultaat op story-card als input voor planningpoker Sprint goals
Kenmerk/ testvorm
Schade
Faalkans
Risicoklasse
US 1
Regressie
3
3
9
US 2
Functionaliteit Beveiliging
2 3
2 2
4 6
Feature 1
Regressie
2
1
2
Overall
Performance
2
1
2
US 3
Gebr.vr.heid
1
1
1
Functionaliteit
2
2
4
Geschiktheid ..
2 ..
2 ..
4 ..
US 4 ..
www.bpug.nl
Storycard - risico - omvang
20
Testautomatisering: een “must” Twee soorten testautomatisering Regressietesten: Elke sprint testen of de deliverables van de vorige sprints nog werken Dit kun je handmatig niet bijbenen !!! Acceptance Test Driven Development: Specificaties worden geschreven als automatisch uitvoerbare tests Dus zodra de software wordt opgeleverd kun je onmiddellijk de test runnen en vaststellen of de software voldoet aan de specificaties Testtooling is meer dan geautomatiseerd uitvoeren van tests: - Bevindingenbeheer (in ieder geval wat na de sprint open staat) - Testdatamanagement (elke sprint weer de juiste data nodig) - Genereren testgevallen (want te weinig tijd om het handmatig te doen) - En meer … www.bpug.nl
21
Exploratory Testing binnen Agile Het SIMULTAAN leren, ontwerpen en uitvoeren van tests Met andere woorden: elke vorm van testen waarbij de tester zijn testen ontwerpt tijdens de testuitvoering en de informatie die wordt verkregen tijdens het testen wordt gebruikt om nieuwe en betere testgevallen te ontwerpen [Bach, 2002]
Past dit binnen Agile?
www.bpug.nl
Exploratory Testing binnen Agile Binnen Agile kunnen specificaties wijzigen – Bij minder risicovolle delen daarom minder tijd steken in vooraf opstellen testgevallen Structuur aan te brengen door strategieafwegingen, testcharters en testsessies M.a.w. Verkom “waste”
Risicovolle delen vergen een gedegen voorbereiding “Testbasis” te verkrijgen door ‘pairen’ of team aanspreken op opleveren minimale testbasis (=documentatie)
M.a.w. Wees grondig in aantonen werkende software www.bpug.nl
Retrospective
Meer weten? De boeken:
Vragen? Opmerkingen?
www.bpug.nl
[email protected] www.PointZERO.info www.TMap.net www.Sogeti.nl www.ict-books.com