結合テスト(トップダウン・ボトムアップ)とは?けつごうてすと
結合テスト(トップダウン・ボトムアップ)とは、単体テストを終えたモジュールを組み合わせ、モジュール間のインタフェースやデータの受け渡しが仕様どおりかを確かめるテスト。上位から下位へ順に組み込むトップダウンでは、未完成の下位の代わりにスタブを置く。下位から上位へ順に組み込むボトムアップでは、呼び出し側の代わりにドライバを置く。
最終更新:2026-10-06
この語が出る過去問を解く →背景
部品が単体で正しくても、引数の単位、エラーの返し方、呼び出しの順序の食い違いは、繋いで初めて表面化する。一方で全部そろってから一度に繋ぐと、異常がどのモジュール由来か切り分けられない。少しずつ繋いで原因の範囲を狭めるための順序づけが、トップダウンとボトムアップである。外部連携部分の欠陥はこの段階でしか見つからないことが多い。
具体例
外部の決済サービスと繋ぐ部分は相手の検証環境が空くまで待てないため、応答を模擬するスタブで自社側の分岐を先に確認する。WireMockやPostmanのモックサーバのように、定義した応答を返すだけの代役を用意する道具が実在し、タイムアウトや異常応答の経路まで再現して試せる。
試験での引っ掛け
代役の名前を入れ替えた選択肢が定番で、呼ばれる側(下位)の代役がスタブ、呼ぶ側(上位)の代役がドライバ。トップダウンにはスタブ、ボトムアップにはドライバが要る、と一組で紐づける。長短を入れ替える出題もあり、トップダウンは全体の流れを早期に確認できる反面、下位モジュールの欠陥の発見が遅れる。
関連用語
出た過去問
出典:平成28年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22(IPA)
システム開発で行うテストについて,テスト要求事項を定義するアクティビティと対応するテストの組合せのうち,適切なものはどれか。
正解:システム方式設計:システム結合テスト / ソフトウェア方式設計:ソフトウェア結合テスト / ソフトウェア詳細設計:ソフトウェアユニットテスト
要点:V字モデルでは設計と同じ粒度のテストが対応する
共通フレームでは、各設計アクティビティでその粒度に対応するテストの要求事項を定義します。システム方式設計にはシステム結合テスト、ソフトウェア方式設計にはソフトウェア結合テスト、ソフトウェア詳細設計にはソフトウェアユニットテストが対応し、V字モデルの左右が対称に対応します。
出典:令和7年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22(IPA)
図のような階層構造で設計された組込みシステムがある。このシステムの開発プロジェクトにおいて,デバイスドライバ層の単体テスト工程が未終了で,アプリケーション層及び…
正解:トップダウンテスト
要点:下位が未完成なら上位から結合しスタブで代替する
上位のアプリケーション層とミドルウェア層の単体テストが済み、下位のデバイスドライバ層が未完了という状況では、上位から順に結合していくトップダウンテストが適する。未完成の下位モジュールは、決められた値を返すスタブで代替すればよい。逆に下位から積み上げるボトムアップテストでは、まさに未完成の層が起点となるため実施できない。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。