White-Box vs Black-Box Testing
Izrazi White-Box i Black-Box se koriste u softverskom inženjerstvu. To su dva pristupa testiranju koja se koriste u testiranju softvera, procesu davanja garancije o kvalitetu softvera kupcu. Testiranje softvera (koje se obično izvodi izvršavanjem softvera) se provodi s namjerom da se pronađu greške (takođe poznate kao softverske greške) u softveru.
Šta je testiranje bijele kutije?
White-box testiranje se koristi za testiranje softverskog sistema zasnovanog na strukturi sistema. Više liči na providnu kutiju kroz koju možemo vidjeti šta se unutra dešava. On duboko testira kako svaki modul sistema reaguje prema datim ulazima. Takvo testiranje oduzima mnogo vremena jer je potrebno provjeriti upravljačke strukture, petlje, uslove, funkcije itd. Tehnike testiranja ovog pristupa uključuju testiranje toka podataka, testiranje toka kontrolne jedinice, testiranje grananja i putanje za svaku jedinicu. Za obavljanje ove vrste testiranja potrebni su visoko tehnički testeri. Izvođenjem white-box testa, lakše je pronaći greške koje su dostupne u sistemu. White-box testiranje dodaje dodatno opterećenje projektu, jer je u nekim situacijama potrebno generirati test slučajeve kao zasebne projekte za pojedinačna područja testiranja. Stoga, ovo konačno ima negativne efekte na cijenu projekta i raspored.
Šta je Black-Box testiranje?
Black-box testiranje se koristi za testiranje samo funkcionalnosti sistema bez obzira na to kako sistem izvodi neku radnju. Uglavnom je cilj da se osigura da su sistemski zahtjevi zadovoljeni. Slično je zatvorenoj kutiji u kojoj znamo samo čime hranimo i na kraju daje rezultat, ali ne znamo kako je taj izlaz proizveden. Tehnike testiranja uključuju; testiranje tablice odluka, tablice tranzicije stanja, ekvivalentno particioniranje, itd. za testiranje višeg nivoa. Ovo testiranje traje manje vremena u poređenju sa testiranjem u bijeloj kutiji jer se uzima u obzir samo testiranje da li sistem daje očekivani izlaz prema datom ulazu. Testni slučajevi se generišu samo prema zahtjevima sistema. Tehničke vještine testera se ne očekuju mnogo. Ako dođe do greške u sistemu, nije je lako pratiti jer ne testira interni proces.
Obično se obje ove tehnike koriste u okruženju za razvoj softvera, kako bi se osiguralo da cijeli softver radi ispravno. Ne postoji poseban redosled za izvođenje ova dva testiranja, a pristupi ne pripadaju nijednoj specifičnoj fazi životnog ciklusa razvoja softvera. Međutim, testiranje crne kutije može obavljati poseban tim, dok testiranje bijele kutije po mogućnosti izvode sami programeri ili programeri, pored zasebnog tima za testiranje.
Koja je razlika između testiranja bijele kutije i testiranja crne kutije?
• White-box testiranje vrši testove na strukturi sistema
• Testovi crne kutije za provjeru da li su zahtjevi sistema zadovoljeni u skladu s tim
• Za testiranje bijele kutije potrebni su visoko tehnički testeri
• Tehničko znanje testera se ne očekuje puno za testiranje crne kutije
• Lako pratiti internu grešku u testiranju u bijeloj kutiji
• Jednostavan za izvođenje testa da vidite kako će sistem raditi koristeći testiranje crne kutije