Što je Gray Box testiranje?

Testiranje sive kutije je vrsta profesionalnog testiranja koja se često koristi za računalni softver, a koja kombinira određene aspekte testiranja crne kutije i testiranja bijele kutije. Opća ideja je kombinirati ove dvije druge vrste kako bi se iskoristile prednosti svake od njih, istovremeno minimizirajući njihova ograničenja ili slabosti. Gray box testiranje se u osnovi sastoji od profesionalnog testiranja u kojem testeri razumiju neke od načina na koje softver radi, ali ne razumiju sve o njemu.

Prilikom razvoja i testiranja računalnog softvera, često se koriste dva uobičajena modela testiranja. To su testiranje crne kutije i testiranje bijele kutije, a testiranje sivih kutija u osnovi je kombinacija oboje. Testiranje crne kutije sastoji se od testiranja u kojem testeri ne razumiju ili nemaju pristup kodu koji pokreće softver. Na primjer, netko može koristiti testiranje crne kutije kako bi omogućio vanjskoj tvrtki da razvije softver za rad s računalnim operativnim sustavom (OS) bez davanja tvrtki izvorni kod za OS.

Ovu vrstu testiranja često koriste mnoge različite softverske tvrtke, a može se koristiti i za unutarnje i vanjsko testiranje. Međutim, jedna od najvećih slabosti ove vrste testiranja je da ograničeno znanje testera može potencijalno ometati njihovo testiranje. To će često zahtijevati da rezultate analizira treća strana koja razumije i testove koji se izvode i kod iza softvera koji se testira. Testiranje sivih kutija nastoji ublažiti neke od ovih problema kombiniranjem ove vrste testiranja s određenim elementima testiranja bijele kutije.

Testiranje bijele kutije sastoji se od testiranja softvera od strane ljudi koji u potpunosti razumiju softver koji se testira i imaju pristup izvornom kodu za softver. To se često radi unutar tvrtke kod programera kako bi se osiguralo da program ispravno radi i kako bi se testerima omogućila izravna interakcija s kodom iza programa. Međutim, postoje potencijalni sigurnosni problemi s ovom vrstom testiranja, pa se testiranje sivog okvira često koristi za kombiniranje obje vrste na načine koji su i produktivni i sigurni.

U testiranju sivog okvira, testeri razumiju određene aspekte softvera koji se koristi i možda će moći vidjeti neke dijelove izvornog koda, ali ne i cijeli. To omogućuje testerima potpuniju interakciju i razumijevanje programa koji testiraju nego što dopušta testiranje crne kutije, ali bez punog pristupa i sigurnosnih problema koji mogu proizaći iz testiranja bijele kutije. Netko tko izvodi testiranje sivog okvira na softveru za novi OS, na primjer, možda će moći vidjeti kod za aspekte OS-a relevantne za njegovo ili njezino testiranje programa, ali ne i cijeli izvorni kod.