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