PLANET AGILE17E 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
www.bpug.nl 2
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
Agile is always “QD”
Agile = Quality Development
Agile = Quick Development
Agile = Quick & Dirty
www.bpug.nl
Agile = Quick & Dirty
Agile = Quite a Disaster
What is your QD ???
Dit zegt de Scrum guide over kwaliteitszorg:
Agile is always “QD”
www.bpug.nl 4
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?)
Effectief testen in Agile projecten
www.bpug.nl
• 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!)
5
Een Agile team bestaat uit ‘developers’
Dus gespecialiseerde testers zijn niet meer nodig?
Wat vind jij?Scrum
master
Product
Owner
De rol van de tester
www.bpug.nl 6
Development
team
team
mem-
ber
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
Development
Aparte test-sprints?
www.bpug.nl
Niet apart testen!!
Testing
Scrum guide:
No sub-teams
Focus niet op tijd en kosten, maar op kwaliteit en risico
www.bpug.nl
This should be
no surprise
in an
agile context,
but often
still is!!
Evaluate backlog items and communicate obscurities with product owner
Determine product risk of each backlog item and record it on the (story) card(input for planning poker, assigning story points)
Focus niet op tijd en kosten, maar op kwaliteit en risico
www.bpug.nl
Overview testingactivities in
scrum
Testactiviteiten in Scrum
www.bpug.nl 10
Bron: TMap NEXT in Scrum
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
About sprinting
www.bpug.nl 11
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!)
Demand
Welke testsoorten in de sprint?
bijv. ketentest
www.bpug.nl 12
Demand
Supply
Meerdere Agile-teams brengen deel-productenbijeen die samen met bestaande systemen de procesketen ondersteunen.
Ketentesten
Systeem
1
Bedrijfsproces (van klant tot klant)
Systeem
2
Systeem
3
Systeem
4
Systeem
5
www.bpug.nl 13
Bestaand
ongewijz.
Bestaand
ongewijz. Scope
keten
test
The demand side often uses a phased approachThe supply side often uses an agile approachGood supervision, using quality gates, can glue themtogether in a pragmatic manner
Supervision
Quality Gates & Agile
www.bpug.nl 14
Demand
Supply
Collaboration at handover of artifacts (quality gates)
Collaboration of all parties involvedfor example: don’t forget the maintenance people
Quality Gates in Scrum?Collaborate:handover based on criteria
www.bpug.nl 15
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 onpreviously agreed and monitored criteria
Quality Gates in Scrum?Collaborate:handover based on criteria
Quality Gate?
Definition of Done!
www.bpug.nl
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’
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
Testen en Definition of Done
www.bpug.nl
• 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.
17
Source: Integrate Test Activities in Agile Projects
Twee risk-poker-rondes vooraf aan planning poker
1. Faalkans
2. Schade
Riskpoker
www.bpug.nl 18
Testzwaarte hangt af van productrisico
Riskpoker
Scrum master
Product owner
Discussie
Als PR medewerker
wil ik een twitter koppeling
zodat ik snel kan informeren
www.bpug.nl 19
Scrum master
Agile Team
2 2
13
Resultaat op story-card als input voor planningpoker
Sprint goals
Kenmerk/ testvorm
Schade Faal-kans
Risico-klasse
US 1 Regressie 3 3 9
US 2Functionaliteit 2 2 4
Riskpoker
Storycard
www.bpug.nl 20
US 2Beveiliging 3 2 6
Feature 1 Regressie 2 1 2
Overall Performance 2 1 2
US 3 Gebr.vr.heid 1 1 1
US 4Functionaliteit 2 2 4
Geschiktheid 2 2 4
.. .. .. .. ..
Storycard
- risico
- omvang
Twee soorten testautomatisering
Regressietesten:
Elke sprint testen of de deliverables van de vorige sprints nog werken
Dit kun je handmatig niet bijbenen !!!
Testautomatisering: een “must”
Acceptance Test Driven Development:
Specificaties worden geschreven als automatisch uitvoerbare tests
www.bpug.nl 21
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 …
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
Het SIMULTAAN leren, ontwerpen en uitvoeren van tests
Exploratory Testing binnen Agile
www.bpug.nl
ontwerpen
[Bach, 2002]
Past dit binnen Agile?
Binnen Agile kunnen specificaties wijzigen
– Bij minder risicovolle delen daarom minder tijd steken in vooraf opstellen testgevallen
Risicovolle delen vergen een gedegen voorbereiding
“Testbasis” te verkrijgen door ‘pairen’ of team aanspreken op opleveren minimale testbasis
Exploratory Testing binnen Agile
www.bpug.nl
opstellen testgevallen
Structuur aan te brengen door strategieafwegingen, testcharters en testsessies
M.a.w.
Verkom “waste”
minimale testbasis (=documentatie)
M.a.w.
Wees grondig in aantonen werkende software
Meer weten?De boeken: www.ict-books.com
Retrospective
www.PointZERO.infowww.TMap.net
www.Sogeti.nl
Vragen?Opmerkingen?
www.bpug.nl