Global Bank: 新しいサービスをテストし問題を修正する

Visual Studio Team System 2008 では、新しいロード モデリング オプションが用意されており、ロード テスト アナライザのビューやロード テストの結果リポジトリの管理が強化されているので、アプリケーションや Web サイトのテストが従来よりも簡単に行えます。これは、Global Bank という架空の銀行での一般的な開発シナリオについて説明する一連の記事の中の 5 番目 (最後) の記事です。これらの記事では、皆さんが今後携わるプロジェクトで Visual Studio Team System をどのように使用できるかを紹介しています。この一連の記事を初めてお読みになる方は、導入記事「Global Bank: Visual Studio Team System 2008 用のシナリオ」で Global Bank チームの紹介をご覧ください。

Ellen の紹介

Ellen は独学のテスタです。彼女の Global Bank での勤務期間は 8 年を超えており、ここ 3 年間の大部分は Global Bank の Web サイトのテストを担当しています。Ellen は C++ や C# で記述されたコードは理解できますが、業務の一環として、それほど多くのコードを記述することはありません。彼女の実稼動用コンピュータには、Visual Studio Team System 2008 Test Edition がインストールされています。

Web テストの作成

Ellen は、新しい Web サービスに関して自分に割り当てられた作業項目を確認し、自分のテスト用のコンピュータを CDService プロジェクトと同期しました。次に、ソリューション エクスプローラで CDServiceTestProject を選択して、[新しいテストの追加] ダイアログ ボックスを開き、CDService を実行してパフォーマンスをテストするための新しい Web テストを作成しました。

Ellen は、Web テスト レコーダで Global Bank の Web サイトの CDService の URL を入力します。次に Web ブラウザ ウィンドウで、CDService をクリックして操作し、一般的な顧客が新しい CD を購入する方法のシミュレーションを行いました。記録が完了したら、Web テスト エディタで新しい Web テストを確認しました。その後、顧客が既存の CD を表示する方法やその他の一般的な使用方法のシナリオのシミュレーションを行うための追加の Web テストを作成します。

ロード テストの実行

Ellen は、新しい CDService 機能用のテストは作成したので、CDService が必要なパフォーマンスを満たしているかどうかを確認するようにテストを拡張したいと考えました。[新しいテストの追加] ダイアログ ボックスを開き、[ロード テスト] を選択し、新しいテストに CDService.loadtest という名前を付けました。

Ellen は新しいロード テスト ウィザードで、用意されているいくつかのオプションの中で、テスト対象とするブラウザとネットワーク接続の種類を選択し、ユーザー数も選択します。また、CDService 用に作成した Web テストをロード テストに追加しました。

その後、Ellen は、作成したロード テストをロード テスト エディタで確認し、[テストの実行] をクリックして、ロード テストの完了後に、ロード テストの結果ストアに格納されている詳細結果を確認しました。ロード テスト アナライザで結果を確認したところ、開発者に報告する必要があるエラーがいくつかあることに気付きました。

詳細を調べるために、Ellen はエラー ビューで各例外を右クリックし、ショートカット メニューの [エラー] をクリックしました。続いて、[ロード テスト エラー] ダイアログ ボックスから、[エラーのスタック トレース] ダイアログ ボックスと [エラーの詳細] ダイアログ ボックスを表示して、それぞれのデータを確認しました。問題の調査が完了したら、Ellen は Martin に割り当てる作業項目を作成することができます。

図 1: ロード テストの結果

Global Bank のロード テストの結果

バグの報告

Ellen は、ロード テスト エディタで [このテストのパフォーマンス セッションの作成] ボタンをクリックし、パフォーマンス ウィザードを使用して、ロード テストのインストルメント化されたパフォーマンス セッションを作成しました。続いて、パフォーマンス エクスプローラで [プロファイルを使用して起動] をクリックして、ロード テストのパフォーマンス レポートを生成しました。

Ellen は、エラー修正の作業項目を作成して Martin (開発者) に割り当て、Martin が確認できるようにパフォーマンス レポート ファイルを作業項目に添付しました。そして、テスト プロジェクトに加えた変更をすべて保存して、チェックインしました。

問題の修正

Martin は、Ellen から割り当てられた新しい作業項目があることに気付き、その作業項目を開いて、添付されている .vsp ファイルを自分の開発用コンピュータに保存しました。次に、[分析] メニューの [パフォーマンス レポートの比較] をクリックし、そして、自分が CDService のコーディングを行ったとき最後に生成したパフォーマンス レポートをベースライン ファイルとして選択し、ロード テストのパフォーマンス レポートを比較ファイルとして選択します。

Martin は [Comparison Report] (比較レポート) ウィンドウを使用してパフォーマンス レポートの相違点を確認し、パフォーマンスに関する問題点を特定して、必要な修正をコードに加えました。その後、両方のパフォーマンス セッションを再実行して、問題が修正されていることを確認してから、作業項目の状態を "修正として解決済み" に変更し、作業項目を保存しました。

修正の確認

Ellen は、作業項目データベースを参照して、自分が作成して Martin 割り当てた作業項目が修正されていることを確認しました。続いて、自分のテスト用コンピュータを CDService プロジェクトと同期し、CDService.loadtest を実行したところ、ロード テストはエラーが発生することなく完了しました。新しい問題がないかどうかロード テストの結果を確認し、新しい問題がなかったので、作業項目を閉じました。

MSDN オンラインの参考資料

Web テストの概要

チュートリアル : Web テストの記録と実行

ロード テストの操作

チュートリアル : ロード テストの作成と実行

ロード テスト結果の分析

方法 : テストのパフォーマンス セッションを作成する

Test Edition の新機能