【けつごうてすと】

結合テスト とは?

最終更新:
💡 部品を組み合わせ、つなぎ目の動きを確かめる

複数の部品やシステムを組み合わせ、間のインターフェースや連携を確認するテスト。個々の部品を調べるテストに加え、データの受け渡しなどを確認する。何を実際につなぎ、何を代用品にするかで確認できる範囲が変わる。

📌 このページのポイント
個別の確認 + つなぎ目の確認 個別:部品ごとに想定した動きを確認 画面 API データ 結合:実際の受け渡しを確認 送る形式 保存・取得
個々の部品の確認に加え、組み合わせた相手とのデータの受け渡しを確認する。何を実際につなぐかで対象範囲が変わる。
ひよこ ひよこ
ユニットテストが通ったら、結合テストは不要?
ペンギン先生 ペンギン先生
個々の部品が想定どおりでも、つなぐと問題が出ることがあるよ。例えば送り手はJSONのnameを返すのに、受け手はuserNameを読む場合。代用品だけを使ったテストでは、実際の相手との食い違いを見逃すことがあるんだ。
ひよこ ひよこ
どこを組み合わせるの?
ペンギン先生 ペンギン先生
画面とAPI、サービスとデータベース、別のシステムとの接続などだよ。単にAPIを呼ぶだけで結合テストと決まるわけではない。どの部品を実際に動かし、どの受け渡しを確認したかを示そう。
ひよこ ひよこ
E2Eテストとの違いは?
ペンギン先生 ペンギン先生
E2Eは一連の流れを端から端まで確かめる観点だよ。注文から結果の表示まで、などが例。ブラウザ操作だけに限らない。ISTQBはシステムテストの例にE2Eの作業を挙げ、結合テストでは部品間やシステム間のやり取りを扱う。呼び方だけでなく対象範囲を確認しよう。
ひよこ ひよこ
CIで実行すると遅くならない?
ペンギン先生 ペンギン先生
接続先の準備などに時間がかかる場合があるよ。実行時間を測り、短い確認を変更のたびに行う、重いものを別に実行するなど構成を考えよう。全てを夜間だけに回すと発見が遅れる場合もある。必要な確認を早く返せるように調整するんだ。
もっと詳しく知りたい人へ

組み合わせる順番は?

一度に全部つなぐビッグバン方式のほか、上位の部品からつなぐトップダウン方式、下位の部品からつなぐボトムアップ方式があるよ。段階的につなぐと、問題が起きた場所を絞り込みやすくなるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「結合テスト」って出てきたら「部品を組み合わせ、つなぎ目の動きを確かめる」と思えばだいたいOK!
📖 おまけ:英語の意味
「Integration Test」 = 組み合わせた状態のテスト
💬 integrationは統合すること。テストの段階と、テストをどんな割合で配置するかを考えるテストピラミッドは別の話だよ。

参考資料

← 用語集にもどる