読み方 : けつごうテスト

結合テスト 【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)などの英略語は和製英語とされる。

(2023.10.12更新)

他の用語辞典による「結合テスト」の解説 (外部サイト)

資格試験などの「結合テスト」の出題履歴

▼ ITパスポート試験
令5 問42】 ソフトウェア開発における、テストに関する記述 a〜c とテスト工程の適切な組合せはどれか。a 運用予定時間内に処理が終了することを確認する。
平23秋 問37】 インタフェースを一つだけもつモジュールが6個ある。これらのモジュールが相互に結合できるかを試験したい。1組のモジュールの結合テストに4時間を要するとき、全ての組合せのテストに合計何時間掛かるか。
平23秋 問41】 ソフトウェア開発プロセスにおける結合テストの実施内容として、適切なものはどれか。
平23春 問36】 テスト担当者がソフトウェア結合テストを実施したところ、実行結果がテスト仕様書の記述と異なっていた。テスト担当者の対応として、適切なものはどれか。
平23春 問50】 システム開発の結合テスト段階において、開発済の機能に追加や修正が必要となり、データベースの構成も変更することになった。プロジェクトマネージャの対応に関する記述 a~d のうち、適切なものだけをすべて挙げたものはどれか。
平22秋 問48】 システム開発プロセスを要件定義、外部設計、内部設計、プログラミングに分け、テストの種類を運用テスト、結合テスト、システムテスト、単体テストに分けたとき、図の a~c に入れる字句の適切な組合せはどれか。
平22春 問34】 ソフトウェア結合テストに関して説明したものはどれか。
平22春 問40】 表計算ソフトを利用して、次の3種類のワークシートを作成した。それぞれのワークシートをプログラムと考えるとき、これらのワークシートの動作を確認するテストのうち、結合テストに相当するものはどれか。

▼ 基本情報技術者試験
令7修1 問37】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
令6修12 問38】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
令6公 問11】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
令6修1 問37】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
令4修1 問48】 結合テストで用いられるスタブの役割はどれか。
令3修6 問47】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
令1修7 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平30修7 問48】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
平29修12 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平28修12 問48】 トップダウン方式で結合テストを行う場合に,特に必要となるものはどれか。
平28秋 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平27修7 問49】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
平26修12 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平26修1 問52】 結合テストで用いられるスタブの役割はどれか。
平25秋 問50】 トップダウン方式で結合テストを行うとき,特に必要となるものはどれか。
平25修7 問51】 モジュール間やサブシステム間のインタフェースを検証するために行うテストはどれか。
平24春 問47】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平23修6 問49】 結合テストで用いられるスタブの役割はどれか。
平21修12 問51】 システム開発におけるテストでは,小さな単位から大きな単位へ,テストを積み上げていく方法が採られることが多い。このとき,テストの適切な実施順序はどれか。