Global Bank: 新しいサービスをコーディングする (第 2 部)
Visual Studio Team System 2008 では、プロファイル セッションごとの差異、パ フォーマンスの低下、およびパフォーマンスの向上を示すパフォーマンス セッション レポートの比較がサポートされるようになりました。この記事は、Global Bank という架空の銀行での一般的な開発シナリオについて説明し、皆さんが今後携わるプロジェクトで Visual Studio Team System をどのように使用できるかを紹介する一連の記事の 4 番目の記事です。この一連の記事を初めてお読みになる方は、導入記事「Global Bank: Visual Studio Team System 2008 用のシナリオ」で Global Bank チームの紹介をご覧ください。
シナリオ
Martin は前日に CDService を実装するコードを記述して、コード分析ツールとコード メトリックス ツールを使用して、コードを手直ししました。また、デバッガを実行してコードの問題も特定しました。詳細については、「Global Bank: 新しいサービスをコーディングする (第 1 部)」を参照してください。
単体テスト
現在 Martin は、単体テストを作成してコードを確認する必要があります。彼は、単体テスト ウィザードを使用して、CDServiceTestProject という名前のテスト プロジェクトを自動的に作成しました。また、このウィザードでは、構成済みのいくつかのメソッドを含むテスト クラスも生成されます。自動生成されたテスト クラスを編集して、単体テストを実行しました。単体テストが成功した後、コードの 1 つのセクションを一時的に変更し、単体テストを再実行してエラーを発生させました。
パフォーマンスの確認
Martin はコードが問題なく機能することを確認したので、発生する可能性があるパフォーマンスの問題を確認しました。[分析] メニューの [パフォーマンス ウィザードの起動] をクリックして、新しいプロファイル セッションを作成しました。パフォーマンス ウィザードで、プロファイル方法として [インストルメンテーション] を選択しました。
パフォーマンス エクスプローラで、[プロファイルを使用して起動] をクリックしました。そうすると、プロジェクトがビルドされ、アプリケーションのプロファイルが開始されます。Martin は Web サービスを操作して、顧客が行う可能性のある一般的な作業を行います。作業が終わったら、Web サービスを終了します。その後、パフォーマンス レポートの概要を確認して、他の操作よりも完了までに時間がかかった操作に対応するコードを特定します。
図 1: パフォーマンス レポートの概要
Martin はパフォーマンス レポートをコール ツリー ビューに切り替え、ショートカット メニューの [<領域> のホット パスの展開] を使用してさらに詳しい調査を行いました。その後、調整が必要な操作を特定し、コードを最適化して問題を修正し、修正後、パフォーマンス セッションを保存しました。
Martin は修正を保存した後、別のプロファイル セッションを起動して、変更によってパフォーマンスが向上したことと、新たなパフォーマンスの問題がないかどうかを確認しました。[分析] メニューの [パフォーマンス レポートの比較] をクリックして、プロファイル セッション間のパフォーマンスの変化を確認しました。
図 2: パフォーマンスの比較レポート
その後、パフォーマンス セッションに CDService.psess という名前を付けて、後で参照できるようにローカル ドライブに保存しました。そして、変更をチェックインしました。Ellen に電子メールを送信して、Global Bank の Web サイトに加えた更新をテストできるようになったことを知らせます。
MSDN オンラインの参考資料