最終更新日:2026年7月25日
fe fe-technology programming
まず結論
ボトムアップテストとは、下位モジュールから上位モジュールへ、順に結合しながら確認する結合テストです。
基本情報技術者試験では、ボトムアップテストは 下から上へ結合するので、ドライバが必要 と覚えると判断しやすいです。
反対に、トップダウンテストでは スタブが必要 になります。
ボトムアップテスト:下から上へ。ドライバが必要
トップダウンテスト:上から下へ。スタブが必要
直感的な説明
ボトムアップテストは、部品から順に組み上げていくイメージです。
例えば、システムが次のような構造だとします。
上位モジュール
↓
中位モジュール
↓
下位モジュール
ボトムアップテストでは、まず下位モジュールを確認します。
その後、中位モジュール、上位モジュールへと、少しずつ結合していきます。
下位モジュール
↓
中位モジュールと結合
↓
上位モジュールと結合
ただし、下位モジュールを単独で動かすには、上位モジュールの代わりに呼び出してくれるテスト用プログラムが必要です。
このテスト用プログラムを ドライバ と呼びます。
定義・仕組み
ボトムアップテストは、モジュール構成の下位モジュールから順に結合していくテスト方法です。
主に、結合テストの進め方として出題されます。
| 用語 | 意味 |
|---|---|
| モジュール | プログラムを構成する部品 |
| 下位モジュール | 上位モジュールから呼び出される部品 |
| 上位モジュール | 下位モジュールを呼び出す側 |
| ドライバ | 未完成の上位モジュールの代わりに、下位モジュールを呼び出すテスト用プログラム |
| スタブ | 未完成の下位モジュールの代わりになる仮のプログラム |
ボトムアップテストでは、下位モジュールからテストを始めます。
しかし、下位モジュールは本来、上位モジュールから呼び出されるものです。
そのため、上位モジュールがまだ未完成の場合、下位モジュールを呼び出すための ドライバ が必要になります。
このテーマは、基本情報技術者試験の「ソフトウェア開発」や「テスト」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、ボトムアップテストの特徴や、ドライバとスタブの違いを問う問題で出題されやすいです。
判断するときは、次の表現に注目します。
| 問題文・選択肢の表現 | 判断 |
|---|---|
| 下位モジュールから上位モジュールへ結合する | ボトムアップテスト |
| ドライバが必要 | ボトムアップテスト |
| 上位モジュールから下位モジュールへ結合する | トップダウンテスト |
| スタブが必要 | トップダウンテスト |
| モジュール間のインタフェースを確認する | 結合テスト |
| 個々のモジュールを単独で確認する | 単体テスト |
代表的な選択肢は、次のように切り分けます。
| 選択肢の方向性 | 判断 |
|---|---|
| 開発初期は並行作業が困難 | ボトムアップの特徴としては弱い |
| スタブが必要 | トップダウンテスト寄り |
| テスト済みの上位モジュールが必要 | ボトムアップの説明としては不適切 |
| ドライバが必要 | ボトムアップテスト |
ボトムアップテストのキーワードは、下位から結合 と ドライバ です。
どんな場面で使う?
問題文では、モジュール構成図やテスト計画を読んで、どの順序でテストするかを判断する場面があります。
ボトムアップテストでは、次のように考えます。
下位モジュールを確認する
↓
下位モジュールを組み合わせる
↓
中位モジュールと結合する
↓
上位モジュールと結合する
もし、上位モジュールがまだ完成していない状態で下位モジュールをテストしたい場合は、ドライバを使います。
ドライバ
↓ 呼び出す
下位モジュール
つまり、ドライバは 下位モジュールを動かすための仮の呼び出し役 です。
問題文で「下位モジュールを先にテストする」「上位モジュールの代わりに呼び出す」とあれば、ボトムアップテストやドライバを疑います。
よくある誤解・混同
ボトムアップテストでよくある誤解は、スタブとドライバを逆に覚えてしまうこと です。
| 誤解 | 正しい理解 |
|---|---|
| ボトムアップテストではスタブを使う | ボトムアップテストではドライバを使う |
| トップダウンテストではドライバを使う | トップダウンテストではスタブを使う |
| ドライバは下位モジュールの代わり | ドライバは上位モジュールの代わりに下位を呼び出す |
| スタブは上位モジュールの代わり | スタブは下位モジュールの代わりに呼ばれる |
| ボトムアップテストは単体テストのこと | ボトムアップは結合テストの進め方 |
トップダウンテストとの違いは、次の表で押さえると楽です。
| テスト | 進め方 | 必要になりやすいもの |
|---|---|---|
| ボトムアップテスト | 下位から上位へ | ドライバ |
| トップダウンテスト | 上位から下位へ | スタブ |
覚え方は、次のようにするとシンプルです。
下を動かすには、上から呼ぶ役が必要
→ ドライバ
上を動かすには、下の仮部品が必要
→ スタブ
まとめ(試験直前用)
- ボトムアップテストは、下位モジュールから上位モジュールへ結合して確認する
- ボトムアップテストでは、ドライバが必要になりやすい
- ドライバは、上位モジュールの代わりに下位モジュールを呼び出す
- トップダウンテストは、上位から下位へ進める
- トップダウンテストでは、スタブが必要になりやすい
- 「下から上ならドライバ、上から下ならスタブ」で切り分ける