Hva er domenetesting i programvaretesting? (med eksempel)
Hva er domenetesting?
Domenetesting er en Testing av programvare prosess der applikasjonen testes ved รฅ gi et minimum antall innganger og evaluere dens passende utganger. Hovedmรฅlet med domenetesting er รฅ sjekke om programvareapplikasjonen aksepterer innganger innenfor det akseptable omrรฅdet og leverer nรธdvendig utgang.
Det er en Funksjonell testing teknikk der utdataene til et system testes med et minimalt antall innganger for รฅ sikre at systemet ikke aksepterer ugyldige og utenfor rekkevidde inngangsverdier. Det er en av de viktigste Hvit Box Testing metoder. Den verifiserer ogsรฅ at systemet ikke skal akseptere innganger, betingelser og indekser utenfor det spesifiserte eller gyldige omrรฅdet.
Domenetesting er forskjellig for hvert enkelt domene, sรฅ du mรฅ ha domenespesifikk kunnskap for รฅ teste et programvaresystem.
Enklere praksis for domenetesting
I domenetesting deler vi et domene inn i underdomener (ekvivalensklasser) og tester deretter med verdier fra hvert underdomene. For eksempel, hvis et nettsted (domene) har blitt gitt for testing, vil vi dele nettstedet inn i smรฅ deler (underdomene) for รฅ lette testingen.
Domene kan innebรฆre testing av en hvilken som helst inngangsvariabel eller kombinasjon av inngangsvariabler.
Utรธvere studerer ofte de enkleste tilfellene av domenetesting mindre enn to andre navn, "grensetesting" og "ekvivalensklasseanalyse."
Grensetesting โ Grenseverdianalyse (BVA) er basert pรฅ testing ved grensene mellom skillevegger. Vi vil teste bรฅde gyldige og ugyldige inngangsverdier i partisjonen/klassene.
Ekvivalensklassetesting โ Tanken bak denne teknikken er รฅ dele (dvs. รฅ partisjonere) et sett med testbetingelser i grupper eller sett som kan betraktes som like (dvs. systemet skal hรฅndtere dem pรฅ samme mรฅte), derav "ekvivalenspartisjonering."
Det forenklede skjemaet gjelder for domenetesting โ
- Kun til tester av inngangsvariabler
- Kun nรฅr testet pรฅ systemnivรฅ
- Bare nรฅr testet en om gangen
- Bare nรฅr testet pรฅ en veldig overfladisk mรฅte
Det kan forenkles som nedenfor:
| Variabel | Gyldig klasseekvivalensklasse | Ugyldig klasseekvivalensklasse | Grenser og spesielle tilfeller | Merknader |
|---|---|---|---|---|
| X | 0-100 | 0 | ||
| 100 | ||||
| <0 | -1 | |||
| > 100 | 101 |
Forklaring:
- Hvis et felt godtar omrรฅder fra 0-100, skal feltet ikke akseptere -1 og 101, da de er ugyldige oppfรธringer og utenfor grensene.
- Feltet skal godta verdier som 0,100 og et hvilket som helst tall mellom dem.
Bygge bord som disse (i praksis)
- For รฅ bygge en ekvivalensklasseanalyse over tid legger du informasjonen inn i et regneark. Start med รฅ liste variabler. Legg til informasjon om dem etter hvert som du fรฅr den.
- Tabellen skal til slutt inneholde alle variabler. Dette betyr alle inngangsvariabler, alle utdatavariabler og eventuelle mellomliggende variabler som du kan observere.
- I praksis er de fleste tabellene jeg har sett ufullstendige. De beste sett viser alle variablene og legger til detaljer for kritiske variabler.
Domeneteststrategi
Mens du tester domene, mรฅ du vurdere fรธlgende ting,
- Hvilket domene tester vi?
- Hvordan gruppere verdiene i klasser?
- Hvilke verdier av klassene skal testes?
- Hvordan bestemme resultatet?
Hvilket domene tester vi?
Ethvert domene som vi tester har en viss inngangsfunksjonalitet og en utgangsfunksjonalitet. Det vil vรฆre noen inngangsvariabler som skal legges inn, og riktig utdata mรฅ verifiseres.
Eksempel pรฅ domenetesting
- Vurder et enkelt inngangstestscenario:
C = a+b, der a og b er inngangsvariabler og C er utgangsvariabelen.
Her i eksemplet ovenfor er det ikke behov for klassifisering eller kombinasjon av variablene er nรธdvendig.
- Vurder fรธlgende flere innganger og passende utdatascenario:
Vurder en spillutstilling for barn, 6 konkurranser er lagt opp, og billetter mรฅ gis i henhold til alder og kjรธnn. Billettsalget er en av modulene som skal testes i for hele funksjonaliteten til spillutstillingen.
I henhold til scenariet fikk vi seks scenarier basert pรฅ alderen og konkurransene:
- Alder >5 og <10, gutt skal delta i historiefortelling.
- Alder >5 og <10, jente bรธr delta i tegnekonkurransen.
- Alder >10 og <15, gutt bรธr delta i Quiz.
- Alder >10 og <15, jente bรธr delta i essayskriving.
- Alder <5, bรฅde gutter og jenter bรธr delta i Rhymes Competition.
- Alder >15, bรฅde gutter og jenter bรธr delta i poesikonkurranse.
Her vil inputen vรฆre alder og kjรธnn, og dermed vil billetten til konkurransen bli utstedt. I dette tilfellet vil inndeling av input eller rett og slett grupperingping av verdier kommer inn i bildet.
Hvordan gruppere verdiene i klasser?
ร partisjonere noen verdier betyr รฅ dele dem opp i ikke-overlappendeping delmengder.
Som vi diskuterte tidligere er det to typer partisjonering:
- Ekvivalenspartisjonering โ Ekvivalenspartisjonering er en programvaretesting teknikk som deler inn dataene til en programvareenhet i partisjoner med tilsvarende data som testtilfeller kan utledes fra. I prinsippet er testtilfeller utformet for รฅ dekke hver partisjon minst รฉn gang.
- Grenseverdianalyse โ Grenseverdianalyse er en programvaretesting teknikk der tester er designet for รฅ inkludere representanter for grenseverdier i et omrรฅde. Ideen kommer fra grense.
For eksempelet ovenfor deler vi verdiene inn i en delmengde eller delmengde. Vi deler alderen inn i fรธlgende klasser:
- Klasse 1: Barn i aldersgruppen 5 til 10 รฅr
- Klasse 2: Barn med aldersgruppe under 5
- Klasse 3: Barn i aldersgruppen 10 til 15 รฅr
- Klasse 4: Barn med aldersgruppe over 15 รฅr.
Hvilke verdier av klassene skal testes?
Verdiene som plukkes opp for testing skal vรฆre grenseverdier:
- Grenser er representanter for ekvivalensklassene vi prรธver dem fra. Det er mer sannsynlig at de avslรธrer en feil enn andre klassemedlemmer, sรฅ de er bedre representanter.
- Den beste representanten for en ekvivalensklasse er en verdi i mellom omrรฅdet.
For eksempelet ovenfor har vi fรธlgende klasser som skal testes:
For eksempel for scenario #1:
- Klasse 1: Barn med aldersgruppe 5 til 10 (alder >5 og <=10)
Grenseverdier:
- Verdier skal vรฆre lik eller mindre enn 10. Derfor bรธr alder 10 inkluderes i denne klassen.
- Verdiene bรธr vรฆre stรธrre enn 5. Derfor bรธr ikke 5 รฅr inkluderes i denne klassen.
- Verdiene skal vรฆre lik eller mindre enn 10. Derfor bรธr 11 รฅr ikke inkluderes i denne klassen.
- Verdiene bรธr vรฆre stรธrre enn 5. Derfor bรธr 6 รฅr inkluderes i denne klassen.
Ekvivalenspartisjonsverdier:
Ekvivalenspartisjon henvises til nรฅr man kun mรฅ teste รฉn tilstand fra hver partisjon. I dette antar vi at hvis en betingelse i en partisjon fungerer, sรฅ skal alle betingelsene fungere. Pรฅ samme mรฅte, hvis en betingelse i den partisjonen ikke fungerer, antar vi at ingen av de andre betingelsene vil fungere. For eksempel
(Alder >5 og <=10)
Siden verdiene fra 6 til 10 er gyldige, mรฅ en av verdiene blant 6,7,8,9 og 10 hentes. Derfor er valgt alder "8" en gyldig inndataalder for aldersgruppen mellom (alder >5 og <=10). Denne typen partisjon blir referert til som ekvivalenspartisjon.
| Scenario | Grenseverdier som skal tas | Ekvivalenspartisjoneringsverdier |
|---|---|---|
| Gutt โ alder >5 og <=10 | Angitt alder = 6 Angitt alder = 5 Angitt alder = 11 Angitt alder = 10 |
Angitt alder = 8 |
| Jente โ alder >5 og <=10 | Angitt alder = 6 Angitt alder = 5 Angitt alder = 11 Angitt alder = 10 |
Angitt alder = 8 |
| Gutt โ alder >10 og <=15 | Angitt alder = 11 Angitt alder = 10 Angitt alder = 15 Angitt alder = 16 |
Angitt alder = 13 |
| Jente โ alder >10 og <=15 | Angitt alder = 11 Angitt alder = 10 Angitt alder = 15 Angitt alder = 16 |
Angitt alder = 13 |
| Alder<=5 | Angitt alder = 4 Angitt alder = 5 |
Angitt alder = 3 |
| Alder> 15 | Angitt alder = 15 Angitt alder = 16 |
Angitt alder = 25 |
Hvordan avgjรธr vi om programmet besto eller ikke besto testen?
ร bestรฅ funksjonaliteten avhenger ikke bare av resultatene av scenariene ovenfor. Innspillene som gis og det forventede resultatet vil gi oss resultatene og dette krever domenekunnskap.
Bestemme resultatene av eksemplet:
Derfor, hvis alle testsakene i ovennevnte passerer, blir domenet for รฅ utstede billetter i konkurransen bestรฅtt. Hvis ikke, blir domenet mislykket.
Domeneteststruktur
Vanligvis fรธlger testere trinnene nedenfor i en domenetesting. Disse kan tilpasses/hoppes over i henhold til vรฅre testbehov.
- Identifiser potensielt interessante variabler.
- Identifiser variabelen(e) du kan analysere nรฅ og bestill dem (minst til stรธrst og omvendt).
- Opprett og identifiser grenseverdier og ekvivalensklasseverdier som ovenfor.
- Identifiser sekundรฆre dimensjoner og analyser hver pรฅ en klassisk mรฅte. (I eksemplet ovenfor er Kjรธnn den sekundรฆre dimensjonen).
- Identifiser og test variabler som holder resultater (utdatavariabler).
- Vurder hvordan programmet bruker verdien av denne variabelen.
- Identifiser ytterligere potensielt relaterte variabler for kombinasjonstesting.
- Tenk deg risikoer som ikke nรธdvendigvis kartlegges til en รฅpenbar dimensjon.
- Identifiser og liste opp uanalyserte variabler. Samle informasjon for senere analyse.
- Oppsummer analysen din med en risiko/ekvivalenstabell.
Sammendrag
Domenetesting, slik det er beskrevet ovenfor, krever kunnskap om รฅ gi riktig input for รฅ oppnรฅ รธnsket output. Dermed er det kun mulig รฅ bruke det til smรฅ biter av kode.


