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 –

  1. Kun til tester av inngangsvariabler
  2. Kun når testet på systemnivå
  3. Bare når testet en om gangen
  4. 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:

  1. 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.
  2. Feltet skal godta verdier som 0,100 og et hvilket som helst tall mellom dem.

Bygge bord som disse (i praksis)

  1. 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.
  2. Tabellen skal til slutt inneholde alle variabler. Dette betyr alle inngangsvariabler, alle utdatavariabler og eventuelle mellomliggende variabler som du kan observere.
  3. 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,

  1. Hvilket domene tester vi?
  2. Hvordan gruppere verdiene i klasser?
  3. Hvilke verdier av klassene skal testes?
  4. 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.

Domeneteststrategi

Eksempel på domenetesting

  1. 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.

  1. 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:

  1. Alder >5 og <10, gutt skal delta i historiefortelling.
  2. Alder >5 og <10, jente bør delta i tegnekonkurransen.
  3. Alder >10 og <15, gutt bør delta i Quiz.
  4. Alder >10 og <15, jente bør delta i essayskriving.
  5. Alder <5, både gutter og jenter bør delta i Rhymes Competition.
  6. Alder >15, både gutter og jenter bør delta i poesikonkurranse.

Her vil innspillet være Alder og Kjønn og dermed vil billett til konkurransen bli utstedt. Denne sakspartisjonen av innganger eller ganske enkelt gruppering av verdier kommer inn i bildet.

Hvordan gruppere verdiene i klasser?

Å partisjonere noen verdier betyr å dele dem opp i ikke-overlappende delsett.

Som vi diskuterte tidligere er det to typer partisjonering:

  1. 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.
  2. 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:

  1. Klasse 1: Barn i aldersgruppen 5 til 10 år
  2. Klasse 2: Barn med aldersgruppe under 5
  3. Klasse 3: Barn i aldersgruppen 10 til 15 år
  4. Klasse 4: Barn med aldersgruppe over 15 år.

Hvilke verdier av klassene skal testes?

Verdiene som plukkes opp for testing skal være grenseverdier:

  1. 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.
  2. 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:

  1. Klasse 1: Barn med aldersgruppe 5 til 10 (alder >5 og <=10)

Grenseverdier:

  1. Verdier skal være lik eller mindre enn 10. Derfor bør alder 10 inkluderes i denne klassen.
  2. Verdiene bør være større enn 5. Derfor bør ikke 5 år inkluderes i denne klassen.
  3. Verdiene skal være lik eller mindre enn 10. Derfor bør 11 år ikke inkluderes i denne klassen.
  4. 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:

Bestemme resultater

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.

Oppsummering

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.