Skip to the content.

最終更新日:2026年7月25日

まず結論

トップダウンテストとは、上位モジュールから下位モジュールへ、順に結合しながら確認する結合テストです。

基本情報技術者試験では、トップダウンテストは 上から下へ結合するので、スタブが必要 と覚えると判断しやすいです。

反対に、ボトムアップテストでは ドライバが必要 になります。

トップダウンテスト:上から下へ。スタブが必要
ボトムアップテスト:下から上へ。ドライバが必要

直感的な説明

トップダウンテストは、システムの大きな流れから確認していくイメージです。

例えば、システムが次のような構造だとします。

上位モジュール
  ↓
中位モジュール
  ↓
下位モジュール

トップダウンテストでは、まず上位モジュールを確認します。

その後、中位モジュール、下位モジュールへと、少しずつ結合していきます。

上位モジュール
↓
中位モジュールと結合
↓
下位モジュールと結合

ただし、上位モジュールを先に動かすと、まだ完成していない下位モジュールを呼び出す場面があります。

このとき、未完成の下位モジュールの代わりになる仮のプログラムを スタブ と呼びます。

定義・仕組み

トップダウンテストは、モジュール構成の上位モジュールから順に結合していくテスト方法です。

主に、結合テストの進め方として出題されます。

用語 意味
モジュール プログラムを構成する部品
上位モジュール 下位モジュールを呼び出す側
下位モジュール 上位モジュールから呼び出される部品
スタブ 未完成の下位モジュールの代わりになる仮のプログラム
ドライバ 未完成の上位モジュールの代わりに、下位モジュールを呼び出すテスト用プログラム

トップダウンテストでは、上位モジュールからテストを始めます。

しかし、上位モジュールは本来、下位モジュールを呼び出しながら動きます。

そのため、下位モジュールがまだ未完成の場合、代わりに呼び出される スタブ が必要になります。

このテーマは、基本情報技術者試験の「ソフトウェア開発」や「テスト」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、トップダウンテストの特徴や、スタブとドライバの違いを問う問題で出題されやすいです。

判断するときは、次の表現に注目します。

問題文・選択肢の表現 判断
上位モジュールから下位モジュールへ結合する トップダウンテスト
スタブが必要 トップダウンテスト
下位モジュールから上位モジュールへ結合する ボトムアップテスト
ドライバが必要 ボトムアップテスト
モジュール間のインタフェースを確認する 結合テスト
個々のモジュールを単独で確認する 単体テスト

選択肢で「スタブが必要」とあれば、トップダウンテストを疑います。

一方で、「ドライバが必要」とあれば、ボトムアップテストを疑います。

どんな場面で使う?

問題文では、モジュール構成図やテスト計画を読んで、どの順序でテストするかを判断する場面があります。

トップダウンテストでは、次のように考えます。

上位モジュールを確認する
↓
中位モジュールを結合する
↓
下位モジュールを結合する

もし、下位モジュールがまだ完成していない状態で上位モジュールをテストしたい場合は、スタブを使います。

上位モジュール
↓ 呼び出す
スタブ

つまり、スタブは 未完成の下位モジュールの代わりに呼ばれる仮部品 です。

問題文で「上位モジュールを先にテストする」「下位モジュールの代わりを用意する」とあれば、トップダウンテストやスタブを疑います。

よくある誤解・混同

トップダウンテストでよくある誤解は、スタブとドライバを逆に覚えてしまうこと です。

誤解 正しい理解
トップダウンテストではドライバを使う トップダウンテストではスタブを使う
ボトムアップテストではスタブを使う ボトムアップテストではドライバを使う
スタブは上位モジュールの代わり スタブは下位モジュールの代わりに呼ばれる
ドライバは下位モジュールの代わり ドライバは上位モジュールの代わりに下位を呼び出す
トップダウンテストは単体テストのこと トップダウンは結合テストの進め方

ボトムアップテストとの違いは、次の表で押さえると楽です。

テスト 進め方 必要になりやすいもの
トップダウンテスト 上位から下位へ スタブ
ボトムアップテスト 下位から上位へ ドライバ

覚え方は、次のようにするとシンプルです。

上を先に動かすには、下の仮部品が必要
→ スタブ

下を先に動かすには、上から呼ぶ役が必要
→ ドライバ

まとめ(試験直前用)

  • トップダウンテストは、上位モジュールから下位モジュールへ結合して確認する
  • トップダウンテストでは、スタブが必要になりやすい
  • スタブは、未完成の下位モジュールの代わりになる仮のプログラム
  • ボトムアップテストは、下位から上位へ進める
  • ボトムアップテストでは、ドライバが必要になりやすい
  • 「上から下ならスタブ、下から上ならドライバ」で切り分ける

© 2024-2026 stemtazoo. All rights reserved.