Hvad er Gray Box Test? Teknikker, eksempel

Grå Box Test

Grå Box Test eller Gray box-test er en softwaretestteknik til at teste et softwareprodukt eller en applikation med delvis viden om applikationens interne struktur. Formålet med test af grå boks er at søge og identificere defekter, der skyldes forkert kodestruktur eller forkert brug af applikationer.

I denne proces identificeres almindeligvis kontekstspecifikke fejl, der er relateret til websystemer. Det øger testdækningen ved at koncentrere sig om alle lagene i et komplekst system.

Gray Box Test er en softwaretestmetode, som er en kombination af begge Hvid Box Test og sort Box Testmetode.

  • I hvid Box test intern struktur (kode) er kendt
  • I sort Box test af intern struktur (kode) er ukendt
  • I grå Box Test af intern struktur (kode) er delvist kendt

Grå Box Test

I Software Engineering, Gray Box Test giver mulighed for at teste begge sider af en applikation, præsentationslag samt kodedelen. Den er primært anvendelig i Integrationstest og Penetration Testing.

Eksempel på grå Box Test: Mens test af websteder har som links eller forældreløse links, hvis testeren støder på problemer med disse links, så kan han foretage ændringerne med det samme i HTML-kode og kan tjekke i realtid.

Hvorfor Gray Box Test

Gray Box Testning udføres af følgende årsag:

  • Det giver kombinerede fordele ved både black box-testning og white box-testning
  • Det kombinerer input fra udviklere såvel som testere og forbedrer den overordnede produktkvalitet
  • Det reducerer omkostningerne ved en lang proces med at teste funktionelle og ikke-funktionelle typer
  • Det giver nok fritid for en udvikler til at rette fejl
  • Test udføres fra brugerens synspunkt snarere end et designersynspunkt

Gray Box Teststrategi

For at udføre Gray box-test er det ikke nødvendigt, at testeren har adgang til kildekoden. En test er designet baseret på viden om algoritmer, arkitekturer, interne tilstande eller andre beskrivelser på højt niveau af programmets adfærd.

For at udføre test af grå boks-

  • Det anvender en ligetil teknik med black box-test
  • Det er baseret på krav-testcasegenerering, som sådan forudindstiller det alle betingelserne, før programmet testes ved påstandsmetode.

Teknikker, der bruges til test af grå boks er-

  • Matrix test: Denne testteknik involverer at definere alle de variabler, der findes i deres programmer.
  • Regressionstest: For at kontrollere, om ændringen i den tidligere version har regresseret andre aspekter af programmet i den nye version. Det vil blive gjort ved at teste strategier som gentest alle, gentest risikable brugstilfælde, gentest inden for en firewall.
  • Ortogonal Array Test eller OAT: Det giver maksimal kodedækning med et minimum af testtilfælde.
  • Mønstertest: Denne test udføres på de historiske data for de tidligere systemfejl. I modsætning til sort boks-test graver grå boks-test i koden og bestemmer, hvorfor fejlen skete

Normalt bruger Gray box-metoden automatiserede softwaretestværktøjer at gennemføre testen. Stubber og moduldrivere er oprettet for at aflaste testeren for manuelt at generere koden.

Trin til at udføre test af grå boks er:

  • Trin 1: Identificer input
  • Trin 2: Identificer udgangene
  • Trin 3: Identificer de vigtigste veje
  • Trin 4: Identificer underfunktioner
  • Trin 5: Udvikle input til underfunktioner
  • Trin 6: Udvikle output til underfunktioner
  • Trin 7: Udfør testcase for underfunktioner
  • Trin 8: Bekræft det korrekte resultat for underfunktioner
  • Trin 9: Gentag trin 4 og 8 for andre underfunktioner
  • Trin 10: Gentag trin 7 og 8 for andre underfunktioner

Testtilfældene for test af grå boks kan omfatte GUI-relateret, Sikkerhedsrelateret, Databaserelateret, Browserrelateret, Operasystemrelateret mv.

Gray Box Test udfordringer

  • Når en komponent under test støder på en fejl af en eller anden art, kan det føre til abort af den igangværende operation
  • Når testen udføres fuldt ud, men indholdet af resultatet er forkert.

Resumé

  • De samlede omkostninger ved systemfejl kan reduceres og forhindres i at passere videre med Gray box-test
  • Gray box test er mere velegnet til GUI, Funktionstest, sikkerhedsvurdering, webapplikationer, webtjenester mv.
  • Teknikker, der bruges til test af grå boks