TMap dag Slim & praktisch testen met
29 september 2015
TMap HD aanpakken
Slim & praktisch testen met de TMap® HD aanpakken: Ervaring & Dekking
Vraag 1:
Test ontwerp technieken toepassen is
makkelijk
TMap dag 2015 | 2
Rik Marselis
© Sogeti 2015 1
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Vraag 2:
Test ontwerp technieken toepassen is
leuk
TMap dag 2015 | 3
Vraag 3:
Hoeveel Test Ontwerp Technieken zijn er?
TMap dag 2015 | 4
Rik Marselis
© Sogeti 2015 2
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Test design techniques & coverage types TMap NEXT
• Equivalence classes • Boundary value analysis • Decision points (CC, DC, CDC, MCDC, MCC) • Orthogonal arrays • Pairwise testing • Data cycle test (CRUD) • Statistical usage (op.prof. • Right paths / Fault paths • Checklist • Decision table • Data Combination Test • Elementary comparison tst • Process Cycle test • Real-life test • Semantic test • Syntactic test • Use case test • Error Guessing • Exploratory testing • Reviews • Walkthroughs • Inspections
ISTQB • • • • • • • • • • • • • • • • • • • • •
Equivalence partitioning Boundary value analysis Decision table testing Cause Effect graphing State transition testing Use case testing User story testing Structure based (SC, CC, DC, CDC, MCDC, MCC) Error Guessing Exploratory testing Orthogonal arrays Pairwise testing Domain analysis Defect based techniques Checklist Combinatorial / Class. tree Informal review Technical review Walkthrough Inspection Static analysis
Torbjorn Ryber
• Exploratory testing (this is an approach, not a technique) • Inspection • Walkthrough • Technical review • Informal review • Modelling • Equivalence partitions • Boundary values • Domain tests • Business process testing • Use case testing • State based testing • Decision tables & trees • Elementary comparison • Combinatorial testing • Data cycle testing • Syntax testing • Time cycle testing • Program Logic (SC, BC, PC) • Data flow testing
Boris Beizer • Control-flow testing • Loop testing • Data-flow testing • Transaction-flow testing • Domain testing • Syntax testing • Finite-state testing
And more…
| 5
Vraag 4:
Hoeveel Test Ontwerp Technieken gebruik je in je dagelijks werk?
TMap dag 2015 | 6
Rik Marselis
© Sogeti 2015 3
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Vraag 5:
Welke Test Ontwerp Technieken gebruik je in je dagelijks werk?
TMap dag 2015 | 7
Moeite met testontwerptechnieken? TMap HD helpt !! Integrate People
Simplify
Confidence
Industrialize Human driven
Quality driven TMap dag 2015 | 8
Rik Marselis
© Sogeti 2015 4
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Test aanpakken Wat wordt hiermee bedoeld? Wat is het verschil?
TMap dag 2015 | 9
Waarom dekking?
TMap dag 2015 | 10
Rik Marselis
© Sogeti 2015 5
TMap dag Slim & praktisch testen met
29 september 2015
TMap HD aanpakken
Dekking: kies uit 4 groepen Je kunt beter 1 of 2 technieken uit elke groep beheersen dan alle technieken uit maar één groep TMap dag 2015 | 11
Stap 1 bij dekking-gebaseerd testen: Bepaal wat voor soort “testuitdaging” je hebt… Gaat het om een proces… Gaat het om condities… Gaat het om gegevens… Gaat het om presentatie… TMap dag 2015 | 12
Rik Marselis
© Sogeti 2015 6
TMap dag Slim & praktisch testen met
29 september 2015
TMap HD aanpakken
Dekking Groep 1: Proces; PCT
TMap dag 2015 | 13
De OV-tarief-percentage berekening Wat voor testuitdaging hebben we hier? - Proces? - Condities? - Gegevens? - Presentatie? TMap dag 2015 | 14
Rik Marselis
© Sogeti 2015 7
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Voorbeeld 1: Proces Cyclus Test TM – 1 (ieder pad): Testcase a: 1,2 Testcase b: 1,3,4 Testcase c: 1,3,5
1 A
2
3 TM – 2 (elke padcombinatie) A: 1-2, 1-3 B: 3-4, 3-5
B
Testcase a: 1-2 Testcase b: 1-3 & 3-4 Testcase c: 1-3 & 3-5
4
5
TMap dag 2015 | 15
Voorbeeld 1: Proces Cyclus Test Met testmaat 1 bereik je nog twee dekkingsvormen: - Statement coverage (elke actie geraakt) - Decision coverage (elke uitkomst van een beslissing geraakt) Maaaar… Heb je met deze drie testgevallen voldoende vertrouwen? Je vraagt je af: moet ik ook de combinatie van condities afdekken?
Rik Marselis
1 A 3 B
2
4
5
TMap dag 2015 | 16
© Sogeti 2015 8
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Dekking Groep 2: Condities; Beslistabel
TMap dag 2015 | 17
Beslissingstabel Age < 4
Y
N
N
N
N
N
Age >= 4 and < 18
N
-
Y
N
N
N
Age >= 18 and < 65
N
-
N
N
Y
Y
Soldier
-
Y
N
N
N
N
Card
-
-
N
N
Y
N
0% (free)
X
X X
X
X
50% 100%
Rik Marselis
Zo leer je het bij ISTQB Foundation, maar je mist makkelijk iets, en hoeveel vertrouwen heb je nu?
X
| 18
© Sogeti 2015 9
TMap dag Slim & praktisch testen met
29 september 2015
TMap HD aanpakken
Beslissingstabel – multiple condition coverage
Op deze manier heb je alle combinaties van condities, en zeker ook alle procespaden, maar tevens veel onmogelijke, en misschien (afhankelijk van het risico) overbodige testgevallen. En hoeveel vertrouwen heb je? TMap dag 2015 | 19
Dekking Groep 2: Condities; EVT
TMap dag 2015 | 20
Rik Marselis
© Sogeti 2015 10
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Elementaire vergelijkingen test en MCDC Stappen in elementaire vergelijkingen test: 1. Identificeer beslispunten 2. Bepaal de testsituaties met MCDC (Modified Condition Decision Coverage)
D1
3. Creëer Logische Testgevallen
D2
4. Creëer Fysieke Testgevallen 5. Creëer Testscript
| 21
MCDC met 2 condities D1 = < 4 jaar OF soldaat 0
Neutrale waarde
TRUE (1) = 0%
(A) < 4 jaar
A D1.1 1
B 0.
(B) soldaat
D1.2 .0
1
FALSE (0) = ga naar D2 A D1.3 0
B .0
0.
0
STAP 2: D1.1, D1.2 en D1.3 zijn onze testsituaties | 22
Rik Marselis
© Sogeti 2015 11
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
MCDC met 4 condities D2 = > 4 EN < 18 OF > 65 OF Kaart 1
0
Neutrale waarden (EN = 1, OF = 0 )
0
TRUE (1) = 50 % A
(A) > 4
D2.1
(B) < 18
B
FALSE (0) = 100 % C
D
A
B
C
D
1
1.
. 0
. 0
D2.4 0
1.
.0
.0
1.
1
0.
0.
D2.5 .1
0
.0
.0
(C) > 65
D2.2
1.
0.
1
0.
1 .
0 .
0
0 .
(D) Kaart
D2.3
1.
.0
0.
1
1 .
0 .
0.
0 | 23
ECT & MCDC Graaf STAP 3: Creëer logische testgevallen, Sub-stap 1: creëer graaf
D2.1
D1: < 4 jaar OF soldaat D1.1
D1.3
D1.2
D2: > 4 jaar EN < 18 OF > 65 OF Kaart
D2.2
D2.3
D2.4
D2.5
END | 24
Rik Marselis
© Sogeti 2015 12
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
ECT & MCDC Testgevallen STAP 3: Creeer Logische testgevallen Sub-stap 2: combineer test situaties STAP 4 en 5: Creeer Fysieke testgevallen en Testscripts D1.3 : > 4 JAAR, NIET soldaat D2.4 : < 4 JAAR, < 18 JAAR, < 65 YJAAR, Geen kaart Dit is een GOED Logisch Testgeval ONMOGELIJK Fysiek Testgeval Dus we hebben: 7 logische testgevallen en 6 fysieke testgevallen
| 25
Dekking Groep 3: Gegevens; DCT
TMap dag 2015 | 26
Rik Marselis
© Sogeti 2015 13
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Data Combinatie Test 3 gegevens elementen: - Leeftijd 4 waarden ( < 4, > 4 & < 18, > 18 & < 65, > 65 ) - Soldaat - Kaart
2 waarden (JA & NEE) 2 waarden (JA & NEE) OV tarief
Teken een classification tree: Leeftijd
<4
> 4 & < 18
Soldaat
> 18 & < 65
> 65
JA
Kaart
NEE
JA
NEE | 27
Data Combinatie Test: alle klassen Maak testgevallen met de dekking: Elke Waarde van elk gegeven
TC1
0%
TC2
0%
TC3
100%
TC4
0%
| 28
Rik Marselis
© Sogeti 2015 14
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Data Combinatie Test: pairwise Hoewel we nu alle combinaties van alle invoergegevens hebben, kunnen we niet garanderen dat we alle
outputs triggeren. Dus: Vertrouwen?
0% TC1 0% TC2 100% TC3 50% TC4 0% TC5 50% TC6 0% TC7 0% TC8
| 29
Efficient toepassen: Automated Test Design tool
TMap dag 2015 | 30
Rik Marselis
© Sogeti 2015 15
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
COVER: de testontwerptool van Sogeti Ontwerpen van: • testsituaties, • testgevallen en • fysieke testgevallen Diverse technieken Working with the TMap Suite | 31
COVER Binnenkort: COVER HD
Working with the TMap Suite | 32
Rik Marselis
© Sogeti 2015 16
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Maar… Geeft dit alles voldoende vertrouwen?
TMap dag 2015 | 33
Test aanpakken
TMap dag 2015 | 34
Rik Marselis
© Sogeti 2015 17
TMap dag Slim & praktisch testen met
29 september 2015
TMap HD aanpakken
Aanpak: Ervaring
TMap dag 2015 | 35
Ervaring gebaseerde aanpakken in TMap HD Experience brought together Largely intuitive & ad hoc Structured, chartered
Working with the TMap Suite | 36
Rik Marselis
© Sogeti 2015 18
TMap dag Slim & praktisch testen met
29 september 2015
TMap HD aanpakken
Ervaring Groep 3: Exploratory testen
TMap dag 2015 | 37
Exploratory testing
Testontwerp en testuitvoering gebeuren parallel Als leidraad is er een “charter” Beperkt door een “timebox” Bij voorkeur in tweetallen (bijv. een materiedeskundige en een tester)
Tijdens het testen gebruik je je creativiteit, intuitie, vaardigheden en de ervaring uit eerdere testgevallen om het beste volgende testgeval te bedenken en uit te voeren. Daarbij kun je prima gebruik maken van dekkinggebaseerde technieken. En je gebruikt heuristieken (lees “Explore It!” ) TMap dag 2015 | 38
Rik Marselis
© Sogeti 2015 19
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Exploratory testing = gestructureerd testen !! Charter met Scope en Timebox Ontwerp een testgeval en voer het uit Gebruik een “orakel” voor de uitvoervoorspelling Log de resultaten, o.a. t.b.v. hertesten en bevindingen Doe een debriefing met de test manager, de scrum master of een teamlid. TMap dag 2015 | 39
Logging testgevallen Volg nr.
Leeftijd
Soldaat J/N
Kortingkaart J/N
Verwacht resultaat
Werkelijk resultaat
Opmerking
1
64
N
N
100%
100%
Passed
2
65
N
N
50%
50%
Passed
3
66
N
N
50%
50%
Passed
4
40
J
J
0%
50%
Failed; zie bevinding 0032
5 6 7 8 9 10 Working with the TMap Suite |
Rik Marselis
© Sogeti 2015 20
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Integrate: combineer de test aanpakken Goed gestructureerd testen is: Een combinatie van
Dekking gebaseerd en
ervaring gebaseerd testen
Working with the TMap Suite | 41
Terugkoppeling en conclusie Coverage based testen met tooling zodat je op een efficiënte manier een aantoonbare dekking hebt Experience based testen om aanvullende dekking, en vooral vertrouwen te krijgen Combinatie van gegenereerde dekking en hersenkracht geeft optimaal testen.
Working with the TMap Suite | 42
Rik Marselis
© Sogeti 2015 21
29 september 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
Happy Testing! Met de TMap Suite.
Even voorstellen: Rik Marselis Management Consultant Quality & Testing bij Zo’n 35 jaar IT ervaring, zo’n 17 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 En daarnaast:
Voorzitter
(vereniging voor & door testers, 1700 leden)
@rikmarselis
Rik Marselis
Working with the TMap Suite | 44
© Sogeti 2015 22