ホワイトボックステスト 【white-box testing】

概要

ホワイトボックステスト(white-box testing)とは、ソフトウェアテストの手法の一つで、プログラムの内部構造を理解した上でそれら一つ一つが意図した通りに動作しているかを確認するテスト。
ホワイトボックステストのイメージ画像

開発したプログラムの挙動を確かめるテスト手法の一つで、プログラムコードの構造に基づいて命令文や内部状態を網羅するようにテストケースを作成する。コードの理解が前提となるため開発者が実施することが多く、主に単体テストユニットテスト)で用いられる。

テスト対象のソースコードのうち、どの程度の割合のコードがテストされたかを表す尺度を「カバレッジ」(テストカバレッジ/コードカバレッジ)という。何に着目するかによって「命令網羅」「判定条件網羅」「条件網羅」「複数条件網羅」「経路組み合わせ網羅」などの種類がある。

ホワイトボックステストはコードが意図した通りに動作しているかを確かめられるが、コードの内容を前提にテストケースを作成するため、プログラムに与えられた仕様を満たしているかを十分に調べきれない場合がある。特に、コードに記述のない機能の不足・欠損を見逃すことがある。

一方、プログラムの内部構造とは関係なく、外部から見て仕様書通りの機能を持っているか確認するテストを「ブラックボックステスト」(black-box testing)という。また、ホワイトボックステストとブラックボックステストを組み合わせた手法を「グレーボックステスト」(gray-box testing)ということがある。

(2024.2.8更新)

資格試験などの「ホワイトボックステスト」の出題履歴

ITパスポート試験 : 平30秋 問44 平26春 問34 平25春 問37 平24秋 問46
基本情報技術者試験 : 令6修12 問14 令5修12 問14 令3修6 問46 令1修7 問19 平28修7 問50 平27春 問50 平26修12 問48 平25修7 問50 平25春 問22 平23修12 問51 平23修6 問50 平23春 問49 平23修1 問49 平22修7 問49 平21修6 問48

他の用語辞典による「ホワイトボックステスト」の解説 (外部サイト)