Beslutningstabelltesting (eksempel)
Hva er Decision Table Testing?
Beslutningstabelltesting er en programvaretestingsteknikk som brukes til å teste systematferd for forskjellige inngangskombinasjoner. Dette er en systematisk tilnærming der de ulike inngangskombinasjonene og deres tilsvarende systematferd (Output) fanges opp i tabellform. Det er derfor det også kalles som en Årsak virkning tabell hvor årsak og virkninger fanges opp for bedre testdekning.
A Beslutningstabell er en tabellrepresentasjon av innganger kontra regler/tilfeller/testbetingelser. Det er et veldig effektivt verktøy som brukes for både komplekse programvaretesting og kravhåndtering. En beslutningstabell hjelper til med å sjekke alle mulige kombinasjoner av tilstander for testing, og testere kan også enkelt identifisere ubesvarte forhold. Betingelsene er angitt som True(T) og False(F) verdier.
La oss lære med et eksempel.
Eksempel 1: Hvordan ta beslutningsbasetabell for påloggingsskjerm
La oss lage en beslutningstabell for en påloggingsskjerm.
Betingelsen er enkel hvis brukeren oppgir riktig brukernavn og passord vil brukeren bli omdirigert til hjemmesiden. Hvis noen av inndataene er feil, vil en feilmelding vises.
Forhold | Regel 1 | Regel 2 | Regel 3 | Regel 4 |
---|---|---|---|---|
Brukernavn (T/F) | F | T | F | T |
Passord (T/F) | F | F | T | T |
Utgang (E/H) | E | E | E | H |
Forklaring:
- T – Riktig brukernavn/passord
- F – Feil brukernavn/passord
- E – Feilmelding vises
- H – Hjemmeskjermen vises
Tolkning:
- Sak 1 – Brukernavn og passord var begge feil. Brukeren får vist en feilmelding.
- Sak 2 – Brukernavnet var riktig, men passordet var feil. Brukeren får vist en feilmelding.
- Sak 3 – Brukernavnet var feil, men passordet var riktig. Brukeren får vist en feilmelding.
- Sak 4 – Brukernavn og passord var begge riktige, og brukeren navigerte til hjemmesiden
Mens du konverterer dette til en testforsøk, vi kan lage 2 scenarier,
- Skriv inn riktig brukernavn og riktig passord og klikk på logg inn, og det forventede resultatet vil være at brukeren skal navigeres til hjemmesiden
Og en fra scenariet nedenfor
- Skriv inn feil brukernavn og feil passord og klikk på logg inn, og det forventede resultatet vil være at brukeren skal få en feilmelding
- Skriv inn riktig brukernavn og feil passord og klikk på logg inn, og det forventede resultatet vil være at brukeren skal få en feilmelding
- Skriv inn feil brukernavn og riktig passord og klikk på logg inn, og det forventede resultatet vil være at brukeren skal få en feilmelding
Ettersom de i hovedsak tester den samme regelen.
Eksempel 2: Hvordan lage beslutningstabell for opplastingsskjerm
Vurder nå en dialogboks som vil be brukeren om å laste opp et bilde med visse betingelser som -
- Du kan kun laste opp bilde i '.jpg'-format
- filstørrelse mindre enn 32 kb
- oppløsning 137*177.
Hvis noen av betingelsene mislykkes, vil systemet sende en tilsvarende feilmelding som angir problemet, og hvis alle betingelsene er oppfylt, vil bildet bli oppdatert
La oss lage avgjørelsestabellen for denne saken.
Forhold | Sak 1 | Sak 2 | Sak 3 | Sak 4 | Sak 5 | Sak 6 | Sak 7 | Sak 8 |
---|---|---|---|---|---|---|---|---|
dannet | . Jpg | . Jpg | . Jpg | . Jpg | Ikke .jpg | Ikke .jpg | Ikke .jpg | Ikke .jpg |
Størrelse | Less enn 32 kb | Less enn 32 kb | >= 32kb | >= 32kb | Less enn 32 kb | Less enn 32 kb | >= 32kb | >= 32kb |
oppløsning | 137*177 | Ikke 137*177 | 137*177 | Ikke 137*177 | 137*177 | Ikke 137*177 | 137*177 | Ikke 137*177 |
Produksjon | Bilde lastet opp | Feilmeldingsløsning samsvarer ikke | Størrelsen på feilmeldingen samsvarer ikke | Feilmeldingsstørrelse og oppløsning samsvarer ikke | Feilmelding for misforhold i formatet | Feilmeldingsformat og oppløsning samsvarer ikke | Feilmelding for misforhold mellom format og størrelse | Feilmelding for manglende samsvar mellom format, størrelse og oppløsning |
For denne tilstanden kan vi lage 8 forskjellige testtilfeller og sikre fullstendig dekning basert på tabellen ovenfor.
- Last opp et bilde med formatet '.jpg', størrelse mindre enn 32kb og oppløsning 137*177 og klikk på last opp. Forventet resultat er at bildet skal lastes opp
- Last opp et bilde med formatet '.jpg', størrelse mindre enn 32kb og oppløsning ikke 137*177 og klikk på last opp. Forventet resultat er Feilmelding som ikke samsvarer med oppløsning skal vises
- Last opp et bilde med formatet '.jpg', størrelse mer enn 32kb og oppløsning 137*177 og klikk på last opp. Forventet resultat er feilmeldingsstørrelse som ikke samsvarer, skal vises
- Last opp et bilde med formatet '.jpg', størrelse mer enn lik 32kb og oppløsning ikke 137*177 og klikk på last opp. Forventet resultat er feilmeldingsstørrelse og oppløsning som ikke samsvarer, skal vises
- Last opp et bilde med annet format enn '.jpg', størrelse mindre enn 32kb og oppløsning 137*177 og klikk på last opp. Forventet resultat er Feilmelding for formatmismatch skal vises
- Last opp et bilde med annet format enn '.jpg', størrelse mindre enn 32kb og oppløsning ikke 137*177 og klikk på last opp. Forventet resultat er feilmeldingsformat og oppløsning som ikke samsvarer, skal vises
- Last opp et bilde med annet format enn '.jpg', størrelse mer enn 32kb og oppløsning 137*177 og klikk på last opp. Forventet resultat er Feilmelding for format- og størrelsesfeil skal vises
- Last opp et bilde med annet format enn '.jpg', størrelse mer enn 32kb og oppløsning ikke 137*177 og klikk på last opp. Forventet resultat er Feilmelding for format, størrelse og oppløsning som ikke samsvarer skal vises
Hvorfor er Decision Table Testing viktig?
Beslutningstabelltesting er viktig fordi det hjelper å teste ulike kombinasjoner av forhold og gir bedre testdekning for kompleks forretningslogikk. Når du tester oppførselen til et stort sett med innganger der systematferden er forskjellig med hvert sett med innganger, gir beslutningstabelltesting god dekning og representasjonen er enkel, så den er enkel å tolke og bruke.
In Engineering programvare, grenseverdi og tilsvarende partisjon er andre lignende teknikker som brukes for å sikre bedre dekning. De brukes hvis systemet viser samme oppførsel for et stort sett med innganger. Imidlertid, i et system hvor systemets oppførsel er for hvert sett med inngangsverdier forskjellig, grenseverdi og tilsvarende partisjonsteknikk er ikke effektive for å sikre god testdekning.
I dette tilfellet er testing av beslutningstabeller et godt alternativ. Denne teknikken kan sørge for god dekning, og fremstillingen er enkel slik at den er enkel å tolke og bruke.
Denne tabellen kan brukes som referanse for kravet og for funksjonalitetsutvikling siden den er lett å forstå og dekke alle kombinasjonene.
Betydningen av denne teknikken blir umiddelbart tydelig ettersom antall innganger øker. Antall mulige kombinasjoner er gitt ved 2 ^ n , hvor n er antall innganger. For n = 10, som er veldig vanlig i nettbasert testing, med store inndataskjemaer, vil antall kombinasjoner være 1024. Du kan selvsagt ikke teste alle, men du vil velge et rikt undersett av mulige kombinasjoner ved å bruke beslutning basert testteknikk.
Fordeler med Decision Table Testing
- Når systematferden er forskjellig for forskjellige innganger og ikke den samme for en rekke innganger, vil ikke både ekvivalent partisjonering og grenseverdianalyse hjelpe, men en beslutningstabell kan brukes.
- Fremstillingen er enkel slik at den lett kan tolkes og brukes også til utvikling og virksomhet.
- Denne tabellen vil bidra til å lage effektive kombinasjoner og kan sikre bedre dekning for testing
- Alle komplekse forretningsforhold kan enkelt gjøres om til beslutningstabeller
- I et tilfelle vi går for 100 % dekning, typisk når inngangskombinasjonene er lave, kan denne teknikken sikre dekningen.
Ulemper med Decision Table Testing
Den største ulempen er at når antall innganger øker, vil tabellen bli mer kompleks
Video for testing av beslutningstabell
Klikk her. hvis videoen ikke er tilgjengelig