Mis on halli kasti testimine?

Halli kasti testimine on arvutitarkvara jaoks sageli kasutatav professionaalne testimise tüüp, mis ühendab musta kasti testimise ja valge kasti testimise teatud aspektid. Üldine idee on ühendada need kaks teist tüüpi, et kasutada ära kummagi tugevused, minimeerides samas nende piiranguid või nõrkusi. Halli kasti testimine koosneb põhiliselt professionaalsest testimisest, mille käigus testijad mõistavad mõningaid tarkvara toimimisviise, kuid nad ei saa sellest kõigest aru.

Arvutitarkvara arendamisel ja testimisel kasutatakse sageli kahte tavalist testimismudelit. Need on musta kasti testimine ja valge kasti testimine ning halli kasti testimine on põhimõtteliselt mõlema kombinatsioon. Musta kasti testimine koosneb testimisest, mille käigus testijad ei mõista tarkvara käivitavat koodi või ei saa sellele juurdepääsu. Näiteks võib keegi kasutada musta kasti testimist, et võimaldada välisel ettevõttel töötada välja tarkvara, mis töötab arvuti operatsioonisüsteemiga (OS) ilma ettevõttele OS-i lähtekoodi andmata.

Seda tüüpi testimist kasutavad sageli paljud erinevad tarkvaraettevõtted ja seda saab kasutada nii ettevõttesiseseks kui ka väliseks testimiseks. Seda tüüpi testimise üks suurimaid nõrkusi on aga see, et testijate piiratud teadmised võivad nende testimist takistada. See nõuab sageli, et tulemusi analüüsiks kolmas osapool, kes mõistab nii käivitatavaid teste kui ka testitava tarkvara taga olevat koodi. Halli kasti testimine püüab mõnda neist probleemidest leevendada, kombineerides seda tüüpi testimist valge kasti testimise teatud elementidega.

Valge kasti testimine koosneb tarkvara testimisest, mille viivad läbi inimesed, kes mõistavad täielikult testitavat tarkvara ja kellel on juurdepääs tarkvara lähtekoodile. Seda tehakse sageli tarkvaraarendaja ettevõttesiseselt, et tagada programmi nõuetekohane töötamine ja võimaldada testijatel programmi taga oleva koodiga otse suhelda. Seda tüüpi testimisel on aga võimalikke turbeprobleeme ja seetõttu kasutatakse halli kasti testimist sageli mõlema tüübi kombineerimiseks nii produktiivsel kui ka turvalisel viisil.

Halli kasti testimisel mõistavad testijad kasutatava tarkvara teatud aspekte ja võivad näha mõnda lähtekoodi osa, kuid mitte kogu seda. See võimaldab testijatel testitava programmiga paremini suhelda ja sellest aru saada, kui seda võimaldab musta kasti testimine, kuid ilma täielike juurdepääsu- ja turvaprobleemideta, mis võivad tekkida valge kasti testimisel. Näiteks võib keegi, kes testib uue OS-i tarkvara halli kasti, näha oma programmi testimise jaoks oluliste OS-i aspektide koodi, kuid mitte kogu lähtekoodi.