Test af beslutningstabel (eksempel)
Hvad er Decision Table Testing?
Decision table testing er en softwaretestteknik, der bruges til at teste systemadfærd for forskellige inputkombinationer. Dette er en systematisk tilgang, hvor de forskellige inputkombinationer og deres tilsvarende systemadfærd (Output) fanges i tabelform. Derfor kaldes det også som en Årsag-virkning tabel, hvor årsag og virkning er fanget for bedre testdækning.
A Beslutningstabel er en tabelrepræsentation af input versus regler/tilfælde/testbetingelser. Det er et meget effektivt værktøj, der bruges til både komplekse software test og kravstyring. En beslutningstabel hjælper med at kontrollere alle mulige kombinationer af betingelser til test, og testere kan også nemt identificere ubesvarede forhold. Betingelserne er angivet som True(T) og False(F) værdier.
Lad os lære med et eksempel.
Eksempel 1: Sådan træffes beslutningsbasetabel til loginskærm
Lad os oprette en beslutningstabel til en login-skærm.
Betingelsen er enkel, hvis brugeren angiver det korrekte brugernavn og adgangskode, vil brugeren blive omdirigeret til hjemmesiden. Hvis noget af input er forkert, vises en fejlmeddelelse.
Betingelser | Regel 1 | Regel 2 | Regel 3 | Regel 4 |
---|---|---|---|---|
Brugernavn (T/F) | F | T | F | T |
Adgangskode (T/F) | F | F | T | T |
Output (E/H) | E | E | E | H |
Legende:
- T – Korrekt brugernavn/adgangskode
- F – Forkert brugernavn/adgangskode
- E – Der vises en fejlmeddelelse
- H – Startskærmen vises
fortolkning:
- Sag 1 – Brugernavn og adgangskode var begge forkerte. Brugeren får vist en fejlmeddelelse.
- Sag 2 – Brugernavnet var korrekt, men adgangskoden var forkert. Brugeren får vist en fejlmeddelelse.
- Sag 3 – Brugernavnet var forkert, men adgangskoden var korrekt. Brugeren får vist en fejlmeddelelse.
- Sag 4 – Brugernavn og adgangskode var begge korrekte, og brugeren navigerede til hjemmesiden
Mens du konverterer dette til en test sag, vi kan skabe 2 scenarier,
- Indtast det korrekte brugernavn og korrekte adgangskode og klik på login, og det forventede resultat vil være, at brugeren skal navigeres til hjemmesiden
Og et fra nedenstående scenarie
- Indtast forkert brugernavn og forkert adgangskode og klik på login, og det forventede resultat vil være, at brugeren skulle få en fejlmeddelelse
- Indtast korrekt brugernavn og forkert adgangskode og klik på login, og det forventede resultat vil være, at brugeren skulle få en fejlmeddelelse
- Indtast forkert brugernavn og korrekt adgangskode og klik på login, og det forventede resultat vil være, at brugeren skulle få en fejlmeddelelse
Da de i det væsentlige tester den samme regel.
Eksempel 2: Sådan laver du en beslutningstabel til uploadskærm
Overvej nu en dialogboks, der vil bede brugeren om at uploade et billede med visse betingelser som -
- Du kan kun uploade billeder i '.jpg'-format
- filstørrelse mindre end 32 kb
- opløsning 137*177.
Hvis nogen af betingelserne mislykkes, sender systemet en tilsvarende fejlmeddelelse, der angiver problemet, og hvis alle betingelser er opfyldt, vil billedet blive opdateret med succes
Lad os oprette afgørelsestabellen for denne sag.
Betingelser | Sag 1 | Sag 2 | Sag 3 | Sag 4 | Sag 5 | Sag 6 | Sag 7 | Sag 8 |
---|---|---|---|---|---|---|---|---|
dannet | .jpg | .jpg | .jpg | .jpg | Ikke .jpg | Ikke .jpg | Ikke .jpg | Ikke .jpg |
Størrelse | Less end 32 kb | Less end 32 kb | >= 32kb | >= 32kb | Less end 32 kb | Less end 32 kb | >= 32kb | >= 32kb |
resolution | 137*177 | Ikke 137*177 | 137*177 | Ikke 137*177 | 137*177 | Ikke 137*177 | 137*177 | Ikke 137*177 |
Produktion | Foto uploadet | Fejlmeddelelsesløsning stemmer ikke overens | Fejlmeddelelsesstørrelsen stemmer ikke overens | Fejlmeddelelsesstørrelse og opløsning stemmer ikke overens | Fejlmeddelelse for format uoverensstemmelse | Fejlmeddelelsesformat og opløsning stemmer ikke overens | Fejlmeddelelse for format og størrelse uoverensstemmelse | Fejlmeddelelse for uoverensstemmelser mellem format, størrelse og opløsning |
Til denne tilstand kan vi oprette 8 forskellige testcases og sikre fuldstændig dækning baseret på ovenstående tabel.
- Upload et billede med formatet '.jpg', størrelse mindre end 32kb og opløsning 137*177 og klik på upload. Det forventede resultat er, at billedet skal uploades
- Upload et billede med formatet '.jpg', størrelse mindre end 32kb og opløsning ikke 137*177 og klik på upload. Forventet resultat er Fejlmeddelelsen, der ikke stemmer overens med opløsningen, skal vises
- Upload et billede med formatet '.jpg', størrelse mere end 32kb og opløsning 137*177 og klik på upload. Det forventede resultat er, at fejlmeddelelsens størrelse ikke stemmer overens skal vises
- Upload et billede med formatet '.jpg', størrelse mere end lig med 32kb og opløsning ikke 137*177 og klik på upload. Det forventede resultat er, at fejlmeddelelsens størrelse og opløsning ikke stemmer overens skal vises
- Upload et billede med andet format end '.jpg', størrelse mindre end 32kb og opløsning 137*177 og klik på upload. Forventet resultat er Fejlmeddelelse for format uoverensstemmelse bør vises
- Upload et billede med andet format end '.jpg', størrelse mindre end 32kb og opløsning ikke 137*177 og klik på upload. Forventet resultat er Fejlmeddelelsesformat og opløsning, der ikke stemmer overens, skal vises
- Upload et billede med andet format end '.jpg', størrelse mere end 32kb og opløsning 137*177 og klik på upload. Forventet resultat er Fejlmeddelelse for format og størrelse uoverensstemmelse bør vises
- Upload et billede med andet format end '.jpg', størrelse mere end 32kb og opløsning ikke 137*177 og klik på upload. Forventet resultat er Fejlmeddelelse for format, størrelse og opløsning, der ikke stemmer overens, skal vises
Hvorfor er Decision Table Testing vigtigt?
Test af beslutningstabel er vigtig fordi det hjælper med at teste forskellige kombinationer af forhold og giver bedre testdækning for kompleks forretningslogik. Når man tester adfærden for et stort sæt input, hvor systemadfærden er forskellig med hvert sæt input, giver beslutningstabeltest god dækning, og repræsentationen er enkel, så den er nem at fortolke og bruge.
In Software Engineering, grænseværdi og tilsvarende partition er andre lignende teknikker, der bruges til at sikre bedre dækning. De bruges, hvis systemet viser samme adfærd for et stort sæt input. Men i et system, hvor systemets adfærd er for hvert sæt inputværdier forskellige, grænseværdi og tilsvarende opdelingsteknik er ikke effektive til at sikre god testdækning.
I dette tilfælde er beslutningstabeltest en god mulighed. Denne teknik kan sikre en god dækning, og fremstillingen er enkel, så den er nem at fortolke og bruge.
Denne tabel kan bruges som reference for kravet og til funktionalitetsudvikling, da den er let at forstå og dække alle kombinationerne.
Betydningen af denne teknik bliver straks tydelig, efterhånden som antallet af input stiger. Antal mulige kombinationer er givet ved 2 ^ n , hvor n er antallet af indgange. For n = 10, hvilket er meget almindeligt i den webbaserede test, med store input-formularer, vil antallet af kombinationer være 1024. Du kan naturligvis ikke teste alle, men du vil vælge et rigt undersæt af de mulige kombinationer ved hjælp af beslutning baseret testteknik.
Fordele ved Decision Table Testing
- Når systemets adfærd er forskellig for forskellige input og ikke ens for en række input, hjælper både ækvivalent partitionering og grænseværdianalyse ikke, men en beslutningstabel kan bruges.
- Repræsentationen er enkel, så den let kan fortolkes og bruges også til udvikling og forretning.
- Denne tabel hjælper med at lave effektive kombinationer og kan sikre bedre dækning til test
- Alle komplekse forretningsforhold kan nemt omdannes til beslutningstabeller
- I et tilfælde, hvor vi går efter 100 % dækning, typisk når inputkombinationerne er lave, kan denne teknik sikre dækningen.
Ulemper ved Decision Table Testing
Den største ulempe er, at når antallet af input stiger, bliver tabellen mere kompleks
Video om test af beslutningstabel
Klik link. hvis videoen ikke er tilgængelig