テストダブル

テストダブル () とは、ソフトウェアテストにおいて、テスト対象が依存しているコンポーネントを置き換える代用品のこと。ダブルは代役、影武者を意味する。
テストを実行するには、被試験システムに加えて、テスト対象が依存するコンポーネント (DOC; ) が必要になる。しかし、依存コンポーネントは、常に利用できるとは限らない。依存コンポーネントがテスト環境で利用できない理由には、次のようなものが挙げられる。
こういった問題を回避するには、依存コンポーネントを、テスト用のコンポーネントと入れ替えるテクニックが利用できる。この代用のコンポーネントを、テストダブルと呼ぶ。
テストダブルのパターン.
ジェラルド・メサローシュは、テストダブルのパターンとして、次の5つを挙げている。
モックオブジェクトやテストスパイは、テストスタブの機能を含む。
テストダブルにオープン標準は存在しないが、これらの用語を一貫して使用する機運がある。マーティン・ファウラーは、メサローシュの本に言及した「"Mocks Aren't Stubs"」という記事で、これらの用語を使っている。また、マイクロソフトは「"Exploring The Continuum Of Test Doubles"」と題する記事で、これらの用語と定義を使っている。