ITパスポート過去問 令和4年度(2022年)問45
ブラックボックステストに関する記述として,適切なものはどれか。
選択肢
- ア:プログラムの全ての分岐についてテストする。
- イ:プログラムの全ての命令についてテストする。
- ウ:プログラムの内部構造に基づいてテストする。
- エ:プログラムの入力と出力に着目してテストする。
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
ブラックボックステストは、プログラムの内部構造(分岐や命令、処理手順)ではなく、仕様で決まっている入力に対して期待どおりの出力が得られるかで確認するテスト手法です。したがって、入力と出力に着目してテストするという記述が適切です。
Point
この問題は、ブラックボックステストの観点が入力と出力にあることを理解しているかを確認するものです。また、内部構造に基づいて確認するホワイトボックステストとの違いを区別できるかがポイントです。
解くために必要な知識
この問題を解くには、ブラックボックステストとホワイトボックステストの違いを理解している必要があります。
用語の整理
| 用語 | 意味 |
|---|---|
| ブラックボックステスト | プログラムの内部構造を考慮せず、仕様に基づいて入力と期待される出力の対応で確認するテストです。 |
| ホワイトボックステスト | プログラムの内部構造(制御構造、分岐、命令など)に基づき、網羅基準を満たすように確認するテストです。 |
他の選択肢に出てくる用語
| 用語 | 意味 |
|---|---|
| 分岐網羅 | プログラム中の分岐(真、偽など)がそれぞれ少なくとも1回は実行されるようにテストする網羅基準です。 |
| 命令網羅 | プログラム中の各命令(文)が少なくとも1回は実行されるようにテストする網羅基準です。 |
問題の解法手順
各選択肢の整理
観点で分類する
ブラックボックステストかどうかは、テストの基準が次のどちらかで判断します。
-
入力と出力(仕様)を基準にするか
-
分岐や命令など内部構造を基準にするか
選択肢を表で確認する
| 選択肢 | 記述の要点 | テストの基準 | 該当するテスト |
|---|---|---|---|
| ア | 全ての分岐をテスト | 内部構造(分岐) | ホワイトボックステスト(分岐網羅など) |
| イ | 全ての命令をテスト | 内部構造(命令) | ホワイトボックステスト(命令網羅など) |
| ウ | 内部構造に基づく | 内部構造 | ホワイトボックステスト |
| エ | 入力と出力に着目 | 仕様(外部から見える振る舞い) | ブラックボックステスト |
結論
入出力(仕様)に着目している「エ」が適切です。
選択肢ごとの解説
- ア:不正解
全ての分岐についてテストするのは、分岐網羅の考え方です。分岐網羅は、ソースコード中の分岐(条件の真偽)を対象にするため、ホワイトボックステストとして扱われます。
- イ:不正解
全ての命令についてテストするのは、命令網羅の考え方です。命令網羅は、ソースコード中の命令(文)を対象にするため、ホワイトボックステストとして扱われます。
- ウ:不正解
プログラムの内部構造に基づいてテストするのは、ホワイトボックステストの説明です。ブラックボックステストは内部構造を前提にしません。
- エ:正解
プログラムの入力と出力に着目してテストするのは、ブラックボックステストの説明です。仕様に従って入力を与え、期待した出力になるかで確認します。
まとめ
ブラックボックステストは、プログラムの内部構造(分岐や命令、処理手順)ではなく、仕様で決まっている入力に対して期待どおりの出力が得られるかで確認するテスト手法です。したがって、入力と出力に着目してテストするという記述が適切です。
マネジメント系 > 開発技術 > システム開発技術
全ての分岐についてテストするのは、分岐網羅の考え方です。分岐網羅は、ソースコード中の分岐(条件の真偽)を対象にするため、ホワイトボックステストとして扱われます。
全ての命令についてテストするのは、命令網羅の考え方です。命令網羅は、ソースコード中の命令(文)を対象にするため、ホワイトボックステストとして扱われます。
プログラムの内部構造に基づいてテストするのは、ホワイトボックステストの説明です。ブラックボックステストは内部構造を前提にしません。
プログラムの入力と出力に着目してテストするのは、ブラックボックステストの説明です。仕様に従って入力を与え、期待した出力になるかで確認します。