Testgeval, Testsuite, Testrun: wat is het verschil?

René Ceelen, 
21 mei 2019
Als je een nieuwkomer bent in de wereld van testen, is het makkelijk om overweldigd te raken door de grote hoeveelheid testterminologie. In dit artikel zullen we een deel van het jargon proberen uit te leggen die je in het dagelijkse testleven veel tegenkomt, alleen maar om het allemaal een beetje begrijpelijker te maken.
Testgeval, Testsuite, Testrun: wat is het verschil?

Testgevallen

We beginnen met testgevallen, ook wel testcases genoemd. Het belangrijkste is dat testgevallen een reeks instructies bevatten die aantonen dat een deel van de software werkt zoals je verwacht. Stel: je hebt een contactformulier op je website nodig. Je wil dat er een e-mail verzendt wordt wanneer een bezoeker een bericht achterlaat. Je maakt dan waarschijnlijk een testgeval waarin wordt gecontroleerd of de e-mail daadwerkelijk binnenkomt wanneer het formulier is ingevuld en ingediend. Een testgeval kan je helpen te bepalen of de software aan je vereisten voldoet.

In sommige situaties kan één enkel testgeval een eenvoudige vereiste controleren. Het is echter gebruikelijker om te denken aan meerdere situaties waarin je functie grondiger wordt getest. Wanneer het contactformulier een optioneel tekstveld biedt, kun je zowel het veld vullen als het veld in een tweede, afzonderlijk testgeval leeg houden. Het is dan ook belangrijk om verder te gaan dan alleen het “succespad” (happy flow) en testgevallen te bedenken die de software niet zou moeten doen. Als je contactformulier een e-mailadres accepteert, waarom zou je dan niet controleren of een ongeldig adres ook wordt geaccepteerd?

Testgevallen bestaan niet alleen uit instructies – of teststappen, maar worden verrijkt met extra, relevante informatie. Het uitvoeren van een paar stappen zonder expliciet de uitgezonderde uitkomst te vertellen kan bijvoorbeeld misverstanden veroorzaken. Moet ons contactformulier een ongeldig e-mailadres hebben afgewezen? Misschien – of misschien geven we er echt niets om.

Een goed testgeval wordt geleverd met een vooraf bepaald verwacht resultaat of verwachte uitkomst, zodat je precies kunt vaststellen of bij het voltooien van het testgeval het gedrag van de software aansluit. Ook is het gebruikelijk om de initiële – of startstatus te definiëren bij het schrijven van een testgeval. Je wilt niet telkens alle voorbereidingen in de testinstructies opschrijven, zoals toegang tot een testomgeving, het instellen van een browser, het inschakelen van e-mailmeldingen, enz. Deze zogenaamde pré-voorwaarden of pré-condities worden meestal gedefinieerd als een afzonderlijke eigenschap van het testgeval. Wanneer aan een voorwaarde niet wordt voldaan, heeft het geen zin het testgeval te testen.

Dus dat is het dan? Nou, er is meer. Net zoals het schrijven van een blogpost, vereist het maken van testgevallen bepaalde schrijfvaardigheden, zoals het voorstellen van dingen vanuit het perspectief van de eindgebruiker. Als je meer wilt lezen, lees dan 7 tips voor geweldige testgevallen.

Testsuites

Nu je meer weet over testgevallen is het concept van testsuites heel eenvoudig uit te leggen. Met een groeiend aantal testgevallen neemt ook de behoefte om ze te categoriseren toe. Je wilt niet al je boeken op een stapel werpen, je organiseert ze op planken, voor betere toegankelijkheid. In zekere zin lijken testsuites erg op boekenplanken, omdat ze ook testgevallen organiseren.

Tijdens het plannen en uitvoeren van tests wordt het bijhouden van honderden testgevallen echt omslachtig. Denken in termen van “We moeten morgen een performance test uitvoeren” of “Volgende week moeten we een test plannen voor onze website”, dwingt je het doel en het domein van elk testgeval te kennen. Met een testsuite kun je testgevallen zodanig indelen dat ze overeenkomen met jouw planning- en analysebehoeften. Voer je een functionele- en conversiecontrole test uit? Maak twee testsuites en label ze overeenkomstig. Test je verschillende applicaties en wil je ze opvolgen? Maak een suite voor elke toepassing. Ben je nog in staat om alle testgevallen te managen zonder testsuites? Gebruik ze niet! Denk eraan, ze zijn er alleen om je te helpen bij het organiseren van testgevallen wanneer dat nodig is.

Testruns

Uiteindelijk eindigen we met testruns. Het zijn kleine knooppunten in jouw testproject, waar verschillende aspecten samenkomen. Simpel gezegd bepalen testruns welke testgevallen door welke gebruiker(s) worden getest op welk tijdstip. Nogal een mondvol! Dus wie test, wanneer en wat.

Stel dat je testgevallen zijn gemaakt voor het contactformulier en de software wordt binnenkort beschikbaar gesteld gereed om te testen. Ga je het zelf testen, of kies je iemand anders? Wanneer ga je testen – en wanneer wil je de resultaten verzamelen? Welke testgevallen ga je selecteren – allemaal, of alleen die met het ‘succespad’? Deze vragen moeten worden beantwoord bij het maken van een testrun.

Wanneer je een testrun hebt gemaakt, heb je een belangrijke mijlpaal bereikt: mensen kunnen een test uitvoeren, je testgevallen gebruiken, gegroepeerd op basis van jouw aangemaakte testsuites. In één van onze volgende artikelen gaan we verder met enkele handige tips voor het uitvoeren van testtrajecten, het verzamelen en analyseren van testresultaten en het aanmaken en managen van de gerelateerde issues.

Probeer het 14 dagen gratis

Start vandaag nog met TestMonitor! Maandelijks betalen, geen lange contracten & altijd te annuleren.