Slim & praktisch testen met de TMap® HD aanpakken ... en praktisch testen... · TMap, TPI en ISTQB...
Transcript of Slim & praktisch testen met de TMap® HD aanpakken ... en praktisch testen... · TMap, TPI en ISTQB...
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 1
Slim & praktisch testen
met de TMap® HD
aanpakken: Ervaring & Dekking
|
Vraag 1:
Test ontwerp technieken toepassen is
makkelijk
TMap dag 2015 2
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 2
|
Vraag 2:
Test ontwerp technieken toepassen is
leuk
TMap dag 2015 3
|
Vraag 3:
Hoeveel Test Ontwerp Technieken zijn er?
TMap dag 2015 4
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 3
|
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
5
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…
|
Vraag 4:
Hoeveel Test Ontwerp Technieken gebruik
je in je dagelijks werk?
TMap dag 2015 6
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 4
|
Vraag 5:
Welke Test Ontwerp Technieken gebruik je
in je dagelijks werk?
TMap dag 2015 7
|
Moeite met testontwerptechnieken?
TMap HD helpt !!
8 TMap dag 2015
People
Integrate
Simplify
Industrialize
Confidence
Human driven Quality driven
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 5
|
Test aanpakken
9 TMap dag 2015
Wat wordt hiermee bedoeld?
Wat is het verschil?
|
Waarom dekking?
10 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 6
|
Dekking: kies uit 4 groepen
11 TMap dag 2015
Je kunt beter 1 of 2 technieken uit elke
groep beheersen
dan
alle technieken uit
maar één groep
|
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…
12 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 7
|
Dekking Groep 1: Proces; PCT
13 TMap dag 2015
|
De OV-tarief-percentage berekening
14 TMap dag 2015
Wat voor testuitdaging hebben we hier?
- Proces?
- Condities?
- Gegevens? - Presentatie?
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 8
|
Voorbeeld 1: Proces Cyclus Test
15 TMap dag 2015
1
2
4
5
A
B
3
TM – 1 (ieder pad):
Testcase a: 1,2
Testcase b: 1,3,4
Testcase c: 1,3,5
TM – 2 (elke padcombinatie)
A: 1-2, 1-3
B: 3-4, 3-5
Testcase a: 1-2
Testcase b: 1-3 & 3-4
Testcase c: 1-3 & 3-5
|
Voorbeeld 1: Proces Cyclus Test
16 TMap dag 2015
1
2
4
5
A
B
3
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?
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 9
|
Dekking Groep 2: Condities; Beslistabel
17 TMap dag 2015
|
Beslissingstabel
18
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
50% X X X
100% X
Zo leer je het bij ISTQB Foundation,
maar je mist makkelijk iets,
en hoeveel vertrouwen heb je nu?
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 10
|
Beslissingstabel – multiple condition coverage
19 TMap dag 2015
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?
|
Dekking Groep 2: Condities; EVT
20 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 11
| 21
Stappen in elementaire vergelijkingen test:
1. Identificeer beslispunten
2. Bepaal de testsituaties met MCDC (Modified Condition Decision
Coverage)
3. Creëer Logische Testgevallen
4. Creëer Fysieke Testgevallen
5. Creëer Testscript
D1
D2
Elementaire vergelijkingen test en MCDC
|
MCDC met 2 condities
22
FALSE (0)
= ga naar D2
A B
TRUE (1)
= 0%
A B (A) < 4 jaar
(B) soldaat
1 .
. 1
0 .
. 0
D1 = < 4 jaar OF soldaat 0 Neutrale waarde
0
0
0
0
D1.1
D1.2
D1.3
STAP 2: D1.1, D1.2 en D1.3 zijn onze testsituaties
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 12
|
MCDC met 4 condities
23
FALSE (0)
= 100 %
A B C D
TRUE (1)
= 50 %
A B C D
(A) > 4
(B) < 18
1 . . .
. 1 . .
. . 1 .
. . . 1
0 . . .
. 0 . .
. . 0 .
. . . 0
D2 = > 4 EN < 18 OF > 65 OF Kaart
(C) > 65
Neutrale waarden (EN = 1, OF = 0 )
(D) Kaart
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
D2.1
D2.2
D2.3
D2.4
D2.5
|
ECT & MCDC Graaf
24
D1: < 4 jaar OF
soldaat
D2: > 4 jaar EN < 18
OF > 65
OF Kaart
END
D1.1 D1.2
D1.3
D2.1 D2.2
D2.3 D2.4 D2.5
STAP 3: Creëer logische testgevallen, Sub-stap 1: creëer graaf
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 13
|
ECT & MCDC Testgevallen
25
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
STAP 3:
Creeer Logische testgevallen
Sub-stap 2: combineer test situaties
STAP 4 en 5:
Creeer Fysieke testgevallen en
Testscripts
|
Dekking Groep 3: Gegevens; DCT
26 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 14
|
Data Combinatie Test
27
3 gegevens elementen:
- Leeftijd 4 waarden ( < 4, > 4 & < 18, > 18 & < 65, > 65 )
- Soldaat 2 waarden (JA & NEE)
- Kaart 2 waarden (JA & NEE)
Teken een classification tree: OV tarief
Leeftijd Soldaat Kaart
< 4 > 4 & < 18 > 18 & < 65 > 65 JA NEE JA NEE
|
Data Combinatie Test: alle klassen
28
Maak testgevallen met de dekking: Elke Waarde van elk gegeven
TC1
TC2
TC3
TC4
0%
0%
100%
0%
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 15
|
50%
Data Combinatie Test: pairwise
29
Hoewel we nu alle combinaties
van alle invoergegevens
hebben, kunnen we niet
garanderen dat we alle
outputs triggeren.
Dus: Vertrouwen?
TC1
TC2
TC3
TC4
TC5
TC6
TC7
TC8
0%
100%
0%
0%
0%
50% 0%
|
Efficient toepassen: Automated Test Design tool
30 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 16
|
COVER: de testontwerptool van Sogeti
Ontwerpen van: • testsituaties,
• testgevallen en
• fysieke testgevallen
Diverse technieken
31 Working with the TMap Suite
|
COVER
Binnenkort: COVER HD
32 Working with the TMap Suite
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 17
|
Maar… Geeft dit alles voldoende vertrouwen?
33 TMap dag 2015
|
Test aanpakken
34 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 18
|
Aanpak: Ervaring
35 TMap dag 2015
|
Ervaring gebaseerde aanpakken in TMap HD
36 Working with the TMap Suite
Largely intuitive & ad hoc
Structured, chartered
Experience brought together
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 19
|
Ervaring Groep 3: Exploratory testen
37 TMap dag 2015
|
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!” )
38 TMap dag 2015
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 20
|
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.
39 TMap dag 2015
|
Logging testgevallen
Working with the TMap Suite
Volgnr.
Leeftijd Soldaat J/N
Korting-kaart 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
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 21
|
Integrate: combineer de test aanpakken
41 Working with the TMap Suite
Goed gestructureerd testen is:
Een combinatie van
Dekking gebaseerd
en
ervaring gebaseerd testen
|
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.
42 Working with the TMap Suite
TMap dag Slim & praktisch testen met TMap HD aanpakken
29 september 2015
Rik Marselis © Sogeti 2015 22
Happy Testing!
Met de TMap Suite.
|
Even voorstellen: Rik Marselis
44 Working with the TMap Suite
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