問題
問84
ソフトウェアのテストにおいて、システム全体を構成する複数のモジュールを結合した状態で、意図した通りに連携して動作するかを確認するテストはどれか。
- 単体テスト
- プログラムテスト
- 受け入れテスト
- 結合テスト
正解
正解は「エ」です。
解説
正解は「エ」の結合テストです。結合テストは、単体テストが完了した個々のモジュール(プログラムの部品)を複数組み合わせて、それらが互いに連携して正しく動作するかどうかを検証するテスト工程です。このテストでは、モジュール間のデータの受け渡し(インターフェース)が仕様通りに行われるか、モジュールを結合したことで予期せぬ不具合が発生しないか、などを重点的に確認します。
自動車の製造に例えるなら、エンジンやブレーキ、ハンドルといった単体でテスト済みの部品を車体に取り付け、アクセルを踏んだらエンジンが正しく反応し、ブレーキを踏んだらタイヤがきちんと止まるか、といった連携動作を確認する段階にあたります。問題文の「複数のモジュールを結合した状態」「意図した通りに連携して動作するかを確認する」という記述は、結合テストの目的を正確に表しています。
ア(単体テスト):
プログラムを構成する最小単位であるモジュールが、個々に正しく動作するかどうかを検証するテストです。
イ(プログラムテスト):
単体テストや結合テストを含む、プログラムに対するテストの総称として使われることがあり、特定の工程を指す言葉としては曖昧です。
ウ(受け入れテスト):
開発の最終段階で、発注者(利用者)が実際にシステムを操作し、業務上の要求を満たしているかを確認するテストです。
解法のポイント
ソフトウェアのテスト工程(V字モデル)は頻出テーマです。「単体テスト → 結合テスト → システムテスト → 受け入れテスト」という一連の流れと、各テストの目的を理解することが重要です。「複数のモジュールを結合」「連携動作」というキーワードが出てきたら、それは結合テストを指していると判断できます。テスト対象の規模(単体か、結合体か、システム全体か)に着目して、各テスト工程を区別できるようにしておきましょう。
用語補足
結合テスト:
部品同士を組み合わせて、うまく連携して動くかを確認するテストです。オーケストラで、各楽器パートが個別に練習した後、全員で合奏してハーモニーを確認するようなものです。
モジュール:
ソフトウェアを構成する、特定の機能を持った部品のことです。プログラム全体を機能ごとに分割したもので、関数やクラスなどが該当します。
単体テスト:
プログラムの部品(モジュール)が一つ一つ正しく動くかを確認するテストです。自動車を作る工程で、エンジンやタイヤがそれぞれ単体で正常に機能するかを調べるようなものです。
受け入れテスト:
発注者がシステムを導入するかどうかを最終判断するテストです。家の引き渡し前に行う内覧会のように、注文通りにできているかを発注者が確認します。


