平成26年度 春期 ITパスポート試験 公開問題 問34 解説 ホワイトボックステスト
開発者Aさんは,入力データが意図されたとおりに処理されるかを,プログラム の内部構造を分析し確認している。現在Aさんが行っているテストはどれか。
- ア システムテスト
- イ トップダウンテスト
- ウ ブラックボックステスト
- エ ホワイトボックステスト ✓ 正答
解説
選択肢の絞り込み方
問題文にある「プログラムの内部構造を分析し確認している」というフレーズが判断の決定打です。ソフトウェアテストの手法は、プログラムの中身(ソースコード)を見るか見ないかで大きく2つに分類されます。内部構造を分析対象とする手法をホワイトボックステスト、中身は見ずに外部からの入力と出力のみを確認する手法をブラックボックステストと呼びます。
ソフトウェアテストの分類と仕組み
ソフトウェアテストは、開発の工程や目的によって使い分けられます。
ホワイトボックステストは、プログラム内の全ての分岐条件(if文など)や繰り返し処理が想定通りに実行されるかを確認する手法です。例えば、全ての条件分岐を少なくとも一度は通過させる「網羅性」を重視します。開発者が自分の書いたコードの論理的な誤りを見つけるために行うテストといえます。
対して、ブラックボックステストは、プログラムを「中身が見えない箱(ブラックボックス)」として扱います。仕様書に基づき、ある入力に対して期待される出力が得られるかだけを検証します。プログラムがどのように処理されているかは考慮しません。
これら以外にも、開発の進め方や範囲に応じた分類が存在します。選択肢にあったシステムテストは、開発したプログラム全体を結合して、要件定義通りの機能を満たしているかを最終確認するテスト段階を指します。トップダウンテストは、上位のモジュールから順にテストし、未完成の下位モジュールはスタブと呼ばれる仮のプログラムで代用する手法です。
試験対策としての重要性
この知識は、単なる用語の暗記ではなく、ソフトウェア開発のライフサイクルを理解する上で非常に重要です。
システム開発において、プログラマーはホワイトボックステストによって「コードレベルの不具合」を排除し、テスト担当者やユーザーはブラックボックステストによって「機能上の不具合」を排除します。実際の現場では、これら両方の観点からテストを設計・実行しなければ、リリース後に思わぬバグが発生するリスクが高まります。
ITパスポート試験では、それぞれのテスト手法の定義と、対象となる範囲を正確に結びつけられるかが問われます。特に「内部構造」という単語が出ればホワイトボックス、「仕様書や入力と出力」という単語が出ればブラックボックス、というキーワードの反射神経を養っておくことが、得点アップへの近道です。