Este o metoda de testare software care testează structura interna sau ceea ce face o aplicație opus funcționalității acesteia. În testarea white-box este nevoie de o perspectiva interna a sistemului cât și abilitați de programare pentru a concepe metode de testare. Cel care face testare alege cale de intrare în cod determinând astfel ieșire. Se presupune ca tester-ul are acces în codul sursa al programului (structuri, cod, algoritmi). De multe ori, testarea prin aceasta metoda implica scrierea de cod sau cel putin, urmărirea celui existent.
Testarea controlului structurilor unui design procedural.
Poate genera cazuri de test pentru a asigura:
toate căile independente sunt controlate cel putin o data;
toate deciziile logice sunt controlate pentru ambele ramuri (adevarat și fals);
toate buclele sunt executate pana la limite;
toate structurile de date interne sunt verificate pentru validare;
De ce sa mai facem acest tip de testare când "Testarea Cutia Neagra" este folosita pentru a testa conformitatea cerințelor?
Erorile logice și presupunerile incorecte sunt cele mai dese atunci când se programează pentru anumite cazuri. Trebuie sa existe siguranța ca toate căile vor fi verificate.
Se pot găsi presupuneri incorecte despre cai de execuție ce conduc la erori de design. Testarea White Box poate găsi aceste erori.
Erorile de tipărire sunt aleatoare.La fel de bine o eroare poate fi pe o cale de execuție principala cât și pe una secundara.
"Bug-urile stau pe la colțuri și se aduna la margini"