問題
ブラックボックステストに関する記述のうち,適切なものはどれか。
キーボード:1〜4で選択・Enterで次へ
答え合わせ
- A
- B
- C
- D
自信の3択
えらぶと、この端末に記録します(登録はいりません)
解説
答えは b「被テストプログラムに冗長なコードがあっても検出できない」 です。
ブラックボックステストは、プログラムの中身を見ずに「仕様どおりの入力をしたら、仕様どおりの出力が出るか」だけを確かめるテストです。
中身を見ないので、使われていない余分なコード(冗長なコード)が混じっていても、出力が正しければ気付けません。
👉 覚え方:ブラックボックス=中身を見ない。だから中身の無駄は見つからない。
ほかの選択肢:a 命令や分岐の網羅率/c 内部構造に着目/d 分岐やモジュールが増えるとテストデータが急増 は、どれもプログラムの中身を見るホワイトボックステストの特徴。
なぜこれが正解か
正解は b。ブラックボックステストは,プログラムの内部構造を考慮せず,機能仕様に基づいて入力と出力の関係を検証するテストである。テストデータは同値分割や限界値分析などで仕様から作成する。内部の処理を見ないため,仕様どおりの結果が出ていれば,実行されない余分なコード(冗長なコード)が含まれていても検出できない。
各選択肢の解説
- a 誤り:命令網羅や分岐網羅などの網羅率をテストデータの作成基準にするのはホワイトボックステスト。
- b 正しい:内部を見ないので,冗長なコードは検出できない。
- c 誤り:プログラムの内部構造に着目して必要な部分が実行されたかを検証するのはホワイトボックステスト。
- d 誤り:分岐命令やモジュールの数が増えるとテストデータが急増するのは,内部の経路を網羅しようとするホワイトボックステストの特徴。
覚え方・ひっかけ注意
「仕様から作る=ブラックボックス/プログラムの構造から作る=ホワイトボックス」。ブラックボックステストの弱点は内部の無駄や未実行部分に気付けないこと,ホワイトボックステストの弱点は仕様の漏れ(作られていない機能)に気付けないこと,と対で覚える。
理論的背景
ソフトウェアテストの技法は,仕様に基づくブラックボックステストと,構造に基づくホワイトボックステストに大別される。ブラックボックステストの代表技法は,入力を同じ扱いをされるグループに分ける同値分割,境界付近の値を選ぶ限界値(境界値)分析,条件と動作の組合せを表にするデシジョンテーブル,状態と遷移を検証する状態遷移テストなどである。ホワイトボックステストでは,命令網羅(C0),判定条件網羅(C1),条件網羅などの網羅基準でテストケースを作る。両者は補完関係にあり,ブラックボックスは「仕様の実現漏れ」を,ホワイトボックスは「コードの未実行部分や論理誤り」を見つけるのに向く。
実務での使われ方
単体テストでは開発者がホワイトボックステストでコードの網羅を確認し,結合テスト・システムテスト・受入れテストでは仕様に基づくブラックボックステストが中心になる。カバレッジ計測ツールで未実行のコードを洗い出し,不要なコードの削除や追加のテストケース作成につなげる。仕様書から機械的にテストケースを導けるのがブラックボックステストの利点で,テスト設計の標準化にも役立つ。
試験での位置づけ
基本情報では,ブラックボックス・ホワイトボックスの区別,同値分割・限界値分析の計算,網羅基準の包含関係が頻出。応用情報では,テスト工程ごとの目的や,テストの十分性の評価(バグ曲線,信頼度成長モデル)も問われる。
選択肢の発展補足
a・c・d はいずれもホワイトボックステストの説明である。特に d は,パス網羅を目指すと分岐の組合せが指数的に増えるという性質を述べたもので,網羅基準を現実的な水準(C0・C1など)にとどめる理由になっている。b のように「冗長なコードは検出できない」ことはブラックボックステストの限界であり,カバレッジ計測(ホワイトボックスの観点)と組み合わせて補う。
出典と作り方
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成29年度 秋期 問49/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。

