スタブ 【stub】

スタブとは、切り株、半券、(何かが減ったり短くなった)残り、などの意味を持つ英単語。ITの分野では、本物が用意できないときに動作に支障が無いようにとりあえず置いておく代用品という意味で用いられることが多い。
スタブのイメージ画像

ソフトウェアテストで、あるモジュール(部品)の動作をテストする際、呼び出し先の下位モジュールの代わりをする空のモジュールのことをスタブという。下位モジュールが未完成なうちに上位モジュールのテストをしたい場合に用意される。これとは逆に、下位モジュールを呼び出すだけの機能を持った上位モジュールの代用品は「ドライバ」(テストドライバ)という。

スタブは本物の下位モジュールと同じ名称や引数、返り値の型などを持ち、上位モジュールから同じコードで呼び出される。内部は空で何も処理を行わないが、本物と同じような値を返さなければならない場合には、想定される返り値の一つをあらかじめ算出しておき、これを定数として機械的に返却するといった処理を行うことが多い。

また、分散システムなどで、ローカル側でメソッド呼び出しなどを受け付けるオブジェクトなどのことをスタブということがある。自身は処理そのものは行わずリモート側への仲介を行う機能のみを持つ。スタブ自体はローカルであるため、呼び出し元は通信の詳細を意識せずローカル呼び出しのみを用いてコードを記述することができる。

(2018.6.22更新)

他の用語辞典による「スタブ」の解説 (外部サイト)

資格試験などの「スタブ」の出題履歴

▼ 基本情報技術者試験
令7修1 問37】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
令6修12 問38】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
令6公 問11】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
令6修1 問37】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
令4修7 問49】 テストで使用するスタブ又はドライバの説明のうち,適切なものはどれか。
令4修1 問48】 結合テストで用いられるスタブの役割はどれか。
令3修6 問47】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
令2修12 問48】 テストで使用するスタブ又はドライバの説明のうち,適切なものはどれか。
令2修7 問48】 スタブを使用したテストの説明として,適切なものはどれか。
令1秋 問48】 テストで使用するスタブ又はドライバの説明のうち,適切なものはどれか。
令1修7 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平30修12 問49】 スタブを使用したテストの説明として,適切なものはどれか。
平30修7 問48】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
平29修12 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平28修12 問48】 トップダウン方式で結合テストを行う場合に,特に必要となるものはどれか。
平28秋 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平28修6 問49】 スタブを使用したテストの説明として,適切なものはどれか。
平27修7 問49】 トップダウン方式で結合テストを行う場合に,必要となるものはどれか。
平26修12 問49】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平26修1 問52】 結合テストで用いられるスタブの役割はどれか。
平25秋 問50】 トップダウン方式で結合テストを行うとき,特に必要となるものはどれか。
平25春 問47】 スタブを使用したテストの説明として,適切なものはどれか。
平24修6 問50】 テストで使用されるドライバ又はスタブの機能のうち,適切なものはどれか。
平24春 問47】 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
平24修1 問49】 テスト工程におけるスタブの利用方法に関する記述として,適切なものはどれか。
平23修6 問49】 結合テストで用いられるスタブの役割はどれか。