Testowanie oparte na strukturze (białoskrzynkowe) bazuje na rozpoznanej strukturze oprogramowania lub systemu tak jak to widać w następujących przykładach:
- w testach modułowych: strukturą jest kod, to jest instrukcje, decyzje, rozgałęzienia lub nawet rozróżnialne ścieżki
- w testach integracyjnych: strukturą może być hierarchia wywołań (diagram, który pokazuje jak moduły wywołują inne moduły)
- w testach systemowych: strukturą może być budowa menu, proces biznesowy lub struktura strony webowej
W tym podrozdziale omówione są trzy strukturalne techniki projektowania testów związane pokryciem kodu bazujące na instrukcjach, decyzjach oraz rozgałęzieniach. W testowaniu decyzji można użyć diagramu przepływu sterowania, aby pokazać wyniki dla każdej decyzji.