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