Vi baserer testplanlægningen og -tilrettelæggelsen af testen på testobjektets risikotal (RPN). Risikovurderingens resultat vil være den rettesnor, som afgør testdybden.
Herunder ses en matrix over risikoprofiler, som er tilføjet farvekoder for omfanget og dybden af den test, der skal planlægges i forlængelse heraf.
RPN | Konsekvens (effekt) | ||||
---|---|---|---|---|---|
Sand- synlig- hed | 1 | 2 | 3 | 4 | 5 |
2 | 4 | 6 | 8 | 10 | |
3 | 6 | 9 | 12 | 15 | |
4 | 8 | 12 | 16 | 20 | |
5 | 10 | 15 | 20 | 25 |
Højt RPN (15-25) ELLER Sandsynlighed = 5 ELLER | Testdybde *** | |
Middel RPN (8-12) ELLER Sandsynlighed = 4 ELLER Konsekvens = 4 | Testdybde ** | |
Lille RPN (1-6) | Testdybde * |
Jo højere RPN, jo flere testcases skal der bruges for at dække risikoen tilstrækkeligt. Det handler ikke om at opnå et højt antal testcases i sig selv, men om at afdække risikoen fra flere vinkler, og til dette anvendes flere forskellige testteknikker. Testteknikker tilbyder en struktureret måde at udlede testbetingelser, testcases og testdata på med det formål at finde forskellige typer af fejl. Testteknikkerne kan anvendes på forskellige testniveauer, og således understøtter RPN testdybden på både komponent-, integrations- og systemtestniveau. Eksempler på testteknikker:
En anden tilgang til afdækning af høj risici kan være at gøre brug af pair programming, kvalificerede kodereviews på de lavere testniveauer og udforskende test som supplement til de strukturerede testcases.
Mens høje risici kalder dyb testdækning, kræver lav risici mindre testdækning, og dermed er den konkrete udmøntning af en risikobaseret tilgang til test en måde til at prioritere og fordele en ikke ubegrænset testindsats.
På accepttestniveau forholder det sig typisk lidt anderledes end på de øvrige testniveauer. Accepttestens formål er ikke at finde fejl, men at verficere, at leverancen indeholder det aftalte, og at validere, at den understøtter de forretningsmæssige mål for leverancen. Her vil man typisk prioritere testbredde fremfor testdybde, dvs. sikre at alle aftalte krav er levereret en til en. Use case-test er en ofte anvendt testteknik til afdækning af accepttest. Ønskes den risikobaserede tilgang gennemført også i accepttesten, kan man således graduere testdækningen på en sådan måde, at hvert krav risikovurderes og tildeles et RPN. Krav med høj risiko testes for både primære og alternative veje gennem use casen på forskelligt data, mens krav med lav risiko kun testes for primær vej, eventuelt også alternative veje, men med enkelte data.
Eksempel på konkret teststrategisk udmøntning af testdybde baseret på RPN:
Risk priority number | Testdybde | Eksempler på testindsats pr. testdybde (komponents-, integrations-, systemtestniveau) | Eksempel på testindsats pr. testdybde | Eksempel på testindsats pr. testdybde (alle testnievauer) |
---|---|---|---|---|
Risk priority number | Testdybde | Eksempler på testindsats pr. testdybde (komponents-, integrations-, systemtestniveau) | Eksempel på testindsats pr. testdybde | Eksempel på testindsats pr. testdybde (alle testnievauer) |
Højt RPN (15-25) | *** |
|
|
|
Middel RPN (8-12) ELLER Sandsynlighed = 4 ELLER Konsekvens = 4 | ** |
|
|
|
Lille RPN (1-6) | * |
|
|
|