平成21年度 春期 ITパスポート試験 問42 解説 ブラックボックステスト
入力と出力だけに着目して様々な入力に対して仕様書どおりの出力が得られるかどうかを確認していく,システムの内部構造とは無関係に外部から見た機能について検証するテスト方法はどれか。
- ア 運用テスト
- イ 結合テスト
- ウ ブラックボックステスト ✓ 正答
- エ ホワイトボックステスト
解説
問題文にある「内部構造とは無関係に」「入力と出力だけに着目」というキーワードを見つけたら、即座に「ブラックボックステスト」を選択してください。テスト対象を中身が見えない箱(ブラックボックス)として扱い、外部からの操作に対する反応のみを確認する方法だからです。
テスト手法におけるブラックボックスとホワイトボックスの対比
ソフトウェアテストの手法は、プログラムの内部構造を「見るか、見ないか」で大きく二つに分類されます。
ブラックボックステストは、プログラムの仕様書(要求仕様)だけを頼りにテストデータを作成します。内部でどのような処理が行われているか、どんな変数や分岐があるかは意識しません。利用者の視点に最も近いテストであり、システムが正しく機能するかを確認するために行われます。
対して、ホワイトボックステストはプログラムのソースコードや内部ロジックを把握した上でテストを行います。全ての分岐や条件を網羅するようにテストケースを作成するため、プログラムの論理的な誤りを検出するのに適しています。
思考のステップと消去法の活用
この問題を解く際は、まず「内部構造」という言葉とテストの種類を紐付けます。
- 内部構造を無視する → ブラック(見えない)ボックステスト
- 内部構造を意識する → ホワイト(見える)ボックステスト
選択肢のア「運用テスト」は、実際の利用環境でシステムが目的通りに動くかを確認する最終段階のテストであり、特定の検証手法を指す言葉ではありません。イの「結合テスト」は、複数のモジュールを組み合わせて連携を確認する段階を指します。これらはテストの「段階(工程)」を表す言葉であり、テストの「手法」を指すブラックボックステストとはレイヤーが異なります。このように、用語が「工程」なのか「手法」なのかを区別することで、迷いなく正解へたどり着けます。
実務現場におけるテストの役割
システム開発の現場では、これら二つのテストを組み合わせて品質を担保します。プログラマーが開発中にコードの細部まで確認するのがホワイトボックステスト、品質保証担当者やユーザーが仕様通りに動くかを確かめるのがブラックボックステストです。
特にブラックボックステストは、仕様書という「正しい出力の基準」が存在するため、自動テストツールとの相性が非常に良い手法です。ITパスポート試験においてこの知識を問う意図は、単なる用語の暗記ではなく、開発工程において「何を確認すべきか(機能か、内部論理か)」という役割分担を理解しているかを確認するためです。