この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

ブラックボックステストの特徴を問う問題です。ブラックボックステストは、プログラムの内部構造を考慮せず、入力に対して仕様どおりの出力が得られるかという外部から見た機能の正しさを検証するテスト手法です。内部のコードを見ないため、仕様には現れない冗長なコード(実行されても結果に影響しない無駄なコードなど)があっても、それを検出することはできません。イの「被テストプログラムに冗長なコードがあっても検出できない」がブラックボックステストの特徴を正しく述べており、正解です。テストケースは仕様書を基に、同値分割(入力を同じ扱いになるグループに分けて代表値をテスト)や境界値分析(境界付近の値を重点的にテスト)といった技法で設計します。残りの選択肢は、プログラムの内部構造に着目するホワイトボックステストの特徴です。「外部仕様に着目=ブラックボックス」「内部構造に着目=ホワイトボックス」という対比を軸に、各選択肢がどちらの特徴かを判断するのが確実な解き方です。

なぜ他の選択肢は違うのか

選択肢 ア
テストデータの作成基準としてプログラムの命令や分岐に対する網羅率を使用するのは、ホワイトボックステストの説明です。命令網羅や分岐網羅といったカバレッジ指標は、コードのどの部分が実行されたかを測るものであり、内部構造を見ることが前提です。内部を見ないブラックボックステストでは網羅率を基準にできません。
選択肢 ウ
プログラムの内部構造に着目し、必要な部分が実行されたかどうかを検証するのは、ホワイトボックステストそのものの説明です。「内部構造に着目」という記述が、外部の機能だけを見るブラックボックステストとは正反対です。テストの種類を問う問題では、この「内部か外部か」のキーワードが最も明確な判別材料になります。
選択肢 エ
分岐命令やモジュールの数が増えるとテストデータが急増するのは、内部の分岐をすべて網羅しようとするホワイトボックステストの特徴です。分岐の組合せが増えるほどテストすべき経路が爆発的に増えます。ブラックボックステストは仕様に基づくため、内部の分岐数の増加が直接テストデータ数を急増させるわけではありません。

解くときのポイント

ブラックボックステスト=外部仕様に着目(同値分割・境界値分析)、内部の冗長コードは検出不可。ホワイトボックステスト=内部構造に着目(命令網羅・分岐網羅)。「内部か外部か」で判別。