Što je Grey Box Testiranje? Tehnike, primjer
⚡ Pametni sažetak
siva Box Testiranje ispituje aplikaciju s djelomičnim poznavanjem njezine unutarnje strukture, kombinirajući korisnički pristup testiranju crne kutije s dovoljno arhitektonskog uvida kako bi se objasnilo zašto se kvar dogodio, a ne samo da se dogodio.

Što je Grey Box Testiranje?
siva Box Ispitivanje (također se piše Gray Box Testiranje) je tehnika testiranja softvera koja testira softverski proizvod ili aplikaciju s djelomičnim poznavanjem unutarnje strukture aplikacije. Svrha Greya Box Testiranje služi za traženje i identificiranje nedostataka uzrokovanih nepravilnom strukturom koda ili nepravilnim korištenjem aplikacije.
U ovom procesu se obično identificiraju kontekstualno specifične pogreške povezane s web sustavima. Tehnika se povećava pokrivenost testom koncentriranjem na sve slojeve složenog sustava, a ne na jedan od njih.
siva Box Testiranje je metoda testiranja softvera koja kombinira Bijela Box Ispitivanje i Crna Box IspitivanjeRazlika između ta tri svodi se na to koliko unutarnje strukture tester može vidjeti:
- U Bijelom Box Testiranje unutarnje strukture (koda) je poznato.
- U crnom Box Testiranje unutarnje strukture (koda) nije poznato.
- U sivom Box Testiranje unutarnje strukture (koda) je djelomično poznato.
Donji dijagram smješta tri metode na istu skalu vidljivosti.
In programsko inženjerstvo, Siva Box Testiranje omogućuje testiranje obje strane aplikacije, prezentacijskog sloja kao i koda iza njega. Primarno je korisno u integracijsko testiranje i penetracijsko ispitivanje.
Primjer sive boje Box Testiranje: Tijekom testiranja značajki web stranice kao što su poveznice ili poveznice bez ovlaštenja, ako tester naiđe na problem s tim poveznicama, promjena se može odmah izvršiti u HTML kodu i provjeriti u stvarnom vremenu.
Zašto siva Box Ispitivanje
siva Box Testiranje se provodi iz sljedećih razloga:
- Pruža kombinirane prednosti testiranja crne i testiranja bijele kutije.
- Kombinira doprinos programera i testera te poboljšava ukupnu kvalitetu proizvoda.
- Smanjuje opterećenje dugotrajnog procesa testiranja funkcionalnih i nefunkcionalnih tipova.
- To daje programeru dovoljno slobodnog vremena za ispravljanje nedostataka.
- Testiranje se provodi s gledišta korisnika, a ne s gledišta dizajnera.
- Kvar se može objasniti, a ne samo prijaviti, jer tester može vidjeti sloj u kojem se dogodio.
siva Box Testiranje u odnosu na crnu Box protiv bijelog Box Ispitivanje
Tri metode nisu toliko konkurentske alternative koliko tri razine pristupa, a svaka odgovara na drugačiju vrstu pitanja. Njihovo postavljanje jedna pored druge čini izbor konkretnim.
| Temelj | Crna Box Ispitivanje | siva Box Ispitivanje | Bijela Box Ispitivanje |
|---|---|---|---|
| Poznavanje unutarnje strukture | nijedan | Djelomična | Full |
| Izvođeno od | Testeri i krajnji korisnici | Testeri i programeri koji rade s testerima | Razvojni inženjeri i inženjeri za testiranje |
| Osnove dizajna testa | Zahtjevi i specifikacije | Architekstura, algoritmi, strukture podataka i sučelja | Izvorni kod i tijek upravljanja |
| Tipična razina | Ispitivanje sustava i primopredaje | Testiranje integracije, penetracije i web usluga | Testiranje jedinica i komponenti |
| Pokrivenost mjerena kao | Pokrivenost zahtjeva | Sučelje, podaci i pokrivenost puta | Pokrivenost naredbi, grananja i puta |
| Glavno ograničenje | Uzrok neuspjeha ostaje skriven | Dubina je ograničena odobrenim pristupom | Skupo je i može propustiti nedostajuće zahtjeve |
Većina timova koristi sva tri životni ciklus testiranja softvera, a sloj sive kutije je mjesto gdje se obično uočavaju nedostaci koji se nalaze između korisničkog sučelja i pohrane podataka.
siva Box Strategija testiranja
Za izvođenje Greya Box Kod testiranja, nije potrebno da tester ima pristup izvornom kodu. Test se dizajnira na temelju poznavanja algoritama, arhitektura, unutarnjih stanja ili drugih detaljnih opisa ponašanja programa.
Za izvođenje Greya Box Testiranje:
- Primjenjuje jednostavne tehnike testiranja crne kutije.
- Temelji se na generiranju testnih slučajeva vođenih zahtjevima, tako da unaprijed postavlja sve uvjete prije nego što se program testira metodom asercije.
Tehnike korištene za sivu Box Testiranja su:
- Testiranje matrice: Ova tehnika uključuje definiranje svih varijabli koje postoje u programu, zajedno s rizikom koji svaka od njih nosi, tako da su neiskorištene i varijable visokog rizika vidljive.
- Ispitivanje regresije: provjerava je li promjena u prethodnoj verziji umanjila vrijednost drugih aspekata programa u novoj verziji. To se radi strategijama kao što su ponovno testiranje svih, ponovno testiranje rizičnih slučajeva upotrebe i ponovno testiranje unutar vatrozida.
- Testiranje ortogonalnog niza ili zobene pahuljice: pruža maksimalnu pokrivenost koda uz minimalan broj testnih slučajeva.
- Testiranje uzorka: provedeno na povijesnim podacima o prethodnim nedostacima sustava. Za razliku od testiranja crne kutije, Grey Box Testiranjem se analizira kod i utvrđuje zašto je došlo do kvara.
siva Box metodologija obično koristi automatizirane alati za testiranje softvera za provođenje testiranja. Stubovi i upravljački programi modula kreirani su tako da tester ne mora ručno generirati kod.
Koraci za izvođenje Greya Box Testiranja su:
- Korak 1: Identificirajte ulazne podatke.
- Korak 2: Identificirajte izlaze.
- Korak 3: Odredite glavne putove.
- Korak 4: Identificirajte podfunkcije.
- Korak 5: Razviti ulazne podatke za podfunkcije.
- Korak 6: Razviti izlaze za podfunkcije.
- Korak 7: Izvršite testni slučaj za podfunkcije.
- Korak 8: Provjerite ispravan rezultat za podfunkcije.
- Korak 9: Ponovite korake od 4 do 8 za ostale podfunkcije.
- Korak 10: Ponovite korake 7 i 8 za ostale podfunkcije.
Testni slučajevi za Greya Box Testiranje može obuhvatiti, između ostalog, probleme s grafičkim korisničkim sučeljem, sigurnošću, bazom podataka, preglednikom i operativnim sustavom. Svaki generirani slučaj i dalje zahtijeva uobičajene testni slučaj atribute, budući da je slučaj koji se ne može reproducirati iz vlastitog opisa od male koristi tijekom regresije.
Gdje je sivo Box Koristi se testiranje
Tehnika zauzima svoje mjesto svugdje gdje se defekt može dijagnosticirati samo promatranjem dva sloja odjednom. Najčešće se primjenjuje u sljedećim scenarijima:
- Tijekovi rada podržani bazom podataka: Radnja se izvršava putem korisničkog sučelja, a rezultirajući retci se zatim izravno upituju kako bi se potvrdilo da su vrijednosti, tipovi i odnosi pohranjeni kako je predviđeno.
- Web servisi i API-ji: Zahtjev se šalje, a status odgovora, zaglavlja i korisni teret provjeravaju se u odnosu na objavljeni contract, što je svakodnevni oblik API testiranje.
- Točke integracije: Poruke koje prelaze granicu između dva modula se pregledavaju dok se oba modula tretiraju kao pokrenuti sustavi, a ne kao izvorne datoteke.
- Procjena sigurnosti: Tester penetracije s normalnim korisničkim računom i pregledom arhitekture reproducira poziciju insajdera, što je standardni model angažmana sive kutije.
- Web aplikacije i grafička sučelja: Neispravne poveznice, osirotele stranice, rukovanje sesijama i validacija na strani klijenta provjeravaju se s djelomičnom vidljivošću oznaka i toka zahtjeva.
U svemu tome, ukupni trošak sistemskih nedostataka se smanjuje jer se problemi uočavaju i objašnjavaju prije nego što prođu dalje niz cjevovod u testiranje sustava ili proizvodnju.
siva Box Alati za testiranje
Nijedan alat ne radi sivo Box Samostalno testiranje. Ono što kategoriji treba jest kombinacija upravljačkog programa sučelja, alata za pregled sloja ispod i načina zajedničkog skriptiranja ta dva.
- API i klijenti web servisa poput Postman i SoapUI, koristi se za izdavanje zahtjeva i utvrđivanje statusnih kodova i tijela odgovora.
- Klijenti baza podataka i alati za SQL upite, koristi se za provjeru trajnog stanja nakon akcije na sučelju.
- Alati za razvojne programere preglednika i HTTP proxyji poput Burp Suite, koristi se za pregled i izmjenu zahtjeva tijekom sigurnosno orijentiranih sesija.
- Okviri za automatizaciju korisničkog sučelja poput Selenium, koristi se za pokretanje prezentacijskog sloja unutar ispitivanje automatizacije o.
- Alati za zapisivanje i praćenje, koristi se za povezivanje uočenog kvara s onim što je aplikacija interno zabilježila u tom trenutku.
Izbor je manje važan od ožičenja: osim ako upravljački program sučelja i korak inspekcije ne rade u istom skriptiranom toku, rezultat su dvije odvojene ručne provjere umjesto jednog testa sive kutije.
siva Box Izazovi testiranja
Djelomična vidljivost uvodi probleme koje nema nijedna od čistih metoda, a sljedeći su oni s kojima se timovi najčešće susreću:
- Kada komponenta koja se testira naiđe na neku vrstu kvara, može prekinuti tekuću operaciju i ostaviti ostatak sekvence neizvršenim.
- Test se može izvršiti u cijelosti dok je sadržaj rezultata netočan, pa korak verifikacije mora provjeriti vrijednosti, a ne dovršetak.
- Potpuno pokrivanje puta koda nije moguće jer tester nikada ne vidi svaku granu do koje bi testiranje bijele kutije došlo.
- Dokumentacija dizajna na koju se testovi oslanjaju može biti zastarjela, a zastarjela shema ili specifikacija sučelja tiho poništava dizajn testa.
- Testerima je potrebno i razumijevanje domene i tehnička dubina, što je uži profil vještina za zapošljavanje.
- Raspoređeni i jaki trbušnjacitracZasjenjene arhitekture otežavaju pripisivanje uočenog kvara određenoj unutarnjoj komponenti.
Ova ograničenja argumentiraju za tretiranje Greya Box Testiranje kao jedan sloj među nekoliko, a ne kao zamjena za ostale, što je poanta istaknuta u širem skupu tehnike testiranja softvera i vrste testiranja softveraPrirodno se uklapa uz funkcionalno ispitivanje i pristupi vođeni specifikacijama kao što su testiranje temeljeno na modelu.

