【けつごうてすと】

結合テスト とは?

💡 パーツは完璧でも、組み合わせると噛み合わないことがある
📌 このページのポイント
結合テスト:モジュールをつなげて動作確認 単体テスト済み モジュールA ✔ 単体OK モジュールB ✔ 単体OK モジュールC ✔ 単体OK 結合テスト範囲 インターフェースの整合性・データの受け渡しを検証 「つなぎ目」のバグを発見 ? I/F ? I/F 結合テスト範囲 データの流れ ? I/F = インターフェース確認箇所
結合テストはモジュール間の「つなぎ目」を検証する
ひよこ ひよこ

単体テストでOKだったのに、組み合わせたら動かなくなったことがあるんだけど、これってなんで?

ペンギン先生 ペンギン先生

それはよくある話だよ。単体テストは部品ひとつひとつを確かめるけど、部品同士がちゃんとやり取りできるかは別の話なんだ。そこを確かめるのが「結合テスト」だよ。

ひよこ ひよこ

じゃあ結合テストって、どんなことをするの?

ペンギン先生 ペンギン先生

モジュールAがモジュールBに渡すデータの形が合っているか、APIの呼び出し順が正しいか、といった「つなぎ目」を中心に動作確認するんだよ。インターフェースのズレが一番よく見つかるね。

ひよこ ひよこ

テストの順番ってあるの?全部まとめて試せばいいんじゃないの?

ペンギン先生 ペンギン先生

まとめて試す「ビッグバン方式」もあるけど、バグが出たときにどこが原因か分かりにくいんだ。だから上位モジュールから順に組み合わせる「トップダウン」や、下位から積み上げる「ボトムアップ」が使われることが多いよ。

ひよこ ひよこ

結合テストが終わったら次は何をするの?

ペンギン先生 ペンギン先生

次はシステム全体を通しで確認する「システムテスト」に進むよ。単体→結合→システム→受け入れ、という流れでテストの範囲がどんどん広がっていくんだよ。

ひよこ ひよこ

なるほど!じゃあ結合テストが甘いと後で大変なことになるんだね。

ペンギン先生 ペンギン先生

その通り。モジュール間の問題はシステムテストで発覚すると修正コストが跳ね上がるから、結合テストでしっかり潰しておくのが鉄則だよ。継続的インテグレーションでは自動で結合テストを走らせるのが今の主流だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
結合テスト」って出てきたら「モジュール同士の接続チェック」と思えればだいたいOK!
📖 おまけ:英語の意味
「Integration Testing」 = 統合テスト
💬 「Integration(統合・結合)」から来ていて、バラバラに作ったパーツを一緒に動かしてみるテストのことだよ
← 用語集にもどる