スタブ
呼び出す側(上位)のモジュールを検査する場合に、呼び出される側(下位)の部品モジュールが未完成であることがある。このとき、呼び出される側の部品モジュールの代用とする仮のモジュールを、「スタブ」と呼ぶ。スタブモジュールは設計仕様に定義されている全ての関数を実装してあるが、関数内部は正規の動作をせず、定数を返すだけという作りになっていることが多い。下位モジュールの関数の戻り値によって、上位モジュールの動作が分岐する場合は、その分岐パターンを満たすための最低限のいくつかの定数を返す、複数のスタブを作る場合もある。あるいは(その関数が引数をとる場合は)与えられる引数によって(正規の処理とは関係ない、最低限の分岐処理だけを実装し)、それらの値を返すスタブを作ることもある。
たとえば複数人でプログラミングをするときなどでは、初めはモジュールごとにプログラムを作成し、後で各モジュールを結合(リンク)して、全体としてうまく動作するかどうかをテストする。
スタブ(stub)とは、コンピュータプログラムのモジュールをテストする際、そのモジュールが呼び出す下位モジュールの代わりに用いる代用品のこと。下位モジュールが未完成でも代わりにスタブを用いることでテストが可能になる。逆に上位モジュールの代わりに用いる代用品をドライバ(ソフトウェアの場合)またはコントローラ(ハードウェアの場合)と呼ぶ。ただし、仮のモジュールではなく正規のモジュールについてもドライバまたはコントローラと呼ばれることがあるので、区別するために「テストドライバ」や「サンプルドライバ」などと呼ぶことも多い。
なお、stubの原義は使い残し、半券、切り株といった意味である。