7 Testrisicoanalyse

advertisement
7
Testrisicoanalyse
7.1
Introductie
Veel testtrajecten zijn tegenwoordig gebaseerd op risico’s. Bij ‘risicogebaseerd testen’ (RBT) bepaalt het risico dat de organisatie loopt als
het systeem in gebruik wordt genomen de testaanpak. Afhankelijk van
het risico worden de scope en diepgang van de testen gevarieerd.
Voordeel van risicogebaseerd testen is dat de tijd en aandacht gaan
zitten in die zaken die toegevoegde waarde hebben voor het beoogde
resultaat [Pinkster et al, 2004]. Om de risico’s in kaart te brengen
wordt er een Testrisicoanalyse (TRA) uitgevoerd. Een Testrisicoanalyse levert inzicht in de risico’s die het beoogde resultaat bedreigen.
Dit inzicht vormt op verschillende momenten in het testtraject een
leidraad voor de te nemen beslissingen.
De TRA wordt gebruikt bij het vaststellen van de Teststrategie. Zelden
is er in een testtraject voldoende tijd om alles te kunnen testen. De
TRA kan dan worden gebruikt voor prioriteitsbepaling; om aan te
geven waar de testactiviteiten zich op moeten richten. Op basis van
de TRA kan de testcoördinator bijvoorbeeld besluiten om bepaalde
zaken niet of minder goed te testen. De TRA ondersteunt daarbij de
keuze voor de toe te passen testontwerptechnieken.
Bij reviews en intakes kan op basis van de TRA worden besloten belangrijke onderdelen beter te beschouwen dan de minder belangrijke.
Tijdens de testuitvoering wordt de TRA gebruikt om de volgorde vast
te stellen waarin de testen uitgevoerd worden. Het is gebruikelijk om
te beginnen met de belangrijkste testen. Dit vergroot de kans dat de
belangrijkste bevindingen snel worden gevonden. Daarnaast heeft dit
TestGoal, resultaatgedreven testen
het voordeel dat als de testuitvoering vroegtijdig wordt afgebroken,
de belangrijke testen zijn uitgevoerd. In de testrapportage wordt
verwezen naar de risico’s. Dit heeft als voordeel dat de testrapportage
verhaalt over zaken die de belanghebbenden aanspreekt, namelijk
de risico’s voor het beoogde resultaat.
We onderscheiden twee vormen van TRA die naast elkaar gebruikt
kunnen worden.
1-D TRA
Bij de eendimensionale TRA wordt het relatieve belang bepaald van
de verschillende onderdelen van het testobject. Aan de hand van een
functionele decompositie wordt een overzicht gemaakt van de functies die het systeem moet kunnen ondersteunen. De TRA definieert
welke functies belangrijk zijn, en welke minder belangrijk.
Input voor de 1-D TRA is de systeem- of requirementsspecificatie.
Hierin zijn de functies benoemd die het systeem moet ondersteunen.
Het product van de 1-D TRA is een lijstje met deze functies, gerangschikt naar hun relatieve belang. De 1-D TRA is goed bruikbaar
om per functie de testdiepte te bepalen en om de volgorde van de
testuitvoering te bepalen.
2-D TRA
De tweedimensionale TRA brengt de bedreigingen van het beoogde
resultaat in kaart. Van elke bedreiging wordt ingeschat wat de kans
is dat deze werkelijk optreedt en wat de impact ervan is.
Input voor de 2-D TRA zijn de bedreigingen die door de belanghebbenden worden erkend. Het product van de 2-D TRA is een ‘impact
x waarschijnlijkheid’-matrix waarin elk risico is gepositioneerd. De
2-D TRA is goed bruikbaar om te bepalen welke testen er uitgevoerd
moeten worden. Dit zal ook vaak leiden tot het testen van de nonfunctionele kwaliteitsattributen.
Het voordeel van de 2-D TRA is dat deze het meest nauwkeurig is
en het beste aansluit bij het beoogde resultaat. De 2-D TRA brengt de
risico’s voor de business in kaart en nodigt daarbij uit om verder te
kijken dan de systeem- of requirementsspecificaties. De Testrisicoanalyse kan aantonen dat er een risico is dat niet in het systeemontwerp
is geadresseerd. Als dit tijdig geconstateerd wordt, kan dit risico
verwerkt worden in het ontwerp. Op deze wijze wordt er een fout
voorkomen nog voordat deze gecodeerd is.
98
7 Testrisicoanalyse
Binnen de testwereld is risicogebaseerd testen een begrip. Toch zijn
er nog steeds veel organisaties waar het risicogebaseerd testen nog
geen gemeengoed is. De ervaring leert dat het in veel organisaties
moeilijk is om de discipline en tijd op te brengen voor het uitvoeren
van de 2-D TRA. Niet alleen kost het opstellen van een 2-D TRA meer
tijd dan het opstellen van een 1-D variant; ook de opdrachtgever
zal soms weinig ruimte geven aan een proces dat vraagtekens zet
bij het systeemontwerp. Verstandig of niet, er zijn projecten waarbij
de opdracht afdwingt dat het systeem conform het ontwerp wordt
gerealiseerd. Met de testen wil de opdrachtgever aantonen dat het
systeem conform specificaties werkt. Hij heeft er geen belang bij om
aan te tonen dat het ontwerp beter kan.
In deze situaties voldoet de eendimensionale TRA vaak wel. Deze
TRA is relatief snel op te stellen, is makkelijk te begrijpen en geeft toch
duidelijke handvatten om testdiepte te differentiëren. Tevens helpt de
1-D TRA de volgorde van de testuitvoering te bepalen. Aan de hand
van de 1-D TRA is het mogelijk het risicogerelateerd denken te introduceren. Als de organisatie de voordelen van risicogebaseerd testen
ervaart, kan altijd de stap naar 2-D TRA gemaakt worden. Kortom:
een 1-D TRA zou altijd uitgevoerd moeten worden. Als er ruimte en
tijd is voor de 2-D TRA, overweeg dan deze toe te passen.
Testen is het reduceren of wegnemen van risico’s. Het is daarbij de
kunst om een strategie te kiezen waarbij op een zo efficiënt mogelijke
wijze inzicht wordt verkregen in de werkelijke risico’s. Het is dan
ook belangrijk om de resultaten van de testen te kunnen herleiden
tot de geïdentificeerde risico’s. Tijdens en na het testen rapporteert de
tester over de resultaten van de testen. Door in de testrapportage aan
te geven hoe het testen bepaalde bedreigingen heeft weggenomen,
toont hij de toegevoegde waarde aan van het testen en geeft hij aan
over welke zaken het businessmanagement zich geen zorgen meer
hoeft te maken. Door in de testrapportage het beoogde resultaat aan
de TRA te koppelen, ontstaat er gaandeweg steeds meer zekerheid
over de kwaliteit van het systeem. Dit is weergegeven in de volgende
figuur.
99
TestGoal, resultaatgedreven testen
Resultaat
Rapportage
1-D TRA
2-D TRA
Testen
Figuur 7.1 De cirkel van resultaat naar resultaat: de figuur geeft aan hoe TRA, testen en testrapportage het beoogde resultaat als begin- en eindpunt hebben
Figuur 7.1 geeft aan dat het vertrekpunt van alle testactiviteiten het
beoogde resultaat is. De TRA brengt in kaart welke risico’s dit resultaat bedreigen. Hieruit kan worden afgeleid welke punten de meeste
aandacht behoeven tijdens het testen. Het testen zelf is een activiteit
om te onderzoeken in welke mate de risico’s reëel zijn. Is de tester bijvoorbeeld bang dat door een rekenfout de facturen foutieve bedragen
bevatten, dan kan hij de berekening testen. Door aan te tonen dat de
berekening geen fouten bevat, heeft hij het risico geëlimineerd; zie de
bespreking van de testrapportage. De tester herleidt de testresultaten
naar de eerder vastgestelde risico’s en kan hierdoor uitspraken doen
over de mate waarin hij denkt dat het beoogde resultaat werkelijk
behaald gaat worden.
In principe is het niet wenselijk dat er voor elk testtraject een eigen
Testrisicoanalyse wordt gemaakt, dit is namelijk niet efficiënt. Daarnaast dienen alle aan het ontwikkeltraject gerelateerde activiteiten
hetzelfde resultaat na te streven en geldt er dus voor alle betrokkenen
dezelfde Testrisicoanalyse. Dus de TRA kan het beste testtrajectoverstijgend worden uitgevoerd. Soms is er echter geen algemene
Testrisicoanalyse beschikbaar en is het ook niet mogelijk om deze
op testtrajectoverstijgend niveau vast te stellen. In dat geval dient
de testcoördinator zorg te dragen voor zijn eigen TRA.
In de volgende paragraaf wordt uitgelegd hoe een TRA tot stand
komt.
100
7 Testrisicoanalyse
7.2
De 1-D testrisicoanalyse
7.2.1
Introductie
Voor het uitvoeren van een eendimensionale testrisicoanalyse wordt
een Testboom gedefinieerd. Een Testboom is een decompositie van het
testobject in functies en aandachtsgebieden. Tijdens de Testrisicoanalyse wordt per tak van de boom ingeschat wat het relatief belang is.
Het resultaat is een eendimensionale risicomatrix. Dit is in feite een
lijst met daarin de naar relatief belang gesorteerde risicogebieden,
zie tabel 7.1.
Risicocategorie
Risicogebied
Relatief
belang
Kritisch
Routeber.-Standaard ber.
Navigatie-Invoeren bestemming
270
150
Hoog
Routeber.-Zoek alternatief
Accuratesse
Navigatie-Favorietenlijst
117
99
80
Midden
Gebruikersgemak
Routeber.-Route type
Extra-File-info
Performance
Navigatie-Recente bestemming
65
63
45
45
20
Laag
Navigatie-Huis
Extra-Weerbericht
Instellingen-Audio
Instellingen-Kaarten
Instellingen-Standaard
15
9
8
6
6
Tabel 7.1 Een eendimensionale risicomatrix
De Testrisicoanalyse wordt uitgevoerd tijdens een workshop waarbij
verschillende belanghebbenden aanwezig zijn. De belanghebbenden
kunnen vanuit hun expertise en werkveld de functies en aandachtsgebieden identificeren en van een prioriteit voorzien. De TRA wordt
georganiseerd door de moderator die hierbij als procesbegeleider
fungeert. Hij is degene die de TRA-sessie organiseert en na afloop
de gegevens verwerkt. Vaak fungeert de testcoördinator als moderator.
101
TestGoal, resultaatgedreven testen
Bij het tot stand komen van de eendimensionale TRA doorlopen we
de volgende stappen.
1. Identificeren belanghebbenden en kick-off.
2. Vaststellen van de functies en aandachtsgebieden.
3. Bepalen van het relatief belang.
4. Verwerken van de gegevens.
5. Accorderen van de TRA.
In de volgende paragrafen worden de stappen nader toegelicht.
7.2.2
Identificeren belanghebbenden en kick-off
Tijdens de Inventarisatie beoogd resultaat is er waarschijnlijk al
stilgestaan bij de belanghebbenden van het project. Deze belanghebbenden worden nu door de moderator benaderd voor het uitvoeren
van de TRA. Als het goed is, vertegenwoordigen de belanghebbenden
een aantal verschillende disciplines. Verschillende belanghebbenden
hebben waarschijnlijk verschillende visies op het beoogde resultaat
en de risico’s [Thompson, 2004]. Het betrekken van verschillende
disciplines helpt om een evenwichtige en doordachte risicoinschatting te krijgen. Denk aan:
•
•
•
De afnemers gebruikers, businessmanager of beheerders.
De bouwers
analisten, systeemontwerpers of programmeurs.
Projectverantwoordelijken
projectmanagers of opdrachtgever.
Nadat de deelnemers van de TRA zijn geselecteerd en uitgenodigd, is
het moment aangebroken om een kick-off te houden. De moderator
legt uit waarom de TRA gehouden wordt, hoe de TRA in zijn werk
gaat en wat er van de belanghebbenden wordt verwacht.
Het is belangrijk dat elke deelnemer aan de TRA deskundig genoeg wordt
bevonden door de groep die hij vertegenwoordigt. Dit zorgt dat de deelnemer
onderbouwde uitspraken kan doen over de prioriteit. Het zorgt er ook voor dat
zijn inschatting door zijn achterban wordt geaccepteerd. Dit lijkt misschien een
klein issue, maar dit is toch belangrijk, bijvoorbeeld in het volgende geval:
Voorbeeld 7.1: Een webapplicatie
Binnen de organisatie wordt een webapplicatie gebouwd waarmee klanten
bestellingen kunnen plaatsen. Tijdens de TRA geeft de projectleider aan dat
er weinig tijd beschikbaar is. Hierdoor zullen er concessies moeten worden
102
Download