テストダブルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > テストダブルの意味・解説 

テストダブル

(Test double から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/25 00:41 UTC 版)

ナビゲーションに移動 検索に移動

テストダブル (Test Double) とは、ソフトウェアテストにおいて、テスト対象が依存しているコンポーネントを置き換える代用品のこと。ダブルは代役、影武者を意味する。

テストを実行するには、被試験システムに加えて、テスト対象が依存するコンポーネント (DOC; Depend-On Component) が必要になる。しかし、依存コンポーネントは、常に利用できるとは限らない。依存コンポーネントがテスト環境で利用できない理由には、次のようなものが挙げられる[1]

  • 入手できない。
  • テストで使いたい結果を返さない。
  • 実行に時間がかかるなどの、望ましくない副作用がある。

こういった問題を回避するには、依存コンポーネントを、テスト用のコンポーネントと入れ替えるテクニックが利用できる。この代用のコンポーネントを、テストダブルと呼ぶ。

テストダブルのパターン

ジェラルド・メサローシュは、テストダブルのパターンとして、次の5つを挙げている[1][2]

  • テストスタブ (テスト対象に「間接的な入力」を提供するために使う。)
  • テストスパイ (テスト対象からの「間接的な出力」を検証するために使う。出力を記録しておくことで、テストコードの実行後に、値を取り出して検証できる。)
  • モックオブジェクト (テスト対象からの「間接的な出力」を検証するために使う。テストコードの実行前に、あらかじめ期待する結果を設定しておく。検証はオブジェクト内部で行われる。)
  • フェイクオブジェクト (実際のオブジェクトに近い働きをするが、より単純な実装を使う。例として、実際のデータベースを置き換えるインメモリデータベースが挙げられる。)
  • ダミーオブジェクト (テスト対象のメソッドがパラメータを必要としているが、そのパラメータが利用されない場合に渡すオブジェクト。)

モックオブジェクトやテストスパイは、テストスタブの機能を含む。

テストダブルにオープン標準は存在しないが、これらの用語を一貫して使用する機運がある。マーティン・ファウラーは、メサローシュの本に言及した「Mocks Aren't Stubs[3]」という記事で、これらの用語を使っている。また、マイクロソフトは「Exploring The Continuum Of Test Doubles[4]」と題する記事で、これらの用語と定義を使っている。

脚注

[脚注の使い方]
  1. ^ a b Meszaros, Gerard. “Test Double”. 2012年8月19日閲覧。
  2. ^ Meszaros, Gerard (2007). xUnit Test Patterns: Refactoring Test Code. Addison-Wesley. ISBN 978-0-13-149505-0 
  3. ^ Fowler, Martin (2007年). “Mocks Aren't Stubs”. 2012年8月19日閲覧。
  4. ^ Seemann, Mark (2007年). “Exploring The Continuum Of Test Doubles”. 2012年8月19日閲覧。

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「テストダブル」の関連用語

テストダブルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



テストダブルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのテストダブル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS