結合テスト 【integration testing】 IT / 統合テスト / 連結テスト / インターフェーステスト / interface testing / インテグレーションテスト / JT / Join Test / CT / Combined Test / LT / Link Test / 連結試験 / 結合試験 / 統合試験
概要
結合テスト(integration testing)とは、ソフトウェア開発におけるテスト手法の一つで、複数のプログラム部品(モジュール)を組み合わせて行うテスト。個々のモジュールの単体テスト後に行う。複数のモジュールを結合したときに正しく機能するかを確かめるテストで、主にモジュール間の接続点(インターフェース)がうまく機能するかを確認する場合と、結合した状態で外部から見て一体として正しく機能するかを確認する場合がある。
結合テストが終了すると、最終段階のテストとして、本番同様の環境を構築してハードウェアや通信回線なども含めシステムが全体として適切に機能するかを検証する「システムテスト」(system testing)が行われることが多い。
種類
モジュールの組み合わせ方には様々な方法論があるが、機能を呼び出す側を上位、呼び出される側を下位と捉え、下位側から上位側へ、あるいは上位側から下位側へ向かって順番に結合していく手法が用いられることが多い。
最下位のモジュールから上位に向かって順番にテストしていく方式を「ボトムアップテスト」(bottom-up testing)という。未完成の上位側モジュールの代わりとして、機能呼び出し部分のみを実装したダミープログラムである「テストドライバ」(test driver)が用いられる。
一方、最上位のモジュールから下位に向かって順番にテストしていく方式は「トップダウンテスト」(top-down testing)という。未完成の下位側モジュールの代わりに想定される応答の一つを固定的に返すダミープログラムである「テストスタブ」(test stub)が用いられる。
また、上位側と下位側の両方から結合を進めていく「サンドイッチテスト」(折衷テスト)や、全モジュールの完成後にすべて結合して一気にテストする「ビッグバンテスト」などの手法もある。
呼称
企業や現場によって様々な呼称が用いられるが、「結合テスト」あるいは「統合テスト」と呼ばれることが多く、略号は「IT」(Integration Testing)を用いることが多い。モジュール間の通信に特化したテストを連結テストと呼ぶ場合があるなど、同じ呼称が組織や分野によって微妙に異なる内容を指す場合もある。
英語では “intergration testing” (インテグレーションテスト)あるいは “interface testing” (インターフェーステスト)と呼ぶのが一般的で、「JT」(Join Testing)、「CT」(Combined Testing)、「LT」(Link Testing)などの英略語は和製英語とされる。