ホワイトボックステストとは、プログラムの内部構造(ソースコードの処理ロジックや条件分岐など)がどうなっているかを理解した上で、そのプログラム内のすべての記述ルートが正しく実行されるかを検証するテスト手法です。中身が透けて見える「白い箱(透明な箱)」に例えてこう呼ばれます。
このテストでは、ソースコードの条件分岐(if文など)に注目し、すべての処理ルートを漏れなく通過するようなテストデータを作成します。テストの網羅性を測る指標として以下のようなものがあります。
主に開発の初期段階(単体テスト)において、コードの記述ミスや不要な処理がないかをチェックするために用いられます。
「18歳以上は大人料金、それ未満は子供料金」という処理を行う以下のプログラムをテストする場合です。
if age >= 18:
ticket = "大人" (ルートA)
else:
ticket = "子供" (ルートB)