【けつごうてすと】
結合テスト とは?
最終更新:
💡 部品を組み合わせ、つなぎ目の動きを確かめる
複数の部品やシステムを組み合わせ、間のインターフェースや連携を確認するテスト。個々の部品を調べるテストに加え、データの受け渡しなどを確認する。何を実際につなぎ、何を代用品にするかで確認できる範囲が変わる。
📌 このページのポイント
- 部品同士やシステム同士の受け渡しを確認する
- 個別のテストが通っても、連携に問題が残ることがある
- 実際につなぐ相手と、代用品にする相手を明確にする
- E2Eは一連の流れを端から端まで確認する観点
ユニットテストが通ったら、結合テストは不要?
個々の部品が想定どおりでも、つなぐと問題が出ることがあるよ。例えば送り手はJSONのnameを返すのに、受け手はuserNameを読む場合。代用品だけを使ったテストでは、実際の相手との食い違いを見逃すことがあるんだ。
どこを組み合わせるの?
E2Eテストとの違いは?
CIで実行すると遅くならない?
接続先の準備などに時間がかかる場合があるよ。実行時間を測り、短い確認を変更のたびに行う、重いものを別に実行するなど構成を考えよう。全てを夜間だけに回すと発見が遅れる場合もある。必要な確認を早く返せるように調整するんだ。
もっと詳しく知りたい人へ
組み合わせる順番は?
一度に全部つなぐビッグバン方式のほか、上位の部品からつなぐトップダウン方式、下位の部品からつなぐボトムアップ方式があるよ。段階的につなぐと、問題が起きた場所を絞り込みやすくなるんだ。
まとめ:ざっくりこれだけ覚えればOK!
「結合テスト」って出てきたら「部品を組み合わせ、つなぎ目の動きを確かめる」と思えばだいたいOK!
📖 おまけ:英語の意味
「Integration Test」 = 組み合わせた状態のテスト
💬 integrationは統合すること。テストの段階と、テストをどんな割合で配置するかを考えるテストピラミッドは別の話だよ。