方法: 配布されたロード テストのテスト設定を作成する
このトピックの内容は、次の製品に該当します。
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
ロード テストのテストの設定を、テスト エージェントとテスト コントローラーを使用して複数のコンピューターにロード テストを分散できるように構成できます。 テストの設定では診断データ アダプターを使用するように構成することもできます。診断データ アダプターは、Visual Studio 2010 Ultimate からロード テストを実行する際に収集するデータの種類やテスト コンピューターに及ぼす影響を指定します。 たとえば、ASP.NET プロファイラーの診断データ アダプターを使用して、コードのパフォーマンスの分析結果を収集できます。 また、診断データ アダプターを使用して、テスト コンピューター上での潜在的なボトルネックをシミュレートしたり、使用可能なシステム メモリを減らしたりすることもできます。
Visual Studio のテストの設定はファイルに格納されます。 テストの設定では、次の内容を定義します。
テスト対象のアプリケーションに必要なロール セット
テストの実行に使用するロール
各ロールに使用する診断データ アダプター
テストを実行するときに、特定のテストの実行に必要な内容に応じて、アクティブなテストの設定として使用するテストの設定を選択します。 テストの設定ファイルはソリューションの一部として格納されます。 ファイルには .testsettings という拡張子が付いています。
テスト プロジェクトをソリューションに追加すると、2 つの既定のテストの設定が作成されます。 これらのテストの設定は、[ソリューション項目] フォルダーにあるソリューションに自動的に追加されます。 これらのテストの設定のいずれかが、テストを実行するときに必要な内容を提供する場合、アクティブにするテストの設定を選択することでそれらの設定を使用できます。
Local.testsettings: 診断データ アダプターを選択せずにローカルでテストを実行します。 これは、Visual Studio の既定のテスト設定です。
Traceandtestimpact.testsettings: すべてのモジュールとプロセスからデータを収集するように設定された次の診断データ アダプターを使用してテストをローカルで実行します。
IntelliTrace
テスト影響
システム情報
テスト コントローラーには、テストの設定の各ロールに使用できるエージェントが含まれます。 テスト コントローラーとテスト エージェントの詳細については、「テスト コンピューターでのテストの実行またはデータの収集の設定」および「テスト コントローラーおよびテスト エージェントの管理」を参照してください。
Visual Studio 2010 Ultimate から実行する予定のロード テストのテストの設定をソリューションで作成または削除するには、次の手順を実行します。
分散ロード テスト用のテスト設定の作成
分散ロード テスト用のテストの設定を追加するには
ソリューション エクスプローラーで、[ソリューション項目] を右クリックし、[追加] をポイントして、[新しい項目] をクリックします。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[インストールされたテンプレート] ペインで、[テストの設定] をクリックします。
(省略可能) [ファイル名] ボックスで、テストの設定ファイルの名前を変更します。
[追加] をクリックします。
ソリューション エクスプローラーで、[ソリューション項目] フォルダーの下に、新しいテストの設定ファイルが表示されます。
注意
Visual Studio 2010 Ultimate に表示されるテストの設定のリストは、[ソリューション項目] フォルダー内のテストの設定ファイルのリストから作成されます。 たとえば、[ソリューション項目] フォルダー内のテストの設定ファイルは、[テスト] メニューの [アクティブなテスト設定の選択] オプションを使用するときに表示されます。 つまり、テストの設定ファイルをソリューション階層構造内の別の場所に移動すると、Visual Studio 2010 Ultimate 統合開発環境ではテストの設定として使用できなくなります。
[テストの設定] ダイアログ ボックスが表示されます。 [全般] ページが選択されています。
このページで、テストの設定値を編集および保存できます。
注意
作成するそれぞれのテストの設定は、[テスト] メニューの [アクティブなテスト設定の選択] オプションおよび [テスト設定の編集] オプションに選択肢として一覧表示されます。
[名前] ボックスに、テストの設定の名前を入力します。
(省略可能) 他のチーム メンバーにテストの目的がわかるように、[説明] ボックスにテストの設定の説明を入力します。
(省略可能) テストの実行の既定の名前付け方法を選択するには、[既定の名前付けスキーム] をクリックします。 独自の名前付けスキームを定義するには、[ユーザー定義されたスキーム] をクリックし、[プレフィックス テキスト] にテキストを入力します。 テストの実行名に日付と時刻スタンプを追加するには、[日付タイム スタンプを追加する] をクリックします。
[ロール] をクリックします。
[ロール] ページが表示されます。
テストをリモートで実行する、またはテストをリモートで実行してデータをリモートで収集するには、[テストの実行メソッド] ドロップダウン リストで [リモート実行] をクリックします。
[コントローラー] ドロップダウン リストを使用して、テスト エージェントのテスト コントローラーを [コントローラー] から選択します。このコントローラーはテストの実行またはデータの収集に使用されます。
注意
初めてコントローラーを追加する場合、このボックスの一覧にコントローラーは表示されません。 一覧は、他のテストの設定で指定した前のコントローラーによって入力されます。 コントローラーの名前 (たとえば TestControllerMachine1) をボックスに入力する必要があります。
詳細については、「ロード テストのためのテスト コントローラーおよびテスト エージェントの構成」および「テスト コントローラーとテスト エージェントを使用したロード テスト」を参照してください。
テストの実行とデータの収集に使用するロールを追加するには、[ロール] で [追加] をクリックします。
[名前] 列にロールの名前を入力します。 たとえば、「Web サーバー」というロール名を入力します。
手順 12. と 13. を繰り返し、必要なロールをすべて追加します。
各ロールでは、テスト コントローラーによって管理されるテスト エージェントが使用されます。
テストを実行するロールを選択し、[テストを実行するロールとして設定] をクリックします。
重要
作成および定義するその他のロールはテストを実行しませんが、[データと診断] ページのロールに指定するデータと診断アダプターに応じて、データ収集のためのみに使用されます。
ロールに使用できるエージェントを制限するには、ロールを選択し、[選択されたロールのエージェント属性] にあるツール バーの [追加] をクリックします。
[エージェント選択規則] ダイアログ ボックスが表示されます。
[属性名] に名前、[属性値] に値を入力し、[OK] をクリックします。 必要な数だけ属性を追加します。
たとえば、"True" または "False" の値を持つ "RAM > 16 GB" という名前の属性を、メモリが 16 GB 以上のテスト エージェント コンピューターのフィルターに追加できます。 同じ属性を複数のテスト エージェントに適用するには、[テスト コントローラーの管理] ダイアログ ボックスを使用します。 詳細については、「テスト コントローラーおよびテスト エージェントの管理」を参照してください。
[データと診断] をクリックします。
[データと診断] ページが表示されます。
[データと診断] ページで、ロールがデータ収集に使用する診断データ アダプターを選択してロールの実行内容を定義します。 その結果、1 つ以上のデータおよび診断アダプターがロールに対して有効になっていると、テスト コントローラーは使用可能なテスト エージェント コンピューターを選択し、ロールに定義された属性に基づいて、指定されたデータおよび診断アダプターのデータを収集します。 各ロールで収集するデータおよび診断データ アダプターを選択するには、ロールを選択します。 各ロールについて、テストのニーズに応じて診断データ アダプターを選択します。 各ロールに対して選択した診断データ アダプターを構成するには、[構成] をクリックします。
次に、ロールと診断データ アダプターの例を示します。
たとえば、"Uses SQL" 属性を "True" に設定した "Desktop Client" という名前のクライアント ロールや、特定の属性を "RAM > 16 GB" に設定した "SQL Server" という名前のサーバー ロールを作成できます。 [ロール] ページの [テストを実行するロールとして設定] をクリックして "Desktop Client" がテストを実行するように指定すると、テスト コントローラーは、"Uses SQL" 属性が "True" に設定されているテスト エージェントがあるコンピューターを選択してテストを実行します。 また、ロールに含まれているデータおよび診断アダプターによって定義されるデータを収集するためだけに、属性 "RAM > 16 GB" を含んでいるテスト エージェントのある SQL Server コンピューターを選択することもあります。 このロールについてデータおよび診断アダプターも選択すると、"Desktop Client" テスト エージェントは、実行されるコンピューターのデータも収集できます。
各診断データ アダプターの詳細および構成方法については、次の表に示す関連トピックを参照してください。
診断データ アダプターの詳細については、「コンピューターの設定およびテストの設定を使用した診断情報の収集」を参照してください。
ロード テストの診断データ アダプター
診断データ アダプター
ロード テストでの使用
関連するトピック
IntelliTrace およびテストの影響用の ASP.NET クライアント プロキシ: このプロキシを使用すると、IntelliTrace 診断データ アダプターとテスト影響診断データ アダプターでクライアントから Web サーバーへの http 呼び出しに関する情報を収集できます。
テスト エージェント コンピューターのシステム情報を収集する必要がある場合を除き、このアダプターを含めないでください。
注意ロード テストでの IntelliTrace アダプターの使用はお勧めしません。大量のデータが収集されることで問題が発生する可能性があるためです。ロード テストを使用しても、テスト影響データは収集されません。
IntelliTrace: ログ ファイルに格納する具体的な診断トレース情報を構成できます。 ログ ファイルの拡張子は .tdlog です。 テストを実行し、テスト ステップが失敗した場合は、バグを作成できます。 診断トレースが格納されたログ ファイルは、このバグに自動的にアタッチされます。 ログ ファイルに収集されたデータによって、コードのエラーを再現して診断するために必要な時間が短縮され、この結果、デバッグの生産性が向上します。 このログ ファイルから、別のコンピューターでローカル セッションを再作成できます。 これにより、バグを再現できない危険性が減少します。
詳細については、「IntelliTrace を使用したデバッグ」を参照してください。
大量のデータが収集および記録されることで問題が発生する可能性があるため、ロード テストでの IntelliTrace アダプターの使用はお勧めしません。 IntelliTrace アダプターは、実行時間が短く、それほど多くのテスト エージェントを使用しないロード テストでのみ使用してください。
ASP.NET プロファイラー: ASP.NET Web アプリケーションのパフォーマンス データを収集する ASP.NET プロファイリングを含むテストの設定を作成できます。
ASP.NET プロファイラー診断データ アダプターは、Internet Information Server (IIS) プロセスをプロファイルするため、開発用 Web サーバーに対しては機能しません。 ロード テスト内で Web サイトをプロファイルするには、IIS が実行されているコンピューターにテスト エージェントをインストールする必要があります。 テスト エージェントはロードを生成しませんが、コレクションのみのエージェントとなります。 詳細については、「Visual Studio Agents、テスト コントローラー、およびビルド コントローラーのインストールと構成」を参照してください。
コード カバレッジ: テストでカバーされるコードの範囲を調べるために使用するコード カバレッジ情報を含むテストの設定を作成できます。
ロード テストでコード カバレッジ アダプターを使用できますが、コード カバレッジ データはテスト実行ロールでのみ収集され、テスト設定で指定されたサーバー ロールでは収集されません。
イベント ログ: イベント ログ収集を指定し、これをテスト結果に含めるようにテストの設定を構成できます。
ネットワーク エミュレーション: テストの設定を使用して、テストに対して人為的なネットワーク負荷をかけることを指定できます。 ネットワーク エミュレーションでは、ダイヤルアップなどの特定のネットワーク接続の速度をエミュレートすることにより、マシンに対する通信に影響を与えます。
メモネットワーク接続の速度を向上するためにネットワーク エミュレーションを使用することはできません。ネットワーク エミュレーション アダプターは、ロード テストでは無視されます。 ロード テストでは、ロード テスト シナリオのネットワーク ミックスで指定された設定が使用されます。
詳細については、「ロード テスト シナリオでの仮想ネットワークの種類の指定」を参照してください。
システム情報: システム情報診断とデータ コレクターを実行するコンピューターのシステム情報を含めるようにテストの設定を構成できます。 システム情報は、テストの設定を使用して、テスト結果で指定します。
ロード エージェントとテスト対象のシステムの両方からシステム情報を収集できます。
この情報を収集するために構成は必要ありません。
テスト影響: テスト ケースの実行時にアプリケーション コードのどのメソッドが使用されたかについての情報を収集できます。 これを、開発者によるアプリケーション コードに対する変更と合わせて使用することにより、このような開発上の変更によって影響を受けたテストを判別できます。
ロード テストを使用しても、テスト影響データは収集されません。
ビデオ レコーダー: 自動テストの実行時にデスクトップ セッションのビデオ記録を作成できます。 これは、コード化された UI テストでのユーザー アクションを確認するために使用できます。 ビデオは、再現するのが困難なアプリケーション上の懸案事項をチーム メンバーが特定するのに役立ちます。
メモテストをリモートで実行する際、そのエージェントが対話プロセス モードで実行してない限りビデオ レコーダーは作動しません。注意ロード テストにビデオ レコーダー アダプターを使用することはお勧めしません。[配置] をクリックします。
[配置] ページが表示されます。
テストを実行するたびに配置用の個別のディレクトリを作成するには、[配置を有効にする] をクリックします。
注意
このオプションを選択した場合は、テストの実行時にアプリケーションの作成を続行できます。
テストの実行に使用するディレクトリにファイルを追加するには、[ファイルの追加] をクリックし、追加するファイルを選択します。
注意
ロード テストを実行すると、プラグイン アセンブリ、データ ファイル、およびアップロードされたファイルが自動的に配置されます。
テストの実行に使用するディレクトリにディレクトリを追加するには、[ディレクトリの追加] をクリックし、追加するディレクトリを選択します。
注意
プロパティおよび DeploymentItem 属性を使用して個々のテストのファイルおよびディレクトリを配置する方法の詳細については、「方法 : テストの配置を構成する」を参照してください。
テストの前後にスクリプトを実行するには、[セットアップおよび後処理用のスクリプト] をクリックします。
[セットアップおよび後処理用のスクリプト] ページが表示されます。
[セットアップ スクリプト] にスクリプト ファイルの場所を入力するか、省略記号 […] をクリックしてセットアップ スクリプトを指定します。
[後処理用スクリプト] にスクリプト ファイルの場所を入力するか、省略記号 […] をクリックして後処理用スクリプトを指定します。
別のホストを使用してテストを実行する場合は、[ホスト] をクリックします。
[ホストの種類] で、[Default] (既定) が選択されていることを確認します。
注意
[ホストの種類] の [ASP.NET] は、ロード テストではサポートされていません。
[32 ビット プロセスまたは 64 ビット プロセスでテストを実行] ドロップダウン リストを使用して、ロード テストの Web パフォーマンス テストおよび単体テストを 32 ビット プロセスと 64 ビット プロセスのどちらで実行するか指定します。
注意
柔軟性を最大限に高めるには、テスト プロジェクトを "Any CPU" 構成でコンパイルします。 これにより、32 ビット エージェントと 64 ビット エージェントの両方で実行できます。 "64 ビット" 構成でテスト プロジェクトをコンパイルしても、特に利点はありません。
(省略可能) 各テストの実行および個別のテストの期間を制限する場合は、[テストのタイムアウト] をクリックします。
時間制限を超えた場合にテストの実行を中止するには、[テストの実行時間が次の値を超えた場合、テストの実行を中止する] を選択し、この制限に使用する値を入力します。
時間制限を超えた場合に個々のテストを失敗とするには、[テストの実行時間が次の値を超えた場合、個々のテストを失敗とする] を選択し、この制限に使用する値を入力します。
[単体テスト] をスキップします。 ロード テストではこれらの設定を使用しません。
[Web テスト] をスキップします。 ロード テストではこれらの設定を使用しません。
[名前を付けて保存] をクリックして、テストの設定を保存します。 [オブジェクト名] に、必要なファイルの名前を入力します。
注意
テストの設定を変更する必要がある場合は、[テスト] をクリックし、[テスト設定の編集] をクリックして、作成したテストの設定をポイントします。 詳細については、「方法: テスト計画の既存のテスト設定を編集する」を参照してください。
ソリューションからテストの設定を削除するには
ソリューション エクスプローラーの [ソリューション エクスプローラー] フォルダーで、削除するテストの設定を右クリックし、[削除] をクリックします。
テストの設定ファイルがソリューションから削除されます。 この変更は、[テスト] メニューの [アクティブなテスト設定の選択] オプションおよび [テスト設定の編集] オプションの選択肢の一覧に反映されます。
参照
処理手順
方法: テスト設定で指定されたテスト コントローラーおよびテスト エージェントを使用してロード テストを実行する
概念
コンピューターの設定およびテストの設定を使用した診断情報の収集
その他の技術情報
Visual Studio から自動テストを実行するためのテストの設定の作成