Introduktion till beslutstabellstestning
Beslutstabell Testning används för att testa med olika kombinationer av input som resulterar i olika utgångar i ett program. Beslutstabell-testning kallas också Orsak-effekt-testning. Detta är en mycket systematisk strategi för testning, där vi fångar in ingångskombinationer och deras utgångar i tabellformat. Dessa tabeller är ganska exakta och kompakta för att komplicera logiken.
Sammanfattningsvis är Decision Table Testing en testteknik för svarta rutor där vi skapar en beslutstabell för komplex affärslogik.
Varför är beslutstabellerna så viktiga?
Du kanske känner till gränsvärde-testning och likvärdiga partitionstesttekniker, medan båda dessa är bra på att tillhandahålla täckning, ingen av dem kommer att vara användbar när systemets beteende skiljer sig åt varje uppsättning ingångar.
Att skapa en beslutstabell hjälper ett testteam att utforma tester. Inte bara beslutstabeller är användbara för att ange komplexa affärsregler, utan dessa tabeller är också användbara för testare som vill förstå hur olika kombinationer av ingångar påverkar produktionen.
I många applikationer kan antalet ingångskombinationer vara stort, om det är fallet med projektet i handen kommer testning av dessa kombinationer att visa sig vara ett problem. För fall som dessa är att skapa en beslutstabell ett av de bättre sätten att genomföra ett test med god täckning.
Som ni ser nedan anges antalet möjliga kombinationer med 2 x där X är antalet ingångar, i fall där X är ett stort antal (låt oss säga 10 till exempel) kommer antalet kombinationer att vara för högt till ta hänsyn till alla dessa. Men vi kan fortfarande ta en delmängd av dessa möjliga kombinationer för att skapa ett beslutsträd.
Hur skapar jag en beslutstabell för testning?
Nu när du är bekant med vad beslutstestning är, låt oss skapa en beslutstabell.
Steg 1: Skapa den första kolumnen i tabellen genom att förstå kraven.
Vi kommer att skapa den första kolumnen i tabellen genom att titta på vad vi behöver testa. I det här exemplet kan du tänka på ett exempel på en ATM-transaktion. Följande skulle vara dess villkor och åtgärder:
Tillstånd |
Uttagsbeloppet är mindre än eller lika med bankbalansen |
Kredit beviljat |
Verkan |
Begäran om uttag accepteras |
Steg 2: Lägga till fler kolumner.
Nu när den första kolumnen är klar beräknar vi det återstående antalet kolumner som behövs. Det kommer att bero på antalet villkor på handen och hur många alternativ som finns tillgängliga för dessa villkor.
Matematiskt är antalet kolumner 2 x där X är antalet villkor.
För att underlätta testningen bör vi skapa mindre beslutstabeller och sedan skapa en enorm. När vi har gjort antalet kolumner kan vi fylla sann eller falsk. Du kan fylla cellerna i följande mönster:
R1: TF
R2: TTFF
R3: TTTFFF
Och så vidare.
När det är gjort ser vårt bord nu ut enligt följande:
Tillstånd | ||||
Uttagsbeloppet är mindre än eller lika med bankbalansen | T | F | T | F |
Kredit beviljat | T | T | F | F |
Verkan | ||||
Begäran om uttag accepteras |
Steg 3: Att göra tabellen mindre.
Vi kan minska tabellen genom att ta bort alla duplicerade kolumner i tabellen. Andra sätt att minska tabellen är att kontrollera om ogiltiga kombinationer i tabellen, till exempel finns det inget sätt någon kan vara båda, en man och en kvinna i en beslutstabell.
Vi måste också markera celler med obetydliga värden med “-” Det spelar till exempel ingen roll om kredit beviljas om beloppet är <= Kontosaldo.
Tillstånd | ||||
Uttagsbeloppet är mindre än eller lika med bankbalansen | T | F | T | F |
Kredit beviljat | - | T | - | F |
Verkan | ||||
Begäran om uttag accepteras |
Steg 4: Bestämma åtgärderna för tabellen.
Med hjälp av våra krav kommer vi nu att fastställa tabellens åtgärder. Dessa kolumner kommer sedan att namnges såsom R1 / regel 1, R2 / regel 2, etc.
Tillstånd | |||
Uttagsbeloppet är mindre än eller lika med bankbalansen | T | F | F |
Kredit beviljat | - | T | F |
Verkan | |||
Begäran om uttag accepteras | T | T | F |
Sista steg: Skriva testfall
Nu när tabellen är gjord, minskad och dess åtgärder är bestämda kan vi skriva testfall för tabellen. För full täckning av affärsregler bör vi skriva minst ett testfall för varje kolumn
Till exempel:
Testfall för R1: balans = 1000, begäran om uttag = 1000. Resultat: begäran om uttag accepteras
Testfall för R2: Balans = 500, Återkallande = 1000. Kredit beviljas: Ja, Resultat: Återkallande begäran accepterad
Testfall för R3: Balans = 1000, Återkallande = 1500. Kredit beviljas: Nej, Resultat: Återkallande begäran nekad
Fördelar med beslutstabelltestning
- Beslutstabell Testning är lätt att tolka och därför används dessa för utveckling och affärsverksamhet.
- En beslutstabeltestning hjälper till att göra effektiva kombinationer och när den väl har gjorts kan den ge bättre täckning för testning.
- Det är ganska lätt att förvandla affärsvillkor till beslutstabeller, även om förhållandena är komplexa.
- Om testteamet letar efter 100% täckning och antalet ingångskombinationer är lågt, är beslutstabelltestning ett av de mest effektiva sätten att få jobbet gjort.
- Beslutstest fungerar där gränsvärdesanalys och ekvivalent partitionering inte betyder när systemets beteende skiljer sig åt olika ingångar.
Slutsats
Beslutstabelltestning är en av de effektiva testmetoderna för svarta rutorna, medan tabellerna blir mer komplicerade med ett ökande antal input, kan det ge anständigt täckning för situationer där andra tekniker inte kan användas.
Rekommenderade artiklar
Detta har varit en guide till beslutstabelltestning. Här diskuterade vi några begrepp, fördelar, betydelse av testtabellstestning. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Testning av vit låda
- ETL-testintervjufrågor
- Vad är enhetstest
- Systemtestning