単体テストとは?たんたいてすと
単体テストとは、モジュールを1つだけ取り出して、その中の処理が仕様どおりに動くかを確かめるテスト。呼び出す先がまだ出来ていないときは決まった値を返す代役のスタブを、呼び出す元がまだ出来ていないときはテスト用に呼び出しを行うドライバを用意し、足りない相手を埋めて動かす。
最終更新:2026-10-10
この語が出る過去問を解く →背景
すべてのモジュールが揃うまで待って一斉に動かすと、どこで間違えたのかの切り分けに時間がかかり、直したところも他の未完成部分に隠れて確認できない。代役を立てて1つずつ確かめておけば、不具合の原因は目の前のモジュールに絞られる。開発の順序も上から作るか下から作るかを選べるようになり、遅れている部分に全体が引きずられにくくなる。
具体例
Javaの単体テストで広く使われるJUnitでは、まだ完成していないデータベースアクセスの部分の代わりに、決め打ちの値を返すスタブを差し込み、上位の計算処理だけを先に検証する書き方が一般的である。
試験での引っ掛け
スタブは下位モジュール(呼び出される側)の代役、ドライバは上位モジュール(呼び出す側)の代役で、この対応を入れ替えた選択肢が定番。上から作るトップダウンテストでは足りない下位をスタブで、下から作るボトムアップテストでは上位をドライバで埋める、という組合せも合わせて問われる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:令和元年度 秋期 基本情報技術者試験 午前 問48(IPA)解説で登場
テストで使用するスタブ又はドライバの説明のうち、適切なものはどれか。
正解:ドライバは、引数を渡してテスト対象モジュールを呼び出す。
要点:ドライバは上位の代用で呼び出す側、スタブは下位の代用
単体テストでは、まだ完成していない周辺モジュールを仮のもので代用する。ドライバはテスト対象を呼び出す側の代用品で、引数を与えて対象を起動し結果を受け取る。スタブは逆に、テスト対象から呼び出される下位モジュールの代用品で、あらかじめ決めた値を返す。上位が未完成ならドライバ、下位が未完成ならスタブと覚えるとよい。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。