【VisualStudio チュートリアル】負荷テスト

チュートリアルは、Visual Studio 2015 RC で作成されています。 

この記事では、Visual Studio 2015 を使って負荷テストを簡単に実施するためのチュートリアルをご紹介いたします。

Visual Studio2015では、クラウドベースの負荷テストを簡単に実施することができます。

お手元のVisual Studio からテスト用のバーチャルマシンのインスタンスを複数起動して、
あなたのWebサイトに対して同時に負荷をかけることができます。

今回のチュートリアルでは、皆さんのサイトの代わりに、Bingに対して負荷をかけていきます。

clip_image002

 

負荷テストを作成する

Visual Studioで、「Web パフォーマンスとロードテストのプロジェクト」を選択します。
プロジェクトの名前は何でも構いませんが、ここでは、説明のため「LoadTestForMyAPP」にしています。

SnapCrab_新しいプロジェクト_2015-4-30_9-18-2_No-00

 

パフォーマンステストを記録する

負荷テストを実施するまえに、パフォーマンステストを作成します。これは、負荷テストにおける実行シナリオを指します。

Solution Explorerのプロジェクト名の箇所を右クリックします。次の例では「LoadTestForMyAPP」です。
プロジェクト名右クリック - [追加] – [Web パフォーマンステスト] を選択してください。

そうすると、ブラウザが起動して、負荷テストシナリオを記録し始めます。
ブラウザが起動したら、BingのURL(www.bing.com)を入力してください。

SnapCrab_空白のページ - Internet Explorer_2015-4-30_9-20-41_No-00

ブラウザは記録を始めます。

SnapCrab_Bing - Internet Explorer_2015-4-30_9-20-56_No-00

今回はこの検索ボックスに対して「Visual Studio 2015」と入れて検索してみました。

SnapCrab_Bing - Internet Explorer_2015-4-30_9-21-6_No-00

その後、検索結果がでますので、「Microsoft Visual Studio ホームページ」のサイトを選択しました。

ブラウザに表示されているWeb Test RecorderのStopボタンを押すと、今までの操作が記録されます。

Visual Studio 2015は動的なパラメータ入力があった個所を通知してくれます。

SnapCrab_動的パラメーターを Web テスト パラメーターに昇格_2015-4-30_9-22-6_No-00

ではVisualStudioがこのシナリオが正常に動作するかをテスト実行してみましょう。
記録されたシナリオは、WebTest[数字]という名前で保存されます。
このウインドウにある、ビーカーアイコンをクリックして、 [テストの実行] を選択してみましょう。記録したシナリオが正しく動作するかを検証してくれます。

正しく動作しているようです。
参考までに、WebTest[数字]が記録したテストシナリオになるのですが、あなたがブラウザで、入力した値が組み込まれている様子がわかると思います。

もしかすると、負荷テストに、閾値を設けたいかもしれません。
閾値を設けたい、WebTest[数字].webtest の中に表示されているURL(https://www.bing.com/search)を右クリックしてください。
プロパティを設定できる画面がでてくるので、[応答時間の目標(秒)] を1に設定してみました。(デフォルトは0)

また、手で入力したパラメータをプログラマブルに設定したいという場合は、英語になりますが、こちらのページをご参照ください。

Fix non-detectable dynamic parameters in a web performance test (英語)
https://msdn.microsoft.com/en-us/library/ff460245.aspx

これで負荷テストのためのパフォーマンステストのシナリオ作成は完了です。

 

負荷テストを作成する

Solution Explorerのアプリケーション名(ここではLoadTestForMyAPP)を右クリックしてください。
[追加] – [ロードテスト] の順にクリックします。

clip_image026

負荷テスト用のウィザードが起動します。

SnapCrab_新しいロード テスト ウィザード_2015-4-30_9-26-55_No-00

Load Patternを選択し、負荷のパターンを選択します。
ここでは、段階的に負荷をかけていく方法を選択しました。
初めに10ユーザから初めて、10秒ごとに、10ユーザづつ増加し、100ユーザになるまでそれが繰り返されるという設定です。

SnapCrab_新しいロード テスト ウィザード_2015-4-30_9-50-31_No-00

次にTestMixを選択します。図の「Add」ボタンを選択します。

SnapCrab_新しいロード テスト ウィザード_2015-4-30_9-27-22_No-00

先ほどブラウザで記録した、WebTestが表示されますので、負荷テストで使いたいWebTestを選択してください。

SnapCrab_テストの追加_2015-4-30_9-27-40_No-00

最後にRun Settingsで、負荷をかける時間を設定します。
Run durationの部分を 0 2 0 に変更します。負荷テストは、リクエストを多く発生させます。
皆様がご自分のサイトにお試しでやってみたいときに、あまり長時間にすると、請求が大きくなってしまいますので気をつけましょう。

SnapCrab_新しいロード テスト ウィザード_2015-4-30_9-28-1_No-00

Finishボタンを押下すると、負荷テストの設定が完了します。

 

クラウドの負荷テスト設定

[ソリューション エクスプローラー] の [Solution Items] > [Local.testsettings] をダブルクリックします。

テストの設定画面が表示されますので、テストの実行場所を「Visual Studio Online を使用してテストを実行」を選択します。そして、Closeボタンを押して設定を閉じます。

SnapCrab_テストの設定_2015-4-30_9-28-55_No-00

次にチーム エクスプローラーを開きます。[Select Team Project] をクリックします。

clip_image044

クラウドの負荷テストを実施するためには、Team Foundation Serverに接続する必要があります。
下記の画面が出てきたら、[サーバー] をクリックします。

SnapCrab_Team Foundation Server への接続_2015-4-30_9-31-31_No-00

次の画面がでてくるので、Team Foundation Serverを追加します。

SnapCrab_Team Foundation Server の追加および削除_2015-4-30_9-31-59_No-00

お持ちになられているTeam Foundation ServerのURLを記入してください。
[username].visualstudio.comの形式になっています。
Team Foundation Serverのセットアップする手順がわからない人は、このチュートリアルの最後に簡単なセットアップ手順(参考 Visual Studio OnlineのTeam Foundation Serverセットアップ方法)を書いておきましたのでご参照ください。

clip_image050

OKのボタンを押すと無事にTeam Foundation Serverがセットアップされました。
次に [接続] ボタンを押して、サーバに接続します。

image

Team Foundation Serverに接続するための、Visual Studio Onlineのユーザ/パスワードを聞かれますので、記入してサインインしてください。MicrosoftアカウントはE-Mailアドレスです。

clip_image054

サインインに成功すると次のような画面になり、Team Foundation Serverに無事接続されました。

image

clip_image058

 

負荷テストの実行と分析

負荷をかける準備が整いましたので、実際に負荷をかけてみます。
先ほど作成した、負荷テスト 「LoadTest1.loadtest」のタブを選択します。
タブの直下にある、ビーカーのアイコンを選択し、[ロードテストの実行] を実行します。

設定した時間だけ負荷をかけたのち、各種のデータを分析することができます。
これはパフォーマンスやスループットの情報を見ることができます。

「Donwload Report」を実行することで、負荷テストのデータをローカルにダウンロードすることができ、サマリ、グラフ、テーブルなどの形式のデータを見ることができます。

clip_image066

clip_image068

ここまでで、Visual Studio 2015の負荷テストのイントロダクションをご紹介いたしました。
負荷テストでは、作成したアプリケーションの分析をより詳細に行うための方法もあります。
ご興味のある方は英語になりますが、下記の動画を見て、是非より強力な負荷テストの機能をご体験ください。

Visual Studio Cloud-based Load Testing
https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/210?wt.mc_id=player

 

参考 Visual Studio Online のTeam Foundation Serverセットアップ方法

https://www.visualstudio.com/ja-jp にアクセスします。

clip_image070

お持ちのMicrosoftアカウント(E-Mailアドレス)を入力してください。

clip_image072

アカウントが存在しないときは「無料アカウントを今すぐ作成」というリンクをクリックします。
ある場合は、アカウントを選んでクリックしてください。

clip_image074

次に、プロジェクトを作成します。「Recent projects & teams」の「New」リンクをクリックしてください。

clip_image076

プロジェクトの情報を入力して、「Create project」をクリックするとプロジェクトが作成されます。

clip_image078

これで、負荷テストを試すための、プロジェクト設定は完了です。

clip_image080

参考

Visual Studio Onlineてなに? TFSとどこが違うの?
https://blogs.msdn.com/b/visualstudio_jpn/archive/2014/01/24/what-is-visual-studio-online.aspx

Getting Started with Visual Studio Online (英語)
https://channel9.msdn.com/Events/Build/2014/2-575