結合テスト(インテグレーションテスト)は、単体テストが完了したモジュール同士を組み合わせて、インターフェース(接続部分)でのデータの受け渡しや、連携動作に不具合がないかを検証する工程です。
モジュールを結合していくアプローチには、主に以下の3つの手法があります。
- トップダウンテスト: システムの上位(コントロールを行う主要部分)モジュールから順番に結合してテストする手法です。未完成の下位モジュールは「スタブ」と呼ばれるダミープログラムに置き換えてテストを行います。システムの骨組みを早期に検証できるメリットがあります。
- ボトムアップテスト: システムの下位(末端の具体的な処理部分)モジュールから順番に結合してテストする手法です。未完成の上位モジュールは「ドライバ」と呼ばれるテスト用呼び出しプログラムに置き換えます。初期段階から並行してテストを進めやすいメリットがあります。
- ビッグバンテスト: すべてのモジュールを一度にすべて結合してテストする手法です。スタブやドライバが不要なため手軽ですが、バグが発生した際に「どのモジュール同士の連携でエラーが起きたのか」原因を特定するのが極めて困難になるため、小規模なシステム以外では推奨されません。
試験でのポイント
試験では、結合テストの進め方である「トップダウンテスト」と「ボトムアップテスト」の比較がよく出題されます。