結合テスト
要点
- 結合テストとは、複数のモジュール・機能を組み合わせたときに正しく連携するかを検証するテストです。
- 単体テストだけでは見つからない、部品同士の「つなぎ目」の不具合を見つけます。
- APIのやり取りやデータの受け渡しなど、モジュール間の連携部分が主な確認対象です。
結合テストとは
結合テストは、単体テストで動作確認済みの部品(モジュール)同士を実際に組み合わせて、期待通りに連携できるかを確認するテストです。部品それぞれは正しく動いていても、組み合わせた瞬間にうまくいかないケースは珍しくありません。
🔑 身近な例単体で動作確認したエンジンとブレーキ、タイヤなどの部品を実際に車体に組み込んで、車として問題なく走るかを確認するイメージです。部品ひとつひとつは正常でも、組み合わせて初めて分かる不具合があります。
なぜ結合テストが必要か
単体テストは、それぞれのモジュールを単独で確認するテストです。そのため、モジュール同士の「受け渡し」に問題があっても、単体テストだけでは見つけられません。
✅モジュールA
(単体テスト済み)
(単体テスト済み)
🔗連携させる
✅モジュールB
(単体テスト済み)
(単体テスト済み)
→
🔍正しく連携
しているか確認
しているか確認
結合テストは、この「組み合わせて初めて見える問題」をあぶり出すための工程です。
結合の進め方
すべてのモジュールを一度に結合すると、問題が起きたときにどこが原因か分かりにくくなります。そのため、結合する順番を工夫することがあります。
⬇️ トップダウン
上位の機能から順に結合していく
⬆️ ボトムアップ
下位の部品から順に結合していく
どちらの進め方でも、少しずつ範囲を広げながら結合することで、不具合の原因を特定しやすくなります。
結合テストで見つかる不具合の例
インターフェースの不一致受け渡すデータの項目名や型が食い違っている
データ形式の相違日付や数値の形式が想定と異なる
認識のズレ担当者ごとの仕様理解の違いによる連携ミス
こうした不具合は、モジュール単体では正しく動いているだけに、結合してみるまで気づきにくいという特徴があります。
結合テストと総合テストの違い
結合テストは、あくまで一部のモジュール同士の連携に焦点を当てたテストです。これに対して、システム全体を通しで確認するのが次の工程「総合テスト」です。
結合テストで部品同士の「つなぎ目」を固め、総合テストでシステム全体としての振る舞いを確認する、という段階的な流れになっています。
まとめ
結合テストは、単体テスト済みのモジュールを組み合わせ、正しく連携できるかを確認するテストです。インターフェースやデータ形式のズレなど、単体テストでは見つからない不具合をここで発見します。
関連トピック: