White-Box-test (shuningdek Glass-Box-test, ya’ni shaffof quti usuli bilan testlash) tushunchasi dasturiy ta’minotning nazorat usulini bildirib, unda testlar testlanayotgan tizim ishlashining ichki tamoyil bilimlari asosida ishlab chiqiladi. Shunday qilib, Black-Box-testdan farqli ravishda ushbu test uchun dasturning boshlang‘ich kodiga nazar tashlashga ruxsat berilgan, bu kod tekshiriladi.
White-Box-test namunasi dasturning o‘tishiga tegishli bo‘lgan test nazorati bo‘lib, unda oldingi o‘rinda uning tarkibiy diagrammasi (Struktogramm) yoki ma’lumotlar oqimining o‘tish chizmasi (blok-chizma) turadi. Testlash maqsadi bu – dasturning boshlang‘ich kodi to‘laqonligiga doir test variantlari etarlilik (ta’minlanganlik)ning ba’zi bir mezonlarini qoniqtirishini ta’kidlashdir. Shu bilan birga nazoratning eng kichik hajmi mavjud:
Kantlar birlashuvi: Tarkibiy diagramma tarmoqlanishning barcha mumkin bo‘lgan xoshiyalarini yoki ma’lumotlar oqimini o‘tish chizmasi (blok chizmalar) to‘plamidir.
Agar, hatto, dasturiy ta’minot tizimi etarlilik (ta’minlanganlik) mezonlariga nisbatan testdan muvafaqqiyatli o‘tgan bo‘lsada, bu hol unda xatolar borligini istisno qilmaydi. Buni White-Box-testi tabiati shunaqaligi bilan tushuntirish mumkin. Bunda quyidagi sabablar bo‘lishi mumkin:
White-Box-testi variantlarini dastur tasnifidan emas, balki dasturning o‘zidan chiqarib olinadi. Faqat tizim bexatoligi testlanishi mumkin, u talab qilingan semantika shartlariga javob bera olishi kerak;
Shuningdek, agar dasturning barcha yo‘nalishlari (marshrutlari) testlanib bo‘lingan bo‘lsa, ham bu hol dasturni xatosiz ishlashini bildirmaydi. Ma’lumotlarning nazorat oqimi ustunida kantlar (hoshiyalar) bo‘lmagan hollar qaralmaydi.
Shuningdek, agar tizimni uning nim tizimlarida sinash talab etilsa, unda buning uchun testlanayotgan tizim ishlashining ichki jarayonlarini bilish kerak bo‘ladi. White-Box-testi paydo bo‘lgan xatolarni lokallashtirishda (cheklashda), ya’ni xatolarni tug‘diruvchi komponentalarni identifikatsiyalash uchun ayniqsa qo‘l keladi.
Testlarni ishlab chiqaruvchi testlanayotgan tizim ishlashining ichki jarayonlariga oid bilimga ega bo‘lishi kerakligi sababli, White-Box-testlari o‘sha komanda tomonidan tuziladi. Ko‘pincha testlanishi lozim komponentalar mazkur komanda dasturchilari tomonidan amalgam oshiriladi. Qoida bo‘yicha White-Box-testlari uchun testlash bo‘yicha maxsus bo‘limlar tashkil etilmaydi, chunki bu vazifa uchun maxsus qo‘yilgan tekshiruvchidan keladigan foyda ko‘pincha murakkabligi tufayli tizim mohiyatiga kirish natijasini chippakka chiqaradi.
BubbleSort dasturining ko‘rib chiqilgan namunasi uchun x va y indekslari orqali uzulish mezonlariga ega har ikkala ichki (qo‘yilgan) sikllar testi muhim ahamiyatga ega. Bu sikllar barcha mumkin bo‘lgan test ma’lumotlari bilan tizimli ravishda ko‘rikdan o‘tkaziladi va shu bilan birga dasturning o‘zini tutishi o‘rganiladi. Aniqlangan xatolar identifikasiya qismini ishini va to‘g‘ridan-to‘g`ri dasturiy kodda bartaraf qilinishi mumkin.
White-Box-test (shuningdek Glass-Box-test) test nazorati usulidir. Unda testlar testlanayotgan dastur harakati ichki tamoyillari bilimlari bilan ishlab chiqiladi. Bevosita dastur kodi testdan o‘tkaziladi. Usul bevosita dasturning boshlang‘ich kodida xatolar identifikasiyasi uchun yaroqlidir. Bu usul yordamida dasturning talablar taxminiga muvofiq kelishini tekshirish mumkin emas.