Webテストを作ってみよう
細かい解説を行う前に、まずは実際にWebテストを作成してみたいと思います。
Webテストを作成するために、まずはテストプロジェクトを作成します。テスト対象のWebアプリケーションと同じソリューション内にテストプロジェクトを作成することももちろん可能ですが、Webテストを格納するテストプロジェクトは別ソリューションとして作成することをお奨めします。以下の図6は、新規にテストプロジェクトを作成した画面です。
図6のように新規テストプロジェクトを作成するとVisual Studio Team Systemでのテストの作成と実行に関する説明文が表示されます。まだ読んだことがない場合には一度目を通してみるとよいと思います。一度目を通してしまえば、テストプロジェクト生成時に一緒に作成される「AuthoringTests.txt」「Manualtest1.mht」「UnitTest1.cs」ファイルは削除してしまって構いません。
なお、今回はC#でテストプロジェクトを作成しましたが、Visual Basicを使用してももちろん問題はありません。
では、このテストプロジェクトに新しいWebテストを追加します。テストプロジェクトを右クリックし、[追加]-[Webテスト]を選択します(図7)。
新しいWebテストが作成されると、Internet Explorerの新しいウィンドウが立ち上がります。ここにはWeb Test Recorderというアドインが起動しており、Webアクセスのログを取得する準備が整っています(図8)。
ここで、URLにテスト対象WebアプリケーションのURLを入力し、アプリケーションを操作すると、そのアクセスログがWeb Test Recorderによって記録されていきます。ここでは、最初のURLとして、「.NET Pet Shop 4.0」のトップ画面を次のように指定しました。
http://localhost:2327/Web/Default.aspx
また、今回の操作は以下の手順にて行いました。
- トップページ右上の[Sign In]をクリック
- Sign In画面でUser Nameに「demo」、Passwordに「pass@word1」を指定して[Sign In]をクリック
- トップページで[BIRDS]を選択
- BIRDSページで[Pelican]を選択
- PELICANページでPelican Flower Lovingの[ADD TO SHOPPING CART]を選択
- SHOPPING CARTページで[CHECK OUT]を選択
- CHECK OUTページでBilling Addressはそのままで[NEXT]を選択
- 次のShipping Addressは「Ship to billing address」にチェックをつけた後に、[NEXT]を選択
- 次のPayment Informationはそのままで[NEXT]を選択
- 次のConfirmationで[Submit Order]を選択
- 表示された画面で操作終了
Webアプリケーションの操作が終了したらWeb Test Recorderの[Stop]をクリックして操作ログの取得を終了します(図9)。Visual Studioの画面に戻ると操作結果がURLの一覧のような形で表示されているWebテストが作成されています(図10)。
Webテストを実行してみよう
図11に示すURLの一覧はWeb Test Recorderによって記録されたHTTPリクエストの一覧です。WebテストはこのHTTPリクエストを上から順番に実行することで、Webアプリケーションの対象機能が正常に動作しているかを確認するテストです。そのことを確認するため、まずはさきほど作成したWebテストを実行してみましょう。
実行は非常に簡単です。図11のようなWebテストの画面が開いている状態で左上の[テストの実行]ボタンをクリックするだけです(図11)。
Webテスト内の処理がすべて実行されると、テスト結果画面が表示されます(図12)。
テスト結果画面では、上部にHTTPリクエストに関する情報が表示されています。特にリクエストが成功したかどうかを示すHTTP状態や、そのリクエストに要した時間を示す応答時間は注意してみるようにしてください。下部には上部で選択している行に関する詳細情報が表示されています。Webブラウザで表示される結果ももちろん重要ですが、要求タブや応答タブには、実際に送受信されたHTTPの内容が表示されているのでこちらも注目して確認するようにしてください(図13)。