結合テストとは、単体テストを終えたプログラムの部品同士を組み合わせて、正しく連携して動くかを確認するテストのことです。「IT(Integration Test)」「連結テスト」とも呼ばれ、単体テストと総合テストの間に行われます。
現実世界でいえば、自動車の「組み付け後の動作確認」のようなものです。エンジンもブレーキも単品では合格していても、組み付けてみると「アクセルを踏んだのにエンジンに信号が伝わらない」といった連携の問題が見つかることがあります。部品と部品の「つなぎ目」を確かめるのが結合テストです。
結合テストで確認すること
結合テストの主役はインターフェース(つなぎ目)です。画面から入力した値が正しく処理に渡るか、機能Aの出力が機能Bに正しく引き継がれるか、データベースや外部システムとのやり取りが仕様どおりか、といった「データの受け渡し」を中心に確認します。基本設計書で決めた機能間の連携が確認の基準になります。
結合テストの進め方
| 方式 | 進め方 | 特徴 |
|---|---|---|
| トップダウン | 上位の機能から順に、下位をつなぎながら確認する。 | 全体の流れを早く確認できる |
| ボトムアップ | 下位の部品から順に、上位へ積み上げながら確認する。 | 部品の完成順に進めやすい |
| ビッグバン | 全部品をそろえて一気に結合する。 | 小規模向け。問題の切り分けが難しい |
まだ完成していない相手部品の代わりに、「スタブ」(下位の代役)や「ドライバ」(上位の代役)と呼ばれる仮のプログラムを使ってテストを進めることもあります。
よく見つかる不具合
結合テストでは、単体では見つからない「思い込みのずれ」が表面化します。たとえば、渡す側は「日付を文字列で渡す」つもりが受け取る側は「数値を期待していた」、金額の単位が円と千円で食い違っていた、といった具合です。設計書のあいまいさが原因になることも多く、結合テストは設計の品質を映す鏡ともいえます。

コメント