|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ブル : [ぶる] 【名詞】 1. bull 2. (n) bull
テストダブル () とは、ソフトウェアテストにおいて、テスト対象が依存しているコンポーネントを置き換える代用品のこと。ダブルは代役、影武者を意味する。 テストを実行するには、テスト対象のシステム (SUT; ) に加えて、テスト対象が依存するコンポーネント (DOC; ) が必要になる。しかし、依存コンポーネントは、常に利用できるとは限らない。依存コンポーネントがテスト環境で利用できない理由には、次のようなものが挙げられる〔。 * 入手できない。 * テストで使いたい結果を返さない。 * 実行に時間がかかるなどの、望ましくない副作用がある。 こういった問題を回避するには、依存コンポーネントを、テスト用のコンポーネントと入れ替えるテクニックが利用できる。この代用のコンポーネントを、テストダブルと呼ぶ。 == テストダブルのパターン == ジェラルド・メサローシュは、テストダブルのパターンとして、次の5つを挙げている。 * テストスタブ (テスト対象に「間接的な入力」を提供するために使う。) * テストスパイ (テスト対象からの「間接的な出力」を検証するために使う。出力を記録しておくことで、テストコードの実行後に、値を取り出して検証できる。) * モックオブジェクト (テスト対象からの「間接的な出力」を検証するために使う。テストコードの実行前に、あらかじめ期待する結果を設定しておく。検証はオブジェクト内部で行われる。) * フェイクオブジェクト (実際のオブジェクトに近い働きをするが、より単純な実装を使う。例として、実際のデータベースを置き換えるインメモリデータベースが挙げられる。) * ダミーオブジェクト (テスト対象のメソッドがパラメータを必要としているが、そのパラメータが利用されない場合に渡すオブジェクト。) モックオブジェクトやテストスパイは、テストスタブの機能を含む。 テストダブルにオープン標準は存在しないが、これらの用語を一貫して使用する機運がある。マーティン・ファウラーは、メサローシュの本に言及した「''Mocks Aren't Stubs''」という記事で、これらの用語を使っている。また、マイクロソフトは「''Exploring The Continuum Of Test Doubles''」と題する記事で、これらの用語と定義を使っている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「テストダブル」の詳細全文を読む スポンサード リンク
|