更新 : 2007 年 11 月
さまざまなロード モデリング オプションを使用して、ロード テストの対象となる Web サイトまたはアプリケーションの実際の使用状況をより正確に予測します。正確なロード モデルに基づかないロード テストでは、誤解を招く結果が生じる可能性があるので、これを行うことが重要です。
Visual Studio Team System 2008 Test Edition では、正確なロード モデルをより簡単に作成できるように、以下のオプションがロード テスト機能に追加されました。
テスト ミックス モデルの強化。
[テスト イテレーション] プロパティ。
初期化テストと終了テスト。
テスト ミックス モデルの強化
ロード テスト エディタまたはテスト ミックス モデル ウィザードを使用して、ロード テスト シナリオで以下の種類のテスト ミックスを指定できます。
開始されるテストの数に基づくテスト ミックスの割合。詳細については、「開始されるテストに基づく割合」を参照してください。
テストを開始する仮想ユーザーの数に基づくテスト ミックスの割合。詳細については、「仮想ユーザーに基づく割合」を参照してください。
ユーザーのペースに基づく割合。詳細については、「テスト ミックスのペース配分」を参照してください。
メモ :
テスト ミックスの割合と仮想ユーザーに基づく割合の選択基準は何でしょうか。この 2 つの選択肢の違いは、テスト ミックス内に他のテストと比較して継続時間が長いテストが含まれている場合に重要です。このような状況の場合は仮想ユーザーに基づく割合を選択してください。この選択は、多数のユーザーが長時間継続するテストを実行する可能性が高いテストの実行を回避するために有用です。ただし、すべてのテストの継続時間がほぼ同じ場合は、テスト ミックスの割合を選択しても問題はありません。
開始されるテストに基づく割合
ミックス内のテストごとに、次回のテスト実行時にそのテストが選択される頻度を決定する割合を指定できます。たとえば、3 種類のテストに対して次の割合を割り当てることができます。
TestA (50%)
TestB (35%)
TestC (15%)
この設定を使用すると、次回のテストは、割り当てられた割合に基づいて開始されます。ここでは、現在各テストを実行中の仮想ユーザーの数は考慮されません。
仮想ユーザーに基づく割合
このテスト ミックス モデルは、特定のテストを実行する仮想ユーザーの割合を決定します。このテスト ミックス モデルを使用すると、次回のテストは、割り当てられた割合だけではなく、特定のテストを現在実行中の仮想ユーザーの割合も考慮して開始されます。ロード テストのどの時点でも、特定のテストを実行中のユーザーの数は、割り当てられた配分に可能な限り近づけられます。
テスト ミックスのペース配分
テスト ミックスのペース配分を指定する場合は、テスト ミックス内のテストごとに各仮想ユーザーが実行するテストの実行のレートを設定します。このレートは、各テストで、1 人の仮想ユーザーが 1 時間に実行するテストの実行として表されます。たとえば、次のテスト ミックスのペース配分を各テストに割り当てることができます。
TestA : 各ユーザーが 1 時間に 4 回テスト
TestB : 各ユーザーが 1 時間に 2 回テスト
TestC : 各ユーザーが 1 時間に 0.125 回テスト
テスト ミックスのペース配分モデルを使用した場合は、ロード テスト ランタイム エンジンが、実際に開始されるテストのレートが指定されたレート以下になることを保証します。割り当てられた数のテストの実行が完了するまでに時間がかかりすぎる場合は、エラーが返されます。
テスト ミックスのペース配分を使用する場合、[テスト サイクル間の待ち時間] 設定は適用されません。したがって、シナリオのプロパティとしては表示されません。むしろ、これはテスト ミックスの割合のプロパティです。
[テスト イテレーション] プロパティ
実行設定プロパティの中で、[テスト イテレーション] プロパティの値を指定できます。この値は、1 回のロード テストで実行されるテストの反復回数です。指定された回数のテスト イテレーションが開始されると、ロード プロファイルの設定にかかわらず、他のテスト イテレーションは開始されません。指定された回数のテスト イテレーションが完了すると、ロード テストが終了します。
初期化テストと終了テスト
各仮想ユーザーのロード テスト セッションの始まりと終わりに実行するテストを選択できます。これを行うには、[テスト ミックス] コンテナを右クリックし、[テスト ミックスの編集] をクリックして、[テスト ミックスの編集] ダイアログ ボックスを表示します。次に、[初期化および終了テスト] でテストを指定します。
初期化テスト。このテストは、テスト ミックス内のいずれかのテストが実行される前に、各仮想ユーザーによって実行されます。
終了テスト。このテストは、特定の仮想ユーザーのすべてのテストが実行された後で実行されます。
初期化テストと終了テストには次の注意点があります。
ロード テストの継続時間を、反復回数ではなく、時間で指定できます。この場合、ロード テストの実行の継続時間が完了すると、終了テストは実行されません。
初期化テストが単体テストまたは Web テストの場合は、初期化テストの完了後の TestContext オブジェクトまたは WebTestContext オブジェクトの状態が保存されます。これは、テスト ミックス内のテスト イテレーションのための開始コンテキストとして使用されます。
シナリオ プロパティである [新しいユーザーのパーセンテージ] に定義された新しいユーザーは、初期化テスト、テスト ミックス内のテスト (1 回)、および終了テストを常に実行します。