結合テスト(トップダウン・ボトムアップ)とは?けつごうてすと
結合テスト(トップダウン・ボトムアップ)とは、単体テスト済みのモジュールを組み合わせ、モジュール間のインタフェースとデータの受渡しを検証するテスト。上位から結合するトップダウンは未完成の下位をスタブで代替し、下位から結合するボトムアップは呼び出し役の上位をドライバで代替する。
最終更新:2026-10-06
この語が出る過去問を解く →背景
モジュール単体が仕様どおりでも、引数の並び・単位・NULLの扱いといった境界の解釈がずれていれば、繋いだ瞬間に破綻する。とはいえ全部を一度に繋ぐビッグバン結合では、障害が出てもどの境界が原因か切り分けられない。段階的な結合は、この切り分け可能性を確保するための順序の工夫である。応用情報では「なぜその順序を選ぶか」を説明できることまで求められる。
具体例
画面から会計計算まで作る業務システムで、利用部門に早く操作感を確認してもらいたいならトップダウンで進め、未完成の計算部分は固定値を返すスタブで代替する。逆に計算エンジンを共通部品として先に固める案件では、ボトムアップでドライバから叩いて検証する。
試験での引っ掛け
スタブとドライバを逆にした選択肢が定番。上から始めるトップダウンが下位の代役スタブ、下から始めるボトムアップが上位の代役ドライバ。長短の向きも入れ替えて出される——トップダウンは主要機能を早く確認できる代わりに下位の欠陥発見が遅れ、ボトムアップはその逆になる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:令和4年度 秋期 応用情報技術者試験 午前 問53(IPA)
あるシステムの設計から結合テストまでの作業について、開発工程ごとの見積工数を表1に、開発工程ごとの上級技術者と初級技術者との要員割当てを表2に示す。上級技術者は…
正解:4
要点:生産性差のある要員は上級者換算に直して期間を計算する
現状は、設計6人月÷2人=3か月、プログラム作成・単体テストは初級2人が上級1人分に相当するため実質3人月/月で12÷3=4か月、結合テスト12÷2=6か月の計13か月です。上級を1人ずつ加えると、設計6÷3=2か月、プログラム作成・単体テスト12÷4=3か月、結合テスト12÷3=4か月の計9か月となり、13−9=4か月短縮できます。
出典:平成29年度 秋期 応用情報技術者試験 午前 問47(IPA)解説で登場
テストで使用されるスタブ又はドライバの説明のうち、適切なものはどれか。
正解:ドライバは、引数を渡してテスト対象モジュールを呼び出す。
要点:ドライバは上位から呼び出し、スタブは下位で呼び出される
ドライバはテスト対象モジュールの上位に置く仮のモジュールで、引数を与えてテスト対象を呼び出し、結果を受け取る。逆にスタブは下位に置く仮のモジュールで、テスト対象から呼び出されて所定の値を返す。ボトムアップテストではドライバを、トップダウンテストではスタブを用いる。
出典:平成30年度 春期 応用情報技術者試験 午前 問46(IPA)解説で登場
ソフトウェアライフサイクルプロセスにおいてソフトウェア実装プロセスを構成するプロセスのうち、次のタスクを実施するものはどれか。 〔タスク〕 ・ソフトウェア品目の…
正解:ソフトウェア方式設計プロセス
要点:方式設計は最上位レベル、詳細設計はその内部を作り込む
外部インタフェースやコンポーネント間インタフェース、データベースの最上位レベル(概略)の設計を行い、結合テストの要求事項を暫定的に定めるのは、ソフトウェア方式設計プロセスの作業である。ここで決めた枠組みを受けて、各コンポーネントの内部を作り込むのがソフトウェア詳細設計プロセスとなる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。