SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Visual Studio 2005 Team Edition for Software Testersを使ってみよう

VSTTのWebテスト機能でアプリケーション品質を強化する

Visual Studio 2005 Team Edition for Software Testersを使ってみよう(1)


  • X ポスト
  • このエントリーをはてなブックマークに追加

Webテストにおけるデータバインディング

 ここまで見てきたさまざまな設定は、あらかじめ固定の文字列を設定しておくものがほとんどでした。通常アプリケーションのテストを行う場合にはさまざまな値の組み合わせを用いてテストを行うことがほとんどです。Webテストにはこの値の組み合わせを切り替えるための補助的な機能としてデータバインディングが用意されています。

 データバインディングを用いることでCSVファイルやExcelファイル、AccessファイルなどOLE DB経由で接続可能なさまざまなデータソースをWebテストの入力として利用することができるようになります。また、OLE DBデータソースを利用したデータバインディングの設定はWebテストエディタで簡単に行うことができます。

 しかし、データバインディングはWebテストのすべてに対して設定することはできないという点に注意が必要です。Webテストでデータバインディングが有効なものは、以下の4点になります。

  • 資格情報の設定
  • QueryStringパラメータ
  • フォームフィールドパラメータ
  • 要求URL

 ここで、資格情報という言葉が初めて登場したので補足しておきます。Webテストの資格情報とは、対象のWebアプリケーションがIISの基本認証やWindows統合認証でユーザー認証を行っている場合に利用するものです。この設定を利用することによって、ASP.NETのForms認証を利用していないWebアプリケーションでもWebテストの実行が可能となります。なお、資格情報の設定はWebテストのプロパティから設定することができます。

 それでは以下に、SQL Server 2005 Express Editionの「MSPetShop4Services」データベースの「dbo.aspnet_Users」テーブルからデータソースを作成し、あるフォームフィールドパラメータに「UserName」列をデータバインディングする設定の説明を行います。

  1. まず、データソースの追加を開始します。Webテストのメニューから[データソースの追加]を選択します。
     
    図15 データソースの追加
    図15 データソースの追加
     
  2. 開いたダイアログでOLE DBプロバイダを選択し、必要な設定を行います。ここでは、SQL Server 2005 Express EditionにWindows統合認証で接続し、MSPetShop4Servicesデータベースを選択しています。
     
    図16 データソースの接続の設定
    図16 データソースの接続の設定
     
  3. 次のダイアログでは利用するテーブルを選択します。Excelを選択している場合はここにシート名が表示されます。ここでは「dbo.aspnet_Users」テーブルを選択しています。
     
    図17 データソースのテーブルの選択
    図17 データソースのテーブルの選択
     
  4. データソースが作成されるとWebテスト内に図18のように表示されます。この状態で「dbo.aspnet_Users」テーブルの指定の列をデータバインディングすることができるようになります。
     
    図18 データソースの追加の確認
    図18 データソースの追加の確認
     
  5. データバインディング可能なプロパティを開くと図19のような画面が表示され、任意の列を設定することができます(ここではSign Inの際のUser Nameのフォームフィールドパラメータにデータバインディングの設定を行っています)。
     
    図19 データバインディングの設定
    図19 データバインディングの設定
     
  6. データバインディングの設定がされている部分をWebテスト上で確認すると図20のように「{{データソース名.テーブル名.列名}}」といった表示されているのですぐに確認することができます。
     
    図20 データバインディングの設定
    図20 データバインディングの設定

 この状態でWebテストを実行すると、データバインディングされたデータとして実際にどんな値が使用されたのかをテストの実行結果画面から確認することができます。

 実際にデータバインディングの設定を行ったURL部分のコンテキストタブを確認すると名前欄に「データソース名.テーブル名.列名」という名前があり、値として「AdamBarr」が利用されていることを確認できます。

図21 データバインディングを利用したテストの実行結果
図21 データバインディングを利用したテストの実行結果

 現在までの設定のままでは、何回実行しても毎回のように「AdamBarr」が利用されてしまいます。実は、データソースは利用方法を設定できるようになっており、以下の3パターンがあります。

表22 データソースの利用方法
設定値 説明
順次(Sequential) 最初のレコードから読み取りを行い、1行ずつ順次読み取ります。
ランダム(Random) テーブル内の行をランダムに読み取ります。
ユニーク(Unique) 最初のレコードから読み取りを行い、1行ずつ順次読み取ります。

 このようにデータソースの使われ方には3種類の方法がありますが、Webテストを行うだけではこの設定はあまり意味がありません。なぜなら、Webテストを実行する場合、そのテストは1度しか実行されず、2つ以上の行が利用されることがないからです。このデータバインディングの設定はWebテストよりもむしろ次回解説予定のロードテストのときに大きく影響してきます。ここでは、順次とユニークはまったく同じであるように見えますが、その差がどんなものであるかはロードテストの回に改めて解説します。

Webテスト機能の大切な注意

 さて、VSTTのWebテストに関して、作成・カスタマイズ・実行の方法をいろいろとご説明してきました。Webテストの大雑把な使い方はご理解いただけたのではないでしょうか。

 最後にWebテスト機能を使う上での大切な注意事項を示しておきます。それは、

  「Webテスト機能はHTTPリクエストをキャプチャしてWebテストを作成する」

 という点です。このため、一般的なテストツールがよく陥るような、「サードパーティ製コントロールに未対応のため、テストが正常に作成されない」といった問題は起きませんが、JavaScriptやActiveXなどクライアント側のみで動作するものに関してはテストすることができません。また、JavaScriptやActiveXが動作した結果、送信されるHTTPリクエストをキャプチャすることはできますが、XML HTTPリクエストはキャプチャすることができません。これは、AJAXを利用して動くWebアプリケーションのテストができないということを示唆しています。

 このため、VSTTとは別のツールとして、「Fiddler」というツールも配布されています。Fiddlerはブラウザから送信されるHTTPリクエストや応答のHTTPレスポンスをキャプチャするツールで、XML HTTPリクエストもキャプチャすることができます。また、FiddlerでキャプチャしたHTTPリクエストはそのままVSTTのWebテストの形式に変換することもできます。現在のWebテスト機能でAJAX対応アプリケーションのWebテストを実施するにはこのFiddlerというものを用いることになります。

 なお、もうまもなくリリースされるVisual Studio 2008 Team Systemに含まれるWebテスト機能には、Fiddler相当の機能が盛り込まれ、Webテスト機能単体として、AJAXアプリケーションのWebテストも作成、実行ができるようになっているとのことです。

まとめ

 VSTTのWebテスト機能を利用した、Webアプリケーションテストの作成方法、実行方法、テストの検証方法をカスタマイズする方法などについて説明してきました。その名の通り、Windowsアプリケーションのテストには利用できない、Webテスト機能だけでは、AJAXアプリケーションのテストが実行できないなどの制約はありますが、Webアプリケーションのテストを行う上では有用なツールであることが少しはご理解いただけましたでしょうか。

 Webテストだけではまだ足りない! という場合には、次回解説予定のVSTTのロードテスト機能についてもぜひご覧ください。Webテストとロードテストを合わせて利用することで非常に強力な品質テストができるということをご理解いただけると思います。

参考資料

  1. Visual Studio 2005 Team System ホームページ
  2. MSDN Library - Visual Studio Team Systemドキュメント

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Visual Studio 2005 Team Edition for Software Testersを使ってみよう連載記事一覧
この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1941 2008/08/26 14:06

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング