ブラックボックステストは何を基準に判断するか
基本情報技術者試験 平成29年度秋期 午前 問49 / システム開発技術 › ソフトウェア構築
過去問にチャレンジ
ブラックボックステストに関する記述のうち適切なものはどれか。
- ア
テストデータの作成基準として,命令や分岐の網羅率を使用する。
- イ
被テストプログラムに冗長なコードがあっても検出できない。
- ウ
プログラムの内部構造に着目し,必要な部分が実行されたかどうかを検証する。
- エ
分岐命令やモジュールの数が増えると,テストデータが急増する。
会話形式の解説
講師この問題では、テストの基準が外部仕様と内部構造のどちらにあるかを確かめます。
受験者どちらもプログラムを調べるので、命令や分岐の話も当てはまりそうに感じます。
講師ブラックボックステストでは、何を見て結果を判断しますか。
受験者外部仕様に照らして、入力に対する出力を確認します。
講師そのとおりです。では、命令や分岐をどれだけ実行したかという網羅率は、入出力だけで測れますか。
受験者測れません。内部の実行状況を見る必要があります。
講師したがって、網羅率をテストデータの作成基準にする記述は不適切です。内部構造を見て必要な箇所の実行を確かめる記述も、ホワイトボックステストの説明です。
受験者では、冗長なコードがあっても出力が変わらなければ、入出力からは存在を見つけられないのですね。
講師はい。外部の動作に影響しない冗長なコードは、ブラックボックステストだけでは検出できません。これが適切な記述です。
受験者分岐命令やモジュールが増えるとテストデータが急増する、という記述はどう判断しますか。
講師それらは内部構造の数です。ブラックボックステストのデータ件数を、内部の分岐数やモジュール数が直接決めるわけではないので、不適切です。
受験者外部仕様に基づく確認か、内部の実行状況に基づく確認かを分けて読めばよいのですね。
まとめ
ブラックボックステストは、外部仕様に照らして入力と出力を確認します。命令や分岐の網羅率、必要な箇所の実行状況は、内部構造を見るホワイトボックステストの観点です。外部の動作に影響しない冗長なコードは入出力だけでは検出できないため、これを述べた選択肢が適切です。
解答・解説
正解はイです
この問題のテーマ
ブラックボックステストが何を基準に調べるかを、ホワイトボックステストとの違いから問う問題です。
解き方の考え方
ブラックボックステストでは、外部仕様を基準に入力と出力を確かめます。各選択肢が入出力を扱っているのか、プログラム内部の命令や分岐を扱っているのかを見分けます。内部を確認しなければ分からない事柄は、ブラックボックステストだけでは判断できません。
選択肢ごとの解説
- ×ア テストデータの作成基準として,命令や分岐の網羅率を使用する。アの命令や分岐の網羅率は、プログラム内のどこが実行されたかを測る指標です。内部構造を基準にするため、ホワイトボックステストの考え方です。
- ○イ 被テストプログラムに冗長なコードがあっても検出できない。イの冗長なコードが外部の動作に影響しなければ、入出力を調べてもその存在は分かりません。内部のコードを検査対象としないブラックボックステストの限界を述べているので、適切です。
- ×ウ プログラムの内部構造に着目し,必要な部分が実行されたかどうかを検証する。ウは内部構造を見て、必要な箇所が実行されたかを確認しています。これは入出力を基準にするブラックボックステストではなく、ホワイトボックステストの説明です。
- ×エ 分岐命令やモジュールの数が増えると,テストデータが急増する。エは内部の分岐命令やモジュールの数からテストデータの件数を決めています。ブラックボックステストでは内部の分岐数が件数を直接決めるわけではないため、適切ではありません。
POINT
- ブラックボックステストでは、外部仕様に照らして入出力を確認します。
- 命令や分岐をどれだけ実行したかは、内部構造を調べる指標です。
- 外部の動作に現れないコードの存在は、入出力だけからは特定できません。
