Teknikker for programvaretesting med eksempler på design av testcase

Hva er programvaretestingsteknikk?

Software Testing Techniques hjelper deg med å designe bedre testcases. Siden uttømmende testing ikke er mulig; Manuelle testteknikker bidrar til å redusere antall testtilfeller som skal utføres, samtidig som testdekningen økes. De hjelper til med å identifisere testforhold som ellers er vanskelige å gjenkjenne.

Grenseverdianalyse (BVA)

Grenseverdianalyse er basert på testing ved grensene mellom partisjoner. Den inkluderer maksimum, minimum, innenfor eller utenfor grenser, typiske verdier og feilverdier.

Det er generelt sett at et stort antall feil oppstår ved grensene til de definerte inngangsverdiene i stedet for sentrum. Det er også kjent som BVA og gir et utvalg av testtilfeller som utøver grenseverdier.

Denne svarte boks-testteknikken utfyller ekvivalenspartisjonering. Denne programvaretestingsteknikken baserer seg på prinsippet om at hvis et system fungerer bra for disse spesielle verdiene, vil det fungere perfekt for alle verdier som kommer mellom de to grenseverdiene.

Retningslinjer for grenseverdianalyse

  • Hvis en inngangsbetingelse er begrenset mellom verdiene x og y, bør testtilfellene designes med verdiene x og y samt verdier som er over og under x og y.
  • Hvis en inndatabetingelse er et stort antall verdier, bør testtilfellet utvikles som må utøve minimums- og maksimumstallene. Her testes også verdier over og under minimums- og maksimumsverdiene.
  • Bruk retningslinjene 1 og 2 for utgangsforhold. Det gir en utgang som reflekterer minimums- og maksimumsverdiene som forventes. Den tester også verdiene under eller over.

Eksempel:

Input condition is valid between 1 to 10

Boundary values 0,1,2 and 9,10,11

Ekvivalensklassepartisjonering

Ekvivalent klassepartisjonering lar deg dele opp sett med testtilstand i en partisjon som bør betraktes som den samme. Denne programvaretestmetoden deler inngangsdomenet til et program inn i dataklasser som testtilfeller bør utformes fra.

Konseptet bak denne Test Case Design Technique er at testcase med en representativ verdi av hver klasse er lik en test av en hvilken som helst annen verdi av samme klasse. Den lar deg identifisere gyldige så vel som ugyldige ekvivalensklasser.

Eksempel:

Inndatabetingelsene er gyldige mellom

 1 to 10 and 20 to 30

Derfor er det fem ekvivalensklasser

--- to 0 (invalid)
1 to 10 (valid)
11 to 19 (invalid)
20 to 30 (valid)
31 to --- (invalid)

Du velger verdier fra hver klasse, dvs.

-2, 3, 15, 25, 45

Les også mer om – Grenseverdianalyse og ekvivalenspartisjoneringstesting

Beslutningstabellbasert testing

En beslutningstabell er også kjent som Cause-Effect-tabell. Denne programvaretestingsteknikken brukes for funksjoner som reagerer på en kombinasjon av innganger eller hendelser. For eksempel bør en send-knapp være aktivert hvis brukeren har angitt alle obligatoriske felt.

Den første oppgaven er å identifisere funksjoner der utgangen avhenger av en kombinasjon av innganger. Hvis det er et stort inngangssett med kombinasjoner, del det opp i mindre delsett som er nyttige for å administrere en beslutningstabell.

For hver funksjon må du lage en tabell og liste ned alle typer kombinasjoner av innganger og deres respektive utganger. Dette bidrar til å identifisere en tilstand som blir oversett av testeren.

Følgende er trinn for å lage en beslutningstabell:

  • Registrer inndataene i rader
  • Skriv inn alle reglene i kolonnen
  • Fyll tabellen med forskjellige kombinasjoner av innganger
  • I den siste raden noterer du utgangen mot inngangskombinasjonen.

Eksempel: En send-knapp i et kontaktskjema er kun aktivert når alle inndata er lagt inn av sluttbrukeren.

Beslutningstabellbasert testing

Statsovergang

I tilstandsovergangsteknikk endrer endringer i inngangsbetingelser tilstanden til Application Under Test (AUT). Denne testteknikken lar testeren teste oppførselen til en AUT. Testeren kan utføre denne handlingen ved å angi ulike inndatabetingelser i en sekvens. I tilstandsovergangsteknikk gir testteamet positive så vel som negative inputtestverdier for å evaluere systemets oppførsel.

Retningslinje for statsovergang:

  • Tilstandsovergang bør brukes når et testteam tester applikasjonen for et begrenset sett med inngangsverdier.
  • Test Case Design Technique bør brukes når testteamet ønsker å teste rekkefølgen av hendelser som skjer i applikasjonen som testes.

Eksempel:

I følgende eksempel, hvis brukeren skriver inn et gyldig passord i noen av de tre første forsøkene, vil brukeren kunne logge på. Hvis brukeren skriver inn det ugyldige passordet i første eller andre forsøk, vil brukeren bli bedt om å skrive inn passordet på nytt. Når brukeren skriver inn passordet feil 3rd gang, handlingen har tatt, og kontoen vil bli blokkert.

Overgangsdiagram for tilstand

Overgangsdiagram for tilstand

Når brukeren i dette diagrammet oppgir riktig PIN-nummer, flyttes han eller hun til Tilgang gitt tilstand. Følgende tabell er laget basert på diagrammet ovenfor-

Overgangstabell for staten

Riktig PIN-kode Feil PIN
S1) Start S5 S2
S2) 1st forsøk S5 S3
S3) 2nd forsøk S5 S4
S4) 3rd forsøk S5 S6
S5) Tilgang gitt - -
S6) Konto blokkert - -

Når brukeren angir riktig PIN-kode i tabellen ovenfor, blir tilstanden overført til Tilgang gitt. Og hvis brukeren skriver inn feil passord, flyttes han eller hun til neste tilstand. Hvis han gjør det samme 3rd gang, vil han nå kontoen blokkert tilstand.

Feil ved gjetting

Feil ved gjetting er en programvaretestingsteknikk basert på å gjette feilen som kan råde i koden. Teknikken er sterkt basert på erfaringen der testanalytikerne bruker sin erfaring til å gjette den problematiske delen av testapplikasjonen. Derfor må testanalytikerne være dyktige og erfarne for bedre feilgjetting.

Teknikken teller en liste over mulige feil eller feilutsatte situasjoner. Så skriver tester en testforsøk å avsløre disse feilene. For å designe testtilfeller basert på denne programvaretestingsteknikken, kan analytikeren bruke tidligere erfaringer til å identifisere forholdene.

Retningslinjer for feilgjetting:

  • Testen bør bruke tidligere erfaring med å teste lignende applikasjoner
  • Forståelse av systemet som testes
  • Kunnskap om typiske implementeringsfeil
  • Husk tidligere urolige områder
  • Evaluer historiske data og testresultater

Konklusjon

  • Test Case Design Technique lar deg designe bedre saker. Det er fem primært brukte teknikker.
  • Grenseverdianalyse er testing ved grensene mellom partisjoner.
  • Ekvivalent klassepartisjonering lar deg dele opp sett med testtilstand i en partisjon som bør betraktes som den samme.
  • Decision Table-programvaretestteknikk brukes for funksjoner som reagerer på en kombinasjon av innganger eller hendelser.
  • I State Transition-teknikk endrer endringer i inngangsforhold tilstanden til Application Under Test (AUT)
  • Feilgjetting er en programvaretestingsteknikk som er basert på å gjette feilen som kan råde i koden.