アプリケーションのパフォーマンスおよびストレスのテスト

このトピックの内容は、次の製品に該当します。

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

トピック該当 トピック該当なし トピック該当なし トピック該当なし

ソフトウェアがさまざまなレベルでの使用にどの程度反応するかどうかを確認するには、ロード テストを実施します。 ロード テストでは、プログラムに同時にアクセスする複数のユーザーをシミュレートすることで、ソフトウェア プログラムの予想される使用方法がモデル化されます。

Visual Studio Ultimate では、ロード テストをローカルで実行する場合、最大 250 の仮想ユーザーを使用できます。 ロード テストで必要な仮想ユーザーがこの数を超える場合、またはリモート コンピューターを使用する必要がある場合は、Visual Studio Load Test Virtual User Pack 2010 を購入する必要があります。 Visual Studio Load Test Virtual User Pack 2010 は、Visual Studio Ultimate を購入した場所で購入できます。 詳細については、「テスト コントローラーによるロード テスト用の仮想ユーザー ライセンスの管理」および「ロード テストのためのテスト コントローラーおよびテスト エージェントの構成」を参照してください。

負荷の高い使用モデルの場合 (たとえば、何千ものユーザーが同時に Web サイトにアクセスするなど)、複数のコンピューターを使用して十分な負荷を生成する必要があります。 これを行うには、高いテスト負荷をシミュレートして生成するようにコンピューターのグループを設定します。 このコンピューター グループは、1 つ以上のテスト コントローラーと 1 つ以上のテスト エージェントから構成されています。 テスト エージェントは、テストを実行し、シミュレートされた負荷を生成できます。 テスト コントローラーは、テスト エージェントを調整し、テスト結果を収集します。テスト コントローラーの構成は、1 つ以上の Visual Studio Load Test Virtual User Pack 2010 を使用して行う必要があります。 テスト コントローラーとテスト エージェントの設定方法の詳細については、「テスト コントローラーおよびテスト エージェントを使用した複数のテスト コンピューターへのロード テストの分散」、「テスト コンピューターでのテストの実行またはデータの収集の設定」、および「Visual Studio Agents、テスト コントローラー、およびビルド コントローラーのインストールと構成」を参照してください。

注意

各テスト コントローラーに必要な仮想ユーザーの数だけ Visual Studio Load Test Virtual User Pack 2010 ライセンスを購入する必要があります。

ロード テストは、複数のシミュレートされたユーザーを使用して一定期間実行される一連の Web パフォーマンス テストまたは単体テストで構成されます。 ロード テストは、新しいロード テスト ウィザードを使用して作成します。

注意

ロード テストには、自動のコード化された UI テストも含めることができます。 コード化された UI テストは、特定の状況でだけ含めるようにします。 詳細については、「ロード テストでのコード化された UI テストの使用」を参照してください。

Web パフォーマンス テストをロード テストに追加すると、複数のユーザーが 1 つのサーバーに対する接続を同時に開き、複数の HTTP 要求を行う状態をシミュレートできます。 ロード テストには、個々の Web パフォーマンス テストに広く適用されるプロパティを設定できます。

ロード テストでは、API 経由でサーバーをテストする単体テストを使用します。 通常は、ブラウザーではなくシック クライアントまたはその他のサーバー サービスを通じてアクセスされるサーバーが対象です。 一例として、WCF を使用してサーバーと通信する、Windows フォームまたは WPF フロントエンドを備えたアプリケーションが挙げられます。 この場合は、WCF を呼び出す単体テストを作成します。 この他に、Web サービスを通じてサーバーを呼び出すサーバーも対象です。 また、2 階層のクライアントが SQL を直接呼び出すこともあります。 この場合は、SQL を直接呼び出す単体テストを作成できます。 単体テストの詳細については、「単体テストを使用したコードの検証」を参照してください。

ロード テストは、数種類のテストで使用できます。

テストの種類

説明

スモーク テスト

軽いロードが短い時間続くときのアプリケーションの実行状況を確認します。

ストレス テスト

長時間、高いロードで、アプリケーションが正常に実行されるかどうかを確認します。

パフォーマンス

アプリケーションの応答性を確認します。

容量設計テスト

さまざまな容量でのアプリケーションの実行状況を確認します。

ロード テストのプロパティを変更するには、ロード テスト エディターを使用します。 プロパティを設定すると、複数のユーザー プロファイル、ブラウザー ターゲット、およびロード パターンで Web パフォーマンス テストを実行できます。 テスト結果は、SQL ベースのロード テストの結果リポジトリに格納されます。 詳細については、「ロード テストの結果リポジトリ内のロード テストの結果の管理」を参照してください。

ロード テスト アナライザーでは、実行中のロード テストと完了したロード テストの両方を表示できます。 詳細については、「ロード テストの実行の分析」を参照してください。

ロード テスト アナライザーでの実行中テストの表示

ロード テストの実行グラフ ビュー

タスク

テスト コントローラーとテスト エージェントの設定および使用方法については、以下のトピックを参照してください。

主なタスク

関連するトピック

ロード テストと Web パフォーマンス テストの開始: Web テストとロード テストのチュートリアルの手順を実行することで、ロード テストと Web パフォーマンス テストの作成、編集、実行、および結果表示の方法を理解できます。

パフォーマンス テストとストレス テストの作成: Microsoft Visual Studio Ultimate を使用して、パフォーマンスとストレスを測定するロード テストを作成できます。

ロード テストの実行方法の設定: ロード テストを実行して正しく動作しているかどうかをチェックするための方法を設定できます。 コンピューターのグループを使用して、テスト用にシミュレートされた負荷を生成し、複数のコンピューターで同時にリモートでテストを実行することができます。 ロード テストの実行設定を構成することもできます。 実行設定とは、ロード テストの実行方法に影響を与えるプロパティのセットです。 実行設定は、[プロパティ] ウィンドウでカテゴリ別に整理されています。

ロード テストの実行: ロード テストを実行し、テストを実行しながら結果を表示できます。

ロード テストの実行の分析: ロード テストの結果を分析して、アプリケーションのボトルネックを特定したり、エラーを見つけたりできます。また、アプリケーションの改良状況を評価することもできます。

Web パフォーマンス テストの結果の確認: Web パフォーマンス テスト結果ビューアーを使用して、Web パフォーマンス テストの結果を確認できます。

ロード テストの結果の管理: ロード テスト エディターでロード テストの結果を管理するには、[ロード テストの結果を開いて管理] ダイアログ ボックスを使用します。 このダイアログ ボックスでは、ロード テストの結果を表示、インポート、エクスポート、および削除できます。

ロード テストを実行すると、ロード テストの実行中に収集されたすべての情報は、ロード テストの結果リポジトリと呼ばれる SQL データベースに保存されます。 ロード テストの結果リポジトリには、パフォーマンス カウンター データおよび記録されたエラーに関するすべての情報が含まれます。

ロード テストの分析の傾向の報告: ロード テスト結果を使用して Microsoft Excel レポートを作成することで、傾向とパフォーマンス レベルを確認できます。

高度な Web パフォーマンス テストの作成: ロード テスト API および Web パフォーマンス テスト API を使用して、カスタムのロード プラグインおよび Web パフォーマンス プラグインを作成できます。

ロード テストの問題のトラブルシューティング: ロード テストに問題がある場合は、問題のトラブルシューティングが必要になることがあります。

セキュリティ

ロード テスト ファイルおよびロード テスト結果には、機密情報になりうる情報が含まれており、これらがコンピューターやネットワークに対する攻撃を行うために使用されるおそれがあります。 ロード テストおよびロード テスト結果には、コンピューター名および接続文字列が含まれています。 他のユーザーとテストまたはテストの結果を共有する場合、このことに注意する必要があります。

外部リソース

ビデオ

ビデオへのリンク

ビデオへのリンク

ビデオへのリンク

フォーラム

Visual Studio Web Performance and Load Testing (Visual Studio の Web パフォーマンスおよびロード テスト)

ブログ

Ed Glas's Blog (Ed Glas のブログ)

Sean Lumley's Blog (Sean Lumley のブログ)

Bill Barnett's Blog (Bill Barnett のブログ)

Howie Hilliker's Blog (Howie Hilliker のブログ)

クイック リファレンス ガイド

Visual Studio Performance Testing Quick Reference Guide (Visual Studio パフォーマンス テスト クイック リファレンス ガイド)

参照

概念

アプリケーションのテスト

単体テストを使用したコードの検証

ロード テスト アナライザーの概要

その他の技術情報

自動テストの作成