結合テスト(IT)とは
結合テスト(IT)とは、単体テスト(UT)以降に実施されるテストで、主にプロジェクトの中盤でおこなわれるテスト工程になります。
結合テストでは、単体で動作するようになったシステムを組み合わせることで、実際の動作に近い状態でソフトウェアの挙動を確認します。
結合テストの目的
結合テストを実施する目的は、主に「機能の動作が設計および仕様どおりであることの検証すること」にあります。
単体テストでは問題なかったモジュールでも、組み合わせることによって、疎通が通らず動作不良が起こるなどの不具合が見つかることがあります。
結合テストはモジュール同士を組み合わせることにより、モジュール単体でテストしていた単体テストよりもテストパターンが複雑になるため、様々なパターンのテストをおこなう必要があります。
結合テストのターゲット
結合テストは可能な限り、実際に運用する本番環境と同じ環境を準備します。
システムを利用するクライアント端末やOS、Webブラウザ(chromeやIEなど)も、実際に操作した時に不具合が起こらないか、問題なく操作できるかを確認するため、本番環境で使用するものを想定したものでテストをおこないます。
また、環境だけでなく、データやスケジュールも本番環境と出来るだけ近い状態でテストを実施します。
本番想定のデータ形式やデータ内容で問題なく動作するか、ジョブ利用があるシステムはジョブのスケジュールで失敗なく動くかを確認します。
データに関しては負荷テストもおこないます。負荷テストとは、大量データや大量アクセスを処理するとき、システムが実際の業務に耐えられる処理能力を持っているかを確認します。
システムに対して想定を超える負荷がかかると異常終了や異常停止、パフォーマンス低下などを起こす場合があるため、それらを未然に防ぐために予めテストをおこないます。
結合テストのフェーズ
結合テストは、システム開発全体の中では単体テストの次のフェーズになり、テスト工程としては中盤のフェーズで、基本設計と対となる位置にいます。
単体テストが個別の機能に焦点を当てたテストに対し、結合試験は、それら個別機能を結合させ、全体のデータの流れや動作に焦点を当てたテストになります。
結合テストの詳細な役割について
結合テストの実施は開発者または開発者以外のテストチームがおこないます。
敢えてシステムのコードの詳細を知っている開発者ではなく、開発に関わっていないテストチームがテストを実施することで予期せぬ不具合を見つける事が出来る場合もあるため、結合テストはコードを知らない開発者以外が実施することもあります。
結合テストケースについて
発注者側は基本的には結合テストの実施には関わりませんが、テストケースについては、発注者側が予めテストの方向性(どういった検証をおこなうかを具体的に決めたもの)を社内でマニュアル化している会社もあるため、そういった場合は開発者側が作成したテストケースを発注者側がレビューし、テスト内容を双方で認識を合わせた上で開発者、またはテストチームが試験をおこなう場合もあります。
結合テストの代表的なテスト手法
インターフェーステスト
インターフェーステストとは、異なるモジュール機能やシステムを連携して動作する際の正確性を確認するテストです。データが仕様どおりに正しく連携されているか、機能しているか検証をおこないます。
ブラックボックステスト
ブラックボックステストとは、内部構造や実装の詳細を考慮せず、プログラムの入出力に基づいて機能の確認をおこなうことです。
システムの外側から見た挙動の確認をおこない、主にインプットとアウトプットを焦点としたテストを実施します。
結合テストにおけるブラックボックステストは、単体テストを終えたモジュール同士を結合してブラックボックステストを実施し、モジュールの動作確認をおこないます。
業務シナリオテスト
シナリオテストとは、実際の業務を想定し、動作や挙動を確認するテストです。
トランザクションなどを通じてシステムの検証をおこないます。
ユーザーが一連の流れに沿ってシステムを問題なく利用できるか、意図したとおりに動作するかを確認します。
負荷テスト
負荷テストとは、システムが大量のアクセスやデータに対し、問題なく対応できるかを検証するテストです。
負荷テストでは、システムに通常よりも高い負荷をかけて、その影響や限界を確認します。
結合テストで不具合が発生した場合の流れ
結合テストでバグ(不具合)が発生した場合は、主に以下のフローの流れで対応をおこないます。
- バグ発生…結合試験中にバグを発見
- バグの記録/レポート…検出したバグを管理するために記録を残します。
- 原因調査…なぜバグが起きたかの原因調査をおこないます。
- 影響調査…発見したバグと同じバグが他モジュールにも潜んでいないか横並びの調査をおこないます。
- 修正…バグの修正をおこないます。
- 単体テスト…モジュール内の、バグの部分に焦点を当て、重点的に単体テストをおこないます。
- (再)結合テスト…バグを発見した時と同じ内容で結合テストをおこない、今度は正常に動作するかの確認をおこないます。
- クローズ…(再)結合テストが問題なく完了できたら、バグをクローズします。
まとめ

結合テストについて解説いたしました。
メディアファイブは、自社エンジニアによってお客様の業務改善・課題解決につながる高品質なシステムを開発します。
幅広い業種の開発実績がありますので、まずはお気軽にご相談ください!
詳しくはこちら
