スタブとは?すたぶ
スタブは、結合テストで、テストしたい部品(モジュール)から呼び出される下位のモジュールがまだ完成していないとき、その代わりに置く仮の部品である。呼び出されると、あらかじめ決めた値を返すだけの簡単な作りにする。上位のモジュールから順に組み上げて確かめるトップダウンテストで使う。反対に、下位から組み上げるボトムアップテストで、まだ無い上位の代わりにテスト対象を呼び出す仮の部品はドライバという。
最終更新:2026-10-10
この語が出る過去問を解く →背景
大きなプログラムは多くの部品に分けて、複数の人が並行して作る。ある部品をテストしたくても、それが呼び出す別の部品が未完成だと動かせず、全部がそろうまで待つことになる。完成していない部品の「ふり」をする仮の部品を置けば、先にできた部分から順にテストを進められるため、スタブが使われるようになった。
具体例
内定者研修のチーム開発で、ネット通販の注文画面を作る担当が先に完成したが、カード決済を行う下位の部品はまだできていない。そこで、呼ばれると何も確かめずに必ず「決済成功」を返すだけのスタブを置き、注文画面から決済を呼んで「ご注文ありがとうございました」の画面へ進む流れを先にテストする。決済の部品が完成したら、スタブを本物に差し替えて同じテストをやり直す。
試験での引っ掛け
スタブとドライバの向きを逆にした選択肢が定番である。スタブは「呼び出される側(下位)の代役」でトップダウンテストで使い、ドライバは「呼び出す側(上位)の代役」でボトムアップテストで使う。また、テスト用のドライバと、OSが周辺機器を動かすためのデバイスドライバは別物である。「バスタブ曲線」は機器の故障率の時間変化を表す曲線で、スタブとは関係がない。
関連用語
出た過去問
出典:平成28年度 秋期 基本情報技術者試験 午前 問49(IPA)
階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか…
正解:スタブ
要点:トップダウンは下位の代わりにスタブ、ボトムアップはドライバ
上位のモジュールから順に結合していくトップダウンテストでは、まだ完成していない下位モジュールの代わりに、呼び出されると決められた値を返すだけの簡易モジュールを用意する。これをスタブと呼ぶ。逆にボトムアップテストで上位モジュールの代わりを務めるのがドライバである。
出典:令和6年度 公開問題 基本情報技術者試験 科目A 問11(IPA)
階層構造のモジュール群から成るソフトウェアの結合テストを、上位のモジュールから行う。この場合に使用する、下位のモジュールの代替となるテスト用のモジュールはどれか…
正解:スタブ
要点:上位から試すときの下位の代役がスタブ、逆がドライバ
トップダウンで結合テストを進める場合、まだ完成していない下位モジュールの代わりに、呼び出されると決まった値を返す簡易モジュールを用意する。これがスタブである。逆にボトムアップで上位の代わりに使うものはドライバと呼ばれ、向きが対になっている。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。