単体テスト(スタブ・ドライバ)とは?たんたいてすと
単体テスト(スタブ・ドライバ)とは、モジュールを1つ取り出し、その内部の動作が仕様どおりかを確かめるテスト。周囲が未完成のときは、呼び出し先の代わりに決まった値を返す疑似モジュール「スタブ」と、呼び出し元の代わりにモジュールを起動する「ドライバ」を用意して、単体だけを動かせる状態を作る。
最終更新:2026-10-06
この語が出る過去問を解く →背景
全部そろってから動かす進め方では、不具合が出たときに原因のモジュールを特定する作業が膨れ上がり、しかも欠陥が工程の終盤へ集中する。1つずつ切り離して確かめておけば、後の結合工程で疑う対象を接合部だけに絞れる。切り離すために足りない相手役を仮に作る、という発想の産物がスタブとドライバである。
具体例
在庫引当のモジュールを先に検証したいが呼び出す在庫アクセス部分が未完成という場面では、常に「在庫あり」を返すスタブを差し込む。逆にアクセス部分だけ先に固めたいなら、引数を並べて呼び出すドライバを書く。JUnitがドライバの、Mockitoがスタブの役割を担う道具にあたる。
試験での引っ掛け
スタブは呼び出し先(下位)の代わり、ドライバは呼び出し元(上位)の代わりという対応が頻出で、入れ替えた選択肢が定番になる。結合の向きとの対応も併せて出るため、トップダウンテストで主に使うのがスタブ、ボトムアップテストで主に使うのがドライバと一組にして覚える。単体テストが見るのは内部の論理で、インタフェースの検証は結合テストの役目である。
関連用語
出た過去問
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
エクストリームプログラミング(XP)のプラクティスとして、適切なものはどれか。
正解:単体テストを終えたプログラムは、すぐに結合して、結合テストを行う。
要点:XPは単体テスト後すぐ統合する継続的インテグレーション
XPは、単体テストを終えたコードをためこまずに直ちに全体へ統合し、結合した状態で動くことを頻繁に確かめる。これが継続的インテグレーションのプラクティスで、統合時の不具合を小さいうちに見つけられる。ほかにペアプログラミング、コードの共同所有、週40時間労働などが定められている。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの4 開発技術 > 3. 実装・構築 > (8) ソフトウェアユニットのテストに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。