De datacombinatietest (DCT) is een testontwerptechniek die ook wel de “Classification Tree Method” wordt genoemd. De techniek is met name geschikt voor het testen van software. Het doel van de datacombinatietest is om in zo min mogelijk testgevallen zo veel mogelijk situaties te testen. Om de datacombinatietest goed uit te kunnen voeren moeten 4 stappen worden doorlopen, namelijk:
Stap 1: Identificeren testsituaties
Stap 2: Opstellen logische testgevallen
Stap 3: Opstellen fysieke testgevallen
Stap 4: Vaststellen uitgangssituatie
In deze blog zullen we aan de hand van de voorbeelden de verschillende stappen toelichten.
Stap 1: Identificeren testsituaties
Het identificeren van de testsituaties is een creative stap in het proces en deze wordt bij voorkeur uitgevoerd door een team waarin verschillende expertise aanwezig is op het gebied van: test, materie en het systeem. In deze stap wordt bepaald welke gegevens van invloed zijn op de functionaliteit (let hierbij op dat alleen gegevens worden gebruikt die ook echt invloed hebben op het systeemgedrag). Tevens wordt van de gegevens die van invloed zijn op het systeemgedrag gekeken wat de equivalentieklassen zijn en worden relaties tussen gegevens vast gesteld. In de praktijk komt het vaak voor dat een bepaald gegeven pas van toepassing is onder een bepaalde voorwaarde (bijv. als een ander gegeven een specifieke waarde heeft).
Na het uitzoeken van deze informatie kunnen de resultaten worden verwerkt in een classificatieboom, dit is een grafische weergave van de verzamelde gegevens die het in stap 2 gemakkelijker maakt om logische testcases op te stellen. In het voorbeeld hieronder zal een voorbeeld getoond worden van deze classificatieboom.
Case: Stap 1 Identificeren testsituaties
Case beschrijving: Voor deze test willen we gaan testen een biosscoopkaartjes automaat (dit is een fictieve case, de testbasis berust niet op de waarheid)Welke gegevens zijn van invloed op de functionaliteit:
– Aantal personen
– 3d film of niet
– 3d bril bij bestellen
– Betaalwijze
Wat zijn de equivalentieklassen van deze gegevens:
Aantal personen: 1 of >1
3d film of niet: Ja of Nee
3d bril bij bestellen: Ja of Nee
Betaalwijze: pin, contant of creditcard.
Zijn er relaties tussen gegevens:
Er is in deze case 1 relatie tussen gegevens indien het een 3d film betreft moet er gevraagd worden of er een 3d bril mee besteld moet worden of niet.
Classificatieboom:
Case: Stap 2 Opstellen logische testgevallen
Na het vaststellen van de classificatieboom kunnen we beginnen met het logisch opstellen van de verschillende testgevallen. het uitgangspunt hierbij is dat ieder gegeven uit de classificatieboom 1 van de equivalentieklassen afdekt. Samen moet de logische testgevallen in ieder geval elke equivalentieklassen 1 keer afgedekt hebben. afhankelijk van de zwaarte waarmee getest wordt kan ook bepaald worden om alle combinaties tussen de verschillende gegevens af te testen (dit doen we in deze case niet).Er zijn twee manieren om weer te geven wat de logische testgevallen zullen zijn. Dit kan gedaan worden in de vorm van een tabel maar ook kan dit verwerkt worden in de classificatieboom dit laatste zullen we in deze case gaan doen.
In de afbeelding hierboven is te zien hoe de in stap 1 gemaakte classificatieboom is uitgebreid met daaronder de te testen testgevallen (TG). Afhankelijk van de zwaarte waarop je wilt testen kunnen er meer of minder testgevallen toegevoegd worden.
In dit voorbeeld is er voor gekozen om de minimale dekking te testen (alle equivalentieklassen minimaal een keer geraakt een aantal voorbeelden van equivalentieklassen in dit voorbeeld zijn: pinpas, contant, meer dan 1 maar ook ja(onder bril bijbestellen)), om dit te doen zijn TG1 t/m TG3 voldoende. Tevens willen we het gegevenspaar “Aantal personen – Bril bijbestellen” testen om dit voor elkaar te krijgen moeten TG4 en TG5 nog toegevoegd worden. Bij het testen van een gegevenspaar is het de bedoeling dat tussen deze gegevens alle mogelijk combinaties getest zijn, in het voorbeeld moeten dus alle opties onder “Aantal personen” minimaal beide opties onder “Bril bijbestellen” geraakt hebben.
Case: Stap 3 Opstellen fysieke testgevallen
Bij het fysiek maken van testgevallen ga je voor de invoergegevens contrete waarden toevoegen. als we dit doen voor de case dan komen we op de volgende fysieke testgevallen:
TG1
TG2
TG3
TG4
TG5
Film keuze
The Shawshank Redemption
The Dark Knight
Pulp Fiction
Fight Club
Goodfellas
Aantal personen*
1
2
3
1
4
Datum en tijd
18-05-2015 | 21:30
19-05-2015 | 22:15
18-05-2015 | 19:30
25-05-2015 | 21:30
20-05-2015 | 20:45
Betaalwijze*
Pinpas
Contant
Creditcard
Pinpas
Contant
3D uitvoering*
Ja
Ja
Nee
Ja
Ja
3D bril bijbestellen*
Ja
Nee
–
Nee
Ja
Bij het uitwerken van de fysieke testen neem je ook de data mee die voor je specifieke testen niet belangrijk zijn maar die wel moeten worden gevuld om de test tot een goed eind te brengen in dit voorbeeld zijn dit de velden: ‘Film keuze’ en ‘Datum en tijd’. De gegevens met een * erachter zijn in dit geval de gegevens waar je ook echt testen op uit willen voeren en deze komen dan ook overeen met de gegevens uit de classificatieboom.
Het kan zijn dat een veld in de classificatieboom niet geheel overeen komt met de gegevens die de te testen software vraagt. Het kan bijvoorbeeld zo zijn dat in een classificatieboom als gegeven een periode wordt gevraagd, dit kan in de fysieke testcase worden berekend op basis van een begindatum en een einddatum.
Case: Stap 4 Vaststellen uitgangssituatie
Tijdens het vaststellen van de uitgangssituatie wordt er nagedacht over de vereisten die nodig zijn om de verschillende testgevallen goed te kunnen testen. Een voorbeeld hiervan kan in dit geval zijn dat er een biosscoop automaat klaar staat die gekoppeld is aan de database waar de films in staan zoals beschreven in stap 3 met de bijpassende tijden.
Wanneer alle Uitgangssituatie vastgesteld zijn kunnen de in stap 3 vastgestelde fysieke testgevallen verwerkt worden in Testscripts.
Wanneer is de datacombinatietest het meest geschikt
De testontwerptechniek datacombinatietest is erg geschikt indien er geen specifieke testbasis aanwezig is of wanneer de specificatie niet compleet is. De datacombinatietest heeft een informeel karaker en daarom wordt de kwaliteit van deze techniek voor een groot deel bepaald door de expertise van de betrokkenen het is aan te raden om hem alleen te gebruiken als je binnen je team test-, materie- maar ook systeemdeskundigheid aanwezig hebt.
Share the post "Testontwerptechniek : Datacombinatietest (DCT)"