Što je siva kutija
Grey box je testiranje softvera s ograničenim znanjem o njegovom unutarnjem radu. Testiranje u sivoj kutiji etička je tehnika hakiranja gdje haker mora koristiti ograničene informacije za prepoznavanje prednosti i slabosti sigurnosne mreže cilja.
POKRIVANJE DOLJE Siva kutija
Siva kutija je hibrid testiranja bijele kutije, gdje ispitivač ispituje unutrašnju logiku i strukturu softverskog koda, a testiranje crne kutije, gdje ispitivač ne zna ništa o kodu softvera. Da bismo razumjeli testiranje sive kutije, prvo moramo razumjeti crnu testiranje kutija i testiranje bijele kutije.
Ispitivanje crne kutije i bijele kutije
Ispitivanje crne kutije ne gleda samo na unose korisnika i izlaz koji softver daje s obzirom na te ulaze. Za testiranje crne kutije nije potrebno znanje jezika programiranja ili drugih tehničkih detalja. To je vrsta testiranja na visokoj razini koja se koristi u ispitivanju sustava i testiranju prihvaćanja. Za ispitivanje crne kutije softverski inženjeri zahtijevaju dokument sa specifikacijom softverskog zahtjeva (SRS). Ovo testiranje uzima perspektivu krajnjeg korisnika gdje ispitivač crne kutije ne zna kako se izlaza generiraju iz ulaza.
Ispitivanje bijele kutije zahtijeva detaljno poznavanje tehnika i platformi koje se koriste za izradu softvera, uključujući relevantni programski jezik. To je vrsta ispitivanja na niskoj razini koja se koristi u jedinici ispitivanja i ispitivanju indikacija. Softverski inženjeri moraju razumjeti programski jezik koji se koristi za izradu aplikacije kako bi mogli razumjeti njezin izvorni kod. Primarne svrhe testiranja bijele kutije su jačanje sigurnosti, ispitivanje načina na koji ulazi i rezultati prolaze kroz aplikaciju te poboljšati dizajn i upotrebljivost. Kada ispitivač bijele kutije ne dobije očekivani izlaz s određenog ulaza, smatra se da je rezultat bug koji treba ispraviti.
Ispitivanje sive kutije
Ispitivanje sive kutije uključuje važne komponente testiranja crne i bijele kutije kako bi se postigao bolji rezultat nego što bi ga bilo koji drugi mogao dobiti sam. I krajnji korisnici i programeri provode testiranje sive kutije s ograničenim (djelomičnim) poznavanjem izvornog koda aplikacije. Testiranje sive kutije može biti ručno ili automatizirano. To je sveobuhvatnije i dugotrajnije od testiranja crne kutije, ali nije tako sveobuhvatno ili dugotrajno kao testiranje na bijeloj kutiji. Ispitivači sive kutije zahtijevaju detaljne dokumente o dizajnu.
Ispitivanje sive kutije uključuje prepoznavanje ulaza, prepoznavanje izlaza, prepoznavanje glavnih staza i identifikaciju podfunkcija. Zatim se nastavlja na razvoj ulaza i izlaza za podfunkcije, izvršavanje testnih slučajeva za podfunkcije i provjeru tih rezultata.
Primjer sive kutije
Ispitivač sive kutije može provjeriti i popraviti veze na web mjestu. Ako veza ne funkcionira, ispitivač mijenja HTML kôd kako bi pokušao učiniti vezu funkcionalnom, a zatim ponovno provjeri korisničko sučelje kako bi provjerio radi li veza. Tester sive kutije također može testirati mrežni kalkulator. Ispitivač bi definirao ulaze - matematičke formule kao što su 1 + 1, 2 * 2, 5–4 i 15/3 - i provjerio da li kalkulator daje ispravne izlaze s tih ulaza. Ispitivač sive kutije ima pristup HTML kôdu kalkulatora i može ga promijeniti ako se utvrde pogreške.
Testiranje u sivom okviru provjerava i korisničko sučelje aplikacije ili sloj prezentacije i njezin unutarnji rad ili kod. Koristi se uglavnom za testiranje integracije i penetracijsko testiranje, ali nije pogodno za ispitivanje algoritama. Testiranje sive kutije obično se koristi za testiranje korisničkog sučelja aplikacije, sigurnosti ili internetske funkcionalnosti pomoću tehnika kao što su testiranje matrice, regresijsko testiranje, testiranje ortogonalnog niza i testiranje uzoraka. Ispitivači sive kutije najvjerojatnije su prepoznali probleme specifične za kontekst.
"Sivo" se odnosi na djelomičnu sposobnost testera da vidi unutarnje funkcioniranje aplikacije. "Bijelo" se odnosi na sposobnost gledanja kroz programsko sučelje do njegovih unutarnjih funkcija, a "crno" se odnosi na nemogućnost uočavanja internog rada softvera. Testiranje sive kutije ponekad se naziva i prozirno testiranje, dok se testiranje na bijeloj kutiji naziva i prozirnim testiranjem, a testiranje u crnoj kutiji također se može nazvati neprozirnim testiranjem.