ホワイトボックステスト 【white-box testing】
概要
ホワイトボックステスト(white-box testing)とは、ソフトウェアテストの手法の一つで、プログラムの内部構造を理解した上でそれら一つ一つが意図した通りに動作しているかを確認するテスト。開発したプログラムの挙動を確かめるテスト手法の一つで、プログラムコードの構造に基づいて命令文や内部状態を網羅するようにテストケースを作成する。コードの理解が前提となるため開発者が実施することが多く、主に単体テスト(ユニットテスト)で用いられる。
テスト対象のソースコードのうち、どの程度の割合のコードがテストされたかを表す尺度を「カバレッジ」(テストカバレッジ/コードカバレッジ)という。何に着目するかによって「命令網羅」「判定条件網羅」「条件網羅」「複数条件網羅」「経路組み合わせ網羅」などの種類がある。
ホワイトボックステストはコードが意図した通りに動作しているかを確かめられるが、コードの内容を前提にテストケースを作成するため、プログラムに与えられた仕様を満たしているかを十分に調べきれない場合がある。特に、コードに記述のない機能の不足・欠損を見逃すことがある。
一方、プログラムの内部構造とは関係なく、外部から見て仕様書通りの機能を持っているか確認するテストを「ブラックボックステスト」(black-box testing)という。また、ホワイトボックステストとブラックボックステストを組み合わせた手法を「グレーボックステスト」(gray-box testing)ということがある。
(2024.2.8更新)