ホワイトボックステストとは?ほわいとぼっくすてすと
ホワイトボックステストとは、プログラムの内部構造を見たうえで、どの経路を実際に通したかを基準にテストケースを作る技法。網羅の度合いには、すべての命令を1回は実行する命令網羅、判定の真と偽の両方を1回は通る分岐網羅(判定条件網羅)、判定の中にある個々の条件について真と偽を1回ずつ取る条件網羅がある。
最終更新:2026-10-10
この語が出る過去問を解く →背景
外から見た入出力だけを確かめても、めったに通らない分岐や例外処理は一度も動かないまま出荷されうる。実際の不具合は、そうした通っていない経路に潜んでいることが多い。そこで「コードのうちどれだけを実際に動かしたか」という測れる指標を置き、テストの十分さを主観ではなく数値で語れるようにしたのがこの技法である。単体テストの完了基準として使われる。
具体例
Java の開発で使われる JaCoCo のようなカバレッジ計測ツールは、テストの実行中に通った行と分岐を記録し、命令網羅率と分岐網羅率を百分率で表示する。数字が上がらない箇所を見れば、まだ一度も実行されていないエラー処理が残っていると分かり、そこを狙ったテストデータを追加できる。
試験での引っ掛け
命令網羅と分岐網羅の強さの向きを逆に覚えやすい。分岐網羅を満たせば命令網羅は必ず満たすが、逆は成り立たない。if(A and B) のような判定では、条件網羅を満たしていても判定全体の真偽の両方を通るとは限らず、分岐網羅を含まない場合がある点も定番である。また網羅率100%でも、仕様そのものの抜けは見つけられない。
関連用語
出た過去問
出典:平成29年度 秋期 基本情報技術者試験 午前 問49(IPA)解説で登場
ブラックボックステストに関する記述のうち、適切なものはどれか。
正解:被テストプログラムに冗長なコードがあっても検出できない。
要点:ブラックボックステストは仕様基準。内部の冗長コードは見つからない
ブラックボックステストは内部構造を見ず、仕様に基づいて入力と出力の対応だけを確認する手法である。仕様どおりに動く限り合格となるため、実行されない冗長なコードや不要な処理が残っていても検出できない。内部構造に着目し網羅率を基準にするのはホワイトボックステストである。
出典:平成31年度 春期 基本情報技術者試験 午前 問47(IPA)解説で登場
ブラックボックステストに関する記述として、最も適切なものはどれか。
正解:被テストプログラムに冗長なコードがあっても検出できない。
要点:ブラックボックステストは仕様のみを見るため冗長コードは見えない
ブラックボックステストは、内部構造を見ずに仕様上の入力と出力の対応だけを確認する手法である。仕様どおりの結果が得られていれば合格となるため、実行されない無駄なコードや到達不能な処理が残っていても気付けない。内部構造に基づく網羅率の測定や、分岐数に応じたテストデータの増加はホワイトボックステストの特徴である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。