Voorwoord bij
Nederlandse bewerking 9
Ten geleide 18
1 Inleiding 19
2 Basis van het software testen 23
2.1 Begrippen en motivatie 24
2.1.1 Foutbegrippen 25
2.1.2 Testbegrippen 26
2.1.3 Software kwaliteit 27
2.1.4 Testkosten 30
2.2 Gestructureerd testproces 35
2.2.1 Testplanning 37
2.2.2 Testspecificatie 39
2.2.3 Testuitvoering 42
2.2.4 Testregistratie 42
2.2.5 Controle voor afronding 42
2.3 Resultaat voorspelling 46
2.4 Prioritering van het testen 48
2.5 Psychologie van het testen 51
2.6 Samenvatting 53
3 Testen tijdens het systeemontwikkelingsproces 55
3.1 Het V-model 55
3.2 Componenttest 58
3.2.1 Terminologie 58
3.2.2 Testobjecten 59
3.2.3 Testomgeving 59
3.2.4 Testdoelen 61
3.2.5 Teststrategie 64
3.3 Component integratietest 65
3.3.1 Terminologie 65
3.3.2 Testobjecten 67
3.3.3 Testomgeving 68
3.3.4 Testdoelen 69
3.3.5 Integratiestrategieën 70
3.4 Systeemtest 73
3.4.1 Terminologie 73
3.4.2 Testobject en testomgeving 74
3.4.3 Testdoelen 75
3.4.4 Testen van functionele eisen 76
3.4.5 Testen van niet-functionele eisen 78
3.4.6 Problemen in de praktijk van systeemtests 80
3.5 Systeemintegratietest 81
3.5.1 Terminologie 81
3.5.2 Testobjecten 82
3.5.3 Testomgeving 82
3.5.4 Testdoelen 83
3.6 Acceptatietest 84
3.6.1 Test op contractuele acceptatie 84
3.6.2 Test op gebruikersacceptatie 85
3.6.3 Veldtest 85
3.7 Test van nieuwe versies 86
3.7.1 Systeemonderhoud 86
3.7.2 Geplande verdere ontwikkeling 88
3.7.3 Regressietest 89
3.8 Kosten en doeltreffendheid 91
3.8.1 Foutkosten 91
3.8.2 Testkosten 93
3.8.3 Gevolgen voor de teststrategie 94
3.9 Testplanning 95
3.9.1 Kwaliteitsplan 96
3.9.2 Testplan 97
3.10 Samenvatting 98
4 Statisch testen 101
4.1 Gestructureerde reviews 101
4.1.1 Basis 101
4.1.2 Reviews 102
4.1.3 Algemene werkwijze 104
4.1.4 Rollen en verantwoordelijkheden 108
4.1.5 Soorten van reviews 110
4.2 Statische analyse 114
4.2.1 Compiler als statisch analyse tool 116
4.2.2 Controle van naleving van conventies en standaarden 117
4.2.3 Uitvoering van data flow analyse 117
4.2.4 Uitvoering van control flow analyse 119
4.2.5 Bepalen van metrics 120
4.3 Samenvatting 122
5 Dynamisch testen 125
5.1 Black-box technieken 128
5.1.1 Equivalentieklassen 128
5.1.2 Grenswaardenanalyse 140
5.1.3 State-transition tests 143
5.1.4 Algemene beoordeling van black-box technieken 150
5.2 White-box technieken 152
5.2.1 Statements coverage 153
5.2.2 Decision coverage 155
5.2.3 Testen van beslissingen 157
5.2.4 Paddekking 162
5.2.5 Algemene beoordeling van white-box technieken 166
5.2.6 Hulpmiddelen en tool support 167
5.3 Intuïtieve bepaling van testgevallen 168
5.4 Samenvatting 170
6 Testmanagement 173
6.1 Organisatie van het testteam 173
6.2 Kwaliteiten van de medewerkers 175
6.3 Management van testtaken 177
6.3.1 Testcyclusplanning 177
6.3.2 Testvoortgangscontrole 178
6.3.3 Testmanagement 180
6.4 Bevindingenbeheer 181
6.4.1 Testresultaten 181
6.4.2 Bevinding 182
6.4.3 Classificatie van fouten 183
6.4.4 Foutstatus 186
6.5 Eisen voor het configuratiemanagement 189
6.6 Relevante richtlijnen en standaarden 191
6.7 Samenvatting 192
7 Testtools 195
7.1 Soorten testtools 195
7.1.1 Tools voor testplanning en testmanagement 195
7.1.2 Tools voor testspecificatie 196
7.1.3 Tools voor testuitvoering 198
7.1.4 Tools voor testanalyse en testobject analyse 201
7.2 Keuze en introductie van testtools 202
7.2.1 Efficiënte implementatie van tools 203
7.2.2 Selectie van tools 205
7.2.3 Implementatie van tools 206
7.3 Samenvatting 207
Appendix A – Testplan volgens IEEE 829 209
Appendix B - Oefenvragen 213
Woordenlijst 225
Literatuurlijst 239
Polteq 243
Index 245