Beslissingstabel testen (voorbeeld)
Wat is het testen van beslissingstafels?
Beslissingstabeltesten is een softwaretesttechniek die wordt gebruikt om het systeemgedrag voor verschillende invoercombinaties te testen. Dit is een systematische aanpak waarbij de verschillende invoercombinaties en het bijbehorende systeemgedrag (uitvoer) in tabelvorm worden vastgelegd. Daarom wordt het ook wel een Oorzaak gevolg tabel waarin oorzaak en gevolg worden vastgelegd voor een betere testdekking.
A Beslissingstabel is een tabelvormige weergave van invoer versus regels/gevallen/testcondities. Het is een zeer effectief hulpmiddel dat wordt gebruikt voor zowel complexe software testen en behoeftebeheer. Een beslissingstabel helpt om alle mogelijke combinaties van voorwaarden voor testen te controleren en testers kunnen ook gemiste voorwaarden gemakkelijk identificeren. De voorwaarden worden aangegeven als True(T) en False(F)-waarden.
Laten we het leren met een voorbeeld.
Voorbeeld 1: Hoe u een beslissingsbasistabel maakt voor het inlogscherm
Laten we een beslissingstabel maken voor een inlogscherm.
De voorwaarde is eenvoudig: als de gebruiker de juiste gebruikersnaam en wachtwoord opgeeft, wordt de gebruiker doorgestuurd naar de startpagina. Als een van de invoergegevens onjuist is, wordt er een foutmelding weergegeven.
Algemene voorwaarden | Regel 1 | Regel 2 | Regel 3 | Regel 4 |
---|---|---|---|---|
Gebruikersnaam (T/F) | F | T | F | T |
Wachtwoord (T/F) | F | F | T | T |
Uitgang (E/H) | E | E | E | H |
Legenda:
- T – Correcte gebruikersnaam/wachtwoord
- F - Verkeerde gebruikersnaam / wachtwoord
- E – Er wordt een foutmelding weergegeven
- H – Het startscherm wordt weergegeven
Interpretatie:
- Case 1 – Gebruikersnaam en wachtwoord waren beide verkeerd. De gebruiker krijgt een foutmelding te zien.
- Case 2 – De gebruikersnaam was correct, maar het wachtwoord was verkeerd. De gebruiker krijgt een foutmelding te zien.
- Case 3 – De gebruikersnaam was verkeerd, maar het wachtwoord was correct. De gebruiker krijgt een foutmelding te zien.
- Case 4 – Gebruikersnaam en wachtwoord waren beide correct en de gebruiker navigeerde naar de startpagina
Terwijl u dit omzet naar een testcase, kunnen we 2 scenario's creëren,
- Voer de juiste gebruikersnaam en het juiste wachtwoord in en klik op inloggen. Het verwachte resultaat is dat de gebruiker naar de startpagina wordt genavigeerd
En één uit het onderstaande scenario
- Voer de verkeerde gebruikersnaam en het verkeerde wachtwoord in en klik op inloggen. Het verwachte resultaat is dat de gebruiker een foutmelding krijgt
- Voer de juiste gebruikersnaam en het verkeerde wachtwoord in en klik op inloggen. Het verwachte resultaat is dat de gebruiker een foutmelding krijgt
- Voer de verkeerde gebruikersnaam en het juiste wachtwoord in en klik op inloggen. Het verwachte resultaat is dat de gebruiker een foutmelding krijgt
Omdat ze in wezen dezelfde regel testen.
Voorbeeld 2: Hoe u een beslissingstabel maakt voor het uploadscherm
Denk nu eens aan een dialoogvenster dat de gebruiker vraagt om een foto te uploaden met bepaalde voorwaarden, zoals:
- U kunt alleen een afbeelding in '.jpg'-formaat uploaden
- bestandsgrootte kleiner dan 32 kb
- resolutie 137*177.
Als een van de voorwaarden mislukt, genereert het systeem een overeenkomstig foutbericht waarin het probleem wordt vermeld. Als aan alle voorwaarden is voldaan, wordt de foto met succes bijgewerkt
Laten we de beslissingstabel voor deze zaak maken.
Algemene voorwaarden | Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | Case 7 | Case 8 |
---|---|---|---|---|---|---|---|---|
Formaat | .jpg | .jpg | .jpg | .jpg | Niet .jpg | Niet .jpg | Niet .jpg | Niet .jpg |
Maat: | Less dan 32 kb | Less dan 32 kb | >= 32kb | >= 32kb | Less dan 32 kb | Less dan 32 kb | >= 32kb | >= 32kb |
resolutie | 137*177 | Niet 137*177 | 137*177 | Niet 137*177 | 137*177 | Niet 137*177 | 137*177 | Niet 137*177 |
uitgang | Foto geüpload | De resolutie van het foutbericht komt niet overeen | Grootte van foutbericht komt niet overeen | Grootte en resolutie van het foutbericht komen niet overeen | Foutmelding omdat het formaat niet overeenkomt | Het formaat en de resolutie van het foutbericht komen niet overeen | Foutmelding omdat formaat en formaat niet overeenkomen | Foutmelding omdat het formaat, de grootte en de resolutie niet overeenkomen |
Voor deze aandoening kunnen we 8 verschillende testgevallen maken en een volledige dekking garanderen op basis van de bovenstaande tabel.
- Upload een foto met formaat '.jpg', kleiner dan 32kb en resolutie 137*177 en klik op uploaden. Het verwachte resultaat is dat de foto succesvol moet worden geüpload
- Upload een foto met het formaat '.jpg', kleiner dan 32kb en resolutie niet 137*177 en klik op uploaden. Verwacht resultaat is Foutmelding resolutie mismatch moet worden weergegeven
- Upload een foto met het formaat '.jpg', groter dan 32kb en resolutie 137*177 en klik op uploaden. Verwacht resultaat is Foutmelding size mismatch moet worden weergegeven
- Upload een foto met het formaat '.jpg', grootte meer dan gelijk aan 32kb en resolutie niet 137*177 en klik op uploaden. Verwachte resultaat is Foutmelding grootte en resolutie mismatch zou moeten worden weergegeven
- Upload een foto met een ander formaat dan '.jpg', kleiner dan 32kb en resolutie 137*177 en klik op uploaden. Verwacht resultaat is Foutmelding voor formaatmismatch moet worden weergegeven
- Upload een foto met een ander formaat dan '.jpg', kleiner dan 32kb en een resolutie die niet 137*177 is en klik op uploaden. Het verwachte resultaat is Foutmelding formaat en resolutie komen niet overeen.
- Upload een foto met een ander formaat dan '.jpg', groter dan 32kb en resolutie 137*177 en klik op uploaden. Verwacht resultaat is Foutmelding voor formaat en grootte mismatch moet worden weergegeven
- Upload een foto met een ander formaat dan '.jpg', groter dan 32kb en een resolutie die niet 137*177 is en klik op uploaden. Verwacht resultaat is Foutmelding voor formaat, grootte en resolutie die niet overeenkomen.
Waarom is het testen van de beslissingstabel belangrijk?
Het testen van de beslissingstabel is belangrijk omdat het helpt om verschillende combinaties van condities te testen en een betere testdekking biedt voor complexe bedrijfslogica. Bij het testen van het gedrag van een grote set inputs waarbij het systeemgedrag verschilt met elke set inputs, biedt beslissingstabeltesten een goede dekking en is de weergave eenvoudig, zodat het gemakkelijk te interpreteren en te gebruiken is.
In Software Engineering, grenswaarde en gelijkwaardige partitie zijn andere soortgelijke technieken die worden gebruikt om een betere dekking te garanderen. Ze worden gebruikt als het systeem de dezelfde gedrag voor een groot aantal inputs. In een systeem waar echter voor elke set invoerwaarden het systeemgedrag geldt anders, grenswaarde en gelijkwaardige partitietechniek zijn niet effectief bij het garanderen van een goede testdekking.
In dit geval is het testen van de beslissingstabel een goede optie. Deze techniek kan zorgen voor een goede dekking en de weergave is eenvoudig zodat deze gemakkelijk te interpreteren en te gebruiken is.
Deze tabel kan worden gebruikt als referentie voor de vereisten en voor de functionaliteitsontwikkeling, omdat deze gemakkelijk te begrijpen is en alle combinaties omvat.
De betekenis van deze techniek wordt onmiddellijk duidelijk naarmate het aantal inputs toeneemt. Het aantal mogelijke combinaties wordt gegeven door 2 ^ n, waarbij n het aantal ingangen is. Voor n = 10, wat heel gebruikelijk is bij webgebaseerd testen, met grote invoerformulieren, zal het aantal combinaties 1024 zijn. Uiteraard kun je niet alles testen, maar je kiest een rijke subset van de mogelijke combinaties met behulp van Decision gebaseerde testtechniek.
Voordelen van het testen van beslissingstafels
- Wanneer het systeemgedrag verschillend is voor verschillende inputs en niet hetzelfde voor een reeks inputs, zullen zowel equivalente partitionering als grenswaardeanalyse niet helpen, maar kan een beslissingstabel worden gebruikt.
- De weergave is eenvoudig zodat deze gemakkelijk kan worden geïnterpreteerd en wordt ook gebruikt voor ontwikkeling en zakendoen.
- Deze tabel helpt bij het maken van effectieve combinaties en kan zorgen voor een betere dekking voor testen
- Alle complexe bedrijfsomstandigheden kunnen eenvoudig worden omgezet in beslissingstabellen
- In het geval dat we voor 100% dekking gaan, meestal wanneer de invoercombinaties laag zijn, kan deze techniek de dekking garanderen.
Nadelen van het testen van beslissingstafels
Het grootste nadeel is dat de tabel complexer wordt naarmate het aantal invoeren toeneemt.
Beslissingstabel testvideo
Klik hier als de video niet toegankelijk is