テストダブル(スタブ・ドライバ・モック)とは?てすとだぶる
テストダブル(スタブ・ドライバ・モック)とは、まだ存在しない相手や、思いどおりに動かせない相手の代わりに置いて、テスト対象を単独で動かすための部品の総称。呼ばれる側(下位モジュール)の代役として決まった値を返すのがスタブ、呼ぶ側(上位モジュール)の代役としてテスト対象を起動するのがドライバである。モックだけは値を返すことが目的ではなく、何回どんな引数で呼ばれたかという呼ばれ方そのものを検証する。
最終更新:2026-10-06
ITストラテジストを最短で暗記・合格する →背景
システムは部品がすべてそろって初めて動くが、開発は部品ごとに進むため、完成を待ってからでないと試験できないとすると欠陥の発見が最後に集中する。代役を置いて先に試験できるようにすれば、欠陥は作った直後に見つかり手戻りの費用が小さくなる。外部サービス連携のように相手側の障害を再現できない条件も、代役なら意図的に作れる。開発計画で試験用の部品が工数として計上されるのはこのためである。
具体例
決済サービスのAPIを呼ぶ処理では、成功・与信否認・タイムアウトを返すスタブに差し替えれば、本番では再現しにくい異常系まで確実に試せる。JavaのJUnitとMockito、HTTP通信を模すWireMockのように、代役を用意する道具は標準的に整っている。
試験での引っ掛け
スタブとドライバの向きの取り違えが頻出で、下位の代役がスタブ、上位の代役がドライバ。トップダウン結合テストではスタブ、ボトムアップではドライバが必要になる。またモックを使いすぎると内部の呼出し手順にテストが縛られ、実装を整理するたびにテストが壊れる副作用がある。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。