Kaj je siva škatla
Grey box je testiranje programske opreme z omejenim poznavanjem notranjega delovanja. Testiranje s sivimi škatlami je etična tehnika vdora, pri kateri mora heker uporabljati omejene podatke za prepoznavanje prednosti in slabosti varnostnega omrežja cilja.
RAZKRIJANJE DOLO Siva škatla
Siva škatla je hibrid testiranja belega polja, kjer preizkuševalec preuči notranjo logiko in strukturo kode programske opreme ter testiranje črne škatle, kjer tester nič ne ve o kodi programske opreme. Če želite razumeti testiranje sive škatle, moramo najprej razumeti črno testiranje škatle in bela škatla.
Testiranje črne in bele škatle
Preizkušanje v črni škatli ne predstavlja nič drugega kot vnose uporabnika in izhod, ki ga programska oprema proizvede ob danih vhodih. Preizkušanje črne škatle ne zahteva nobenega znanja programskega jezika ali drugih tehničnih podrobnosti. Gre za vrsto preskušanja na visoki ravni, ki se uporablja pri testiranju sistemov in testiranju sprejemljivosti. Programski inženirji potrebujejo dokument s specifikacijo programske zahteve (SRS), da opravijo testiranje črne škatle. To testiranje je namenjeno končnemu uporabniku, kadar preizkuševalec črne škatle ne ve, kako se izhodi ustvarjajo iz vhodov.
Preizkušanje belega polja zahteva poglobljeno znanje tehnik in platform, ki se uporabljajo za izdelavo programske opreme, vključno z ustreznim programskim jezikom. Gre za vrsto preskušanja na nizki ravni, ki se uporablja pri preskušanju enot in preskušanju indikacij. Programski inženirji morajo razumeti programski jezik, ki se uporablja za izdelavo aplikacije, tako da lahko razumejo njeno izvorno kodo. Glavni namen testiranja belega polja je okrepiti varnost, preučiti, kako vhodi in izhodi tečejo skozi aplikacijo ter izboljšati oblikovanje in uporabnost. Ko beli tester ne dobi pričakovanega rezultata iz danega vhoda, se šteje, da je napaka napaka, ki jo je treba odpraviti.
Testiranje sivega polja
Testiranje v sivi škatli vključuje pomembne sestavine črno-belega testiranja, da bi dosegli boljši rezultat, kot bi ga lahko dosegli sami. Tako končni uporabniki kot razvijalci izvajajo testiranje sivega polja z omejenim (delnim) poznavanjem izvorne kode aplikacije. Testiranje sive škatle je lahko ročno ali avtomatizirano. Je celovitejše in zamudnejše kot testiranje v črni škatli, vendar ne tako obsežno ali zamudno kot testiranje bele škatle. Za preizkuševalce sive škatle so potrebni podrobni oblikovalni dokumenti.
Testiranje sivega polja vključuje identifikacijo vhodov, identifikacijo izhodov, identifikacijo glavnih poti in določitev podfunkcij. Nato nadaljuje z razvijanjem vhodov in izhodov za podfunkcije, izvajanjem testnih primerov za podfunkcije in preverjanjem teh rezultatov.
Primer sivega polja
Tester sivega polja lahko preveri in popravi povezave na spletnem mestu. Če povezava ne deluje, preizkuševalec spremeni kodo HTML, da poskuša, da povezava deluje, in nato znova preveri uporabniški vmesnik, da ugotovi, ali povezava deluje. Tester sivega polja lahko preizkusi tudi spletni kalkulator. Tester bi opredelil vhode - matematične formule, kot so 1 + 1, 2 * 2, 5–4 in 15/3 -, in nato preveril, ali kalkulator zagotavlja pravilne izhode glede na te vhode. Tester sivega polja ima dostop do HTML kode kalkulatorja in ga lahko spremeni, če ugotovi kakšne napake.
Testiranje v sivi škatli obravnava uporabniški vmesnik ali predstavitveni sloj aplikacije ter njeno notranje delovanje ali kodo. Uporablja se predvsem za testiranje integracije in penetracijsko testiranje, vendar ni primerno za testiranje algoritmov. Testiranje s sivo škatlo se običajno uporablja za preizkušanje uporabniškega vmesnika, varnosti ali spletne funkcionalnosti s pomočjo tehnik, kot so testiranje matrice, regresijsko testiranje, testiranje ortogonalnih nizov in testiranje vzorcev. Preizkuševalci sive škatle najverjetneje ugotovijo težave, povezane z okoliščinami.
"Siva" se nanaša na delno sposobnost preizkuševalca, da vidi notranje delovanje aplikacije. "Bela" se nanaša na sposobnost vpogleda v programsko opremo vmesnika do njenega notranjega delovanja, "črna" pa na nezmožnost videnja notranjega delovanja programske opreme. Testiranje sivega polja se včasih imenuje tudi prosojno testiranje, medtem ko se testiranje belega polja včasih imenuje jasno preskušanje, črno polje pa lahko imenujemo tudi neprozorno testiranje.
