Inleiding tot het testen van de beslissingstabel
Beslissingstabel testen wordt gebruikt om te testen met verschillende combinaties van input die resulteren in verschillende outputs in een programma. Beslissingstabel testen wordt ook oorzaak-effect testen genoemd. Dit is een zeer systematische testmethode, waarbij we invoercombinaties en hun uitvoer in tabelvorm vastleggen. Deze tabellen zijn vrij nauwkeurig en compact om gecompliceerde logica te modelleren.
Kortom, Decision Table Testing is een black box-testtechniek waarbij we een beslissingstabel maken voor complexe bedrijfslogica.
Waarom zijn de beslissingstabellen zo belangrijk?
U bent misschien bekend met grenswaardetests en equivalente partitietesttechnieken, hoewel beide goed zijn in het bieden van dekking, geen van beide zal nuttig zijn wanneer het systeemgedrag voor elke set van ingangen anders is.
Het maken van een beslissingstabel helpt een testteam bij het ontwerpen van tests. Niet alleen beslissingstabellen zijn nuttig bij het vermelden van complexe bedrijfsregels, maar deze tabellen zijn ook nuttig voor testers die willen begrijpen hoe verschillende combinaties van ingangen de uitvoer beïnvloeden.
In veel toepassingen kan het aantal invoercombinaties groot zijn, als dat het geval is met het project in de hand, zal het testen van deze combinaties een probleem blijken te zijn. Voor dergelijke gevallen is het maken van een beslissingstabel een van de betere manieren om een test met een goede dekking uit te voeren.
Zoals u hieronder zult zien, wordt het aantal van de mogelijke combinatie gegeven door 2 x waarbij X het aantal ingangen is, in het geval dat X een groot aantal is (laten we zeggen 10 voor een voorbeeld), zal het aantal combinaties te hoog zijn om houd hier rekening mee. We kunnen echter nog steeds een subset van deze mogelijke combinaties nemen om een beslissingsboom te maken.
Hoe maak je een beslissingstabel om te testen?
Nu u bekend bent met wat het testen van beslissingen is, maken we een beslissingstabel.
Stap 1: De eerste kolom van de tabel maken door de vereisten te begrijpen.
We zullen de eerste kolom van de tabel maken door te kijken wat we moeten testen. Overweeg voor dit voorbeeld een voorbeeld van een ATM-transactie. Hieronder volgen de voorwaarden en acties:
Staat |
Het opnamebedrag is kleiner dan of gelijk aan het banksaldo |
Krediet verleend |
Actie |
Intrekkingsverzoek geaccepteerd |
Stap 2: Meer kolommen toevoegen.
Nu de eerste kolom klaar is, zullen we het resterende aantal benodigde kolommen berekenen. Het zal afhangen van het aantal beschikbare voorwaarden en ook hoeveel alternatieven beschikbaar zijn voor deze voorwaarden.
Wiskundig is het aantal kolommen 2 x, waarbij X het aantal voorwaarden is.
Om het testen te vergemakkelijken, moeten we kleinere beslissingstabellen maken en vervolgens een grote. Eenmaal gedaan met het aantal kolommen, kunnen we Waar of Onwaar invullen. U kunt de cellen in het volgende patroon vullen:
R1: TF
R2: TTFF
R3: TTTFFF
Enzovoorts.
Eenmaal klaar, ziet onze tabel er nu als volgt uit:
Staat | ||||
Het opnamebedrag is kleiner dan of gelijk aan het banksaldo | T | F | T | F |
Krediet verleend | T | T | F | F |
Actie | ||||
Intrekkingsverzoek geaccepteerd |
Stap 3: De tafel kleiner maken.
We kunnen de tabel verkleinen door dubbele kolommen in de tabel te verwijderen. Andere manieren om de tabel te verkleinen, zijn controleren op ongeldige combinaties in de tabel, er is bijvoorbeeld geen manier waarop iemand, zowel een man als een vrouw, in een beslissingstabel kan zijn.
We zullen cellen met onbeduidende waarden ook moeten markeren met “-“ Het maakt bijvoorbeeld niet uit of het krediet wordt toegekend als het bedrag <= Accountsaldo is.
Staat | ||||
Het opnamebedrag is kleiner dan of gelijk aan het banksaldo | T | F | T | F |
Krediet verleend | - | T | - | F |
Actie | ||||
Intrekkingsverzoek geaccepteerd |
Stap 4: Bepalen van de acties voor de tabel.
Nu zullen we met behulp van onze vereisten de acties van de tabel bepalen. Deze kolommen krijgen dan de naam R1 / Regel 1, R2 / Regel 2, enz.
Staat | |||
Het opnamebedrag is kleiner dan of gelijk aan het banksaldo | T | F | F |
Krediet verleend | - | T | F |
Actie | |||
Intrekkingsverzoek geaccepteerd | T | T | F |
Laatste stap: het schrijven van de testcases
Nu de tabel is gemaakt, verlaagd en de acties ervan zijn bepaald, kunnen we testgevallen voor de tabel schrijven. Voor een volledige dekking van bedrijfsregels moeten we ten minste één testcase voor elke kolom schrijven
Bijvoorbeeld:
Testgeval voor R1: saldo = 1000, intrekkingsverzoek = 1000. Resultaat: intrekkingsverzoek geaccepteerd
Testgeval voor R2: saldo = 500, uitbetalingsverzoek = 1000. Krediet verleend: Ja, resultaat: uitbetalingsverzoek geaccepteerd
Testgeval voor R3: saldo = 1000, intrekkingsverzoek = 1500. Krediet verleend: Nee, resultaat: intrekkingsverzoek geweigerd
Voordelen van beslissingstabeltesten
- Beslissingstests zijn eenvoudig te interpreteren en worden daarom gebruikt voor ontwikkeling en bedrijven.
- Een beslissingstesttest helpt bij het maken van effectieve combinaties en eenmaal gemaakt kan het een betere dekking bieden voor het testen.
- Het is vrij eenvoudig om zakelijke voorwaarden om te zetten in beslissingstabellen, zelfs als de omstandigheden complex van aard zijn.
- Als het testteam 100% dekking zoekt en het aantal invoercombinaties laag is, is Beslissingstabel Testen een van de meest efficiënte manieren om de klus te klaren.
- Beslissingstesten werken waar grenswaarde-analyse en equivalente partitie niet werken, dwz wanneer het systeemgedrag verschillend is voor verschillende ingangen.
Conclusie
Beslissingstabel testen is een van de effectieve black box-testtechnieken, terwijl de tabellen gecompliceerder worden met een toenemend aantal ingangen, het een behoorlijke dekking kan bieden voor situaties waarin andere technieken niet kunnen worden gebruikt.
Aanbevolen artikelen
Dit is een leidraad geweest voor het testen van beslissingstabellen. Hier bespraken we enkele concepten, voordelen, belang van het testen van beslissingstabellen. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -
- White Box testen
- Sollicitatievragen voor ETL Testing
- Wat is testen van eenheden
- Systeem testen