Hva er Grey Box Testing? Teknikker, eksempel

grå Box Testing

grå Box Testing eller Gray box-testing er en programvaretestingsteknikk for å teste et programvareprodukt eller en applikasjon med delvis kunnskap om applikasjonens interne struktur. Hensikten med testing av grå bokser er å søke og identifisere defektene som skyldes feil kodestruktur eller feil bruk av applikasjoner.

I denne prosessen identifiseres ofte kontekstspesifikke feil som er relatert til websystemer. Det øker testdekningen ved å konsentrere seg om alle lagene i et komplekst system.

Grå Box Testing er en programvaretestmetode, som er en kombinasjon av begge Hvit Box Testing og svart Box Testmetode.

  • I hvitt Box testing av intern struktur (kode) er kjent
  • I svart Box testing av intern struktur (kode) er ukjent
  • I grått Box Testing av intern struktur (kode) er delvis kjent

grå Box Testing

I programvareteknikk, Gray Box Testing gir muligheten til å teste begge sider av en applikasjon, presentasjonslag samt kodedelen. Det er først og fremst nyttig i Integrasjonstesting og Penetrasjonstesting.

Eksempel på Gray Box testing: Mens testing av nettsteder har som lenker eller foreldreløse lenker, hvis testeren støter på problemer med disse koblingene, kan han gjøre endringene umiddelbart i HTML-kode og sjekke i sanntid.

Hvorfor Gray Box Testing

Grå Box Testing utføres av følgende grunn,

  • Det gir kombinerte fordeler med både testing av svart boks og testing av hvit boks
  • Den kombinerer input fra utviklere så vel som testere og forbedrer den generelle produktkvaliteten
  • Det reduserer kostnadene ved lange prosesser med å teste funksjonelle og ikke-funksjonelle typer
  • Det gir nok ledig tid for en utvikler til å fikse feil
  • Testing gjøres fra brukerens synspunkt i stedet for et designersynspunkt

Grå Box Teststrategi

For å utføre Gray box-testing er det ikke nødvendig at testeren har tilgang til kildekoden. En test er utformet basert på kunnskap om algoritmer, arkitekturer, interne tilstander eller andre høynivåbeskrivelser av programmets oppførsel.

For å utføre testing av grå boks-

  • Den bruker en enkel teknikk for black box-testing
  • Den er basert på generering av kravstesttilfeller, som sådan forhåndsinnstiller den alle betingelsene før programmet testes med påstandsmetode.

Teknikker som brukes for testing av grå bokser er-

  • Matrisetesting: Denne testteknikken innebærer å definere alle variablene som finnes i programmene deres.
  • Regresjonstesting: For å sjekke om endringen i forrige versjon har regressert andre aspekter av programmet i den nye versjonen. Det vil bli gjort ved å teste strategier som retest alle, retest risikable brukstilfeller, retest innenfor en brannmur.
  • Ortogonal array-testing eller OAT: Det gir maksimal kodedekning med minimum testtilfeller.
  • Mønstertesting: Denne testingen utføres på de historiske dataene fra de tidligere systemfeilene. I motsetning til black box-testing, graver gråbokstesting i koden og bestemmer hvorfor feilen skjedde

Vanligvis bruker Gray box-metodikk automatiserte testverktøy for programvare å gjennomføre testingen. Stubber og moduldrivere er laget for å avlaste testeren for å generere koden manuelt.

Fremgangsmåten for å utføre gråbokstesting er:

  • Trinn 1: Identifiser innganger
  • Trinn 2: Identifiser utgangene
  • Trinn 3: Identifiser hovedveiene
  • Trinn 4: Identifiser underfunksjoner
  • Trinn 5: Utvikle innspill for underfunksjoner
  • Trinn 6: Utvikle utdata for underfunksjoner
  • Trinn 7: Utfør testcase for underfunksjoner
  • Trinn 8: Bekreft riktig resultat for underfunksjoner
  • Trinn 9: Gjenta trinn 4 og 8 for andre underfunksjoner
  • Trinn 10: Gjenta trinn 7 og 8 for andre underfunksjoner

Testtilfellene for testing av grå bokser kan omfatte GUI-relatert, Sikkerhetsrelatert, Databaserelatert, Nettleserelatert, Operasystemrelatert osv.

Grå Box Testing utfordringer

  • Når en komponent under test støter på en feil av noe slag, kan det føre til abort av den pågående operasjonen
  • Når testen utføres i sin helhet, men innholdet i resultatet er feil.

Oppsummering

  • De totale kostnadene for systemdefekter kan reduseres og forhindres i å gå videre med testing av grå boks
  • Gråbokstesting passer mer for GUI, Funksjonell testing, sikkerhetsvurdering, webapplikasjoner, webtjenester osv.
  • Teknikker brukt for testing av grå bokser