【てすとどらいば】
テストドライバ とは?
最終更新:
💡 テスト対象を、呼び出して試す代役
テスト対象を呼び出して制御する、呼び出し元の代役。スタブとの違いや、テスト実行ツールとテストコードの関係を説明します。
📌 このページのポイント
- テスト対象を呼び出し・制御する役割
- 本来の呼び出し元がなくても対象を試せる
- スタブは対象が呼び出す相手の代役
- 実行ツールと対象を呼ぶテストコードは区別
テストドライバは、何を運転するの?
試したいソフトウェアを呼び出して制御する代役だよ。本来の呼び出し元がまだなくても、対象へ入力を渡して試せるんだ。
例えば計算する関数なら?
テスト用のコードから関数を呼び、値を渡して結果を確かめる例が考えられる。ドライバという言葉は、特定の製品名ではなく、対象を動かす側の役割を表しているよ。
スタブも、同じ代役?
pytestがあれば、自分で呼ばなくてよい?
pytestはテスト関数を見つけて実行するけれど、対象の関数をどう呼ぶか、何を確かめるかはテストコードにも書くよ。実行ツールがあることと、対象を呼ぶ役割がなくなることは別なんだ。
ドライバを作れば、テストは全部終わる?
呼び出せるだけでは、結果が正しいかまでは分からないよ。入力や期待する結果、どこまで実物を使うかも考える。単体を試す代役と、本来の組み合わせを試すことも区別しよう。
もっと詳しく知りたい人へ
デバイスドライバやテスト駆動開発と同じ?
デバイスドライバはOSから機器を扱うソフトウェア、テスト駆動開発は開発の進め方です。ここでのドライバは、テスト対象を呼び出す側の役割です。
ドライバとスタブは、必ず両方必要?
テストする範囲と、利用できる実際の部品によります。図は両方を使う説明用の例で、すべてのテストに同じ構成が必要という意味ではありません。
まとめ:ざっくりこれだけ覚えればOK!
「テストドライバ」って出てきたら「テスト対象を呼び出して、試すための代役」と思えばだいたいOK!
📖 おまけ:英語の意味
「Test Driver」 = テストを駆動するもの
💬 ここではソフトウェアのテストで、対象を呼び出し・制御する役割のことです。機器のドライバとは区別します。