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
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
- Matrisetesting
- Regresjonstesting
- OAT eller Ortogonal Array Testing
- Mønstertesting