Compartilhar via


単体テスト/Web テストでの CSV データのバインド

こんにちは。シアトルは只今 23:00 をまわったところです。本日は、ASP.NET のパフォーマンスチューニング、Web テスト、Load テストのテクニックについてのセッションを聞いてきました。そのネタは、おいおいこのブログにも書きたいと思います。

さて、今日は、Team System でのテストデータのバインドについて書きます。単体テストおよび、Web テストでは、あらかじめ設定した数値や文字列などを用いてテストを行うことができます。単体テストでは単体テストコードに

     string urldata = "https://blogs.msdn.com/tomohn";
     int port = 80;
     string expect = "OK"; 

などと引数の値や想定するメソッドの戻り値などをコーディング中に記載します。Web テストでは、レコーディング時に入力した値が記録されます。

この値をデータとしてリスト化しておき、その情報をテスト実行時にバインドすることができるのです。これにより、一度のテストコードのコーディングや Web テストのレコーディングで様々なバリエーションのテストを実施することができ、コードのカバレッジやコードの信頼性を向上させることができます。

通常は、DB などにデータを蓄積しておき、読み込み方式をとりますが、実は、CSV なども比較的容易に取り込むことができます。本日はその方法をお知らせするのが主です(^^)

Web テストでのテストデータのバインドで説明します。image

ステップ1: テストデータの作成
メモ帳などで適当に(^^
まずは、カラム名を設定し、二行以降がデータとなります。

 

ステップ2: データソースの追加image
ツールボタンをクリックします。

 

 

image

ステップ3: データソースの接続設定
「接続のプロパティ」が開くので、「OLE DB プロバイダ」にて、Microsoft Jet 4.0 OLE DB Provider を選択します。
次に、「サーバー名またはファイル名の入力」で、CSV ファイルが格納されている**フォルダのフルパス**を入力します(ファイル名じゃないです)。

 

ステップ4: プロパティの詳細設定 image
[詳細設定] ボタンをクリックし、プロパティの詳細を開きます。
詳細設定の Extended Properties に text を入力します。[OK] ボタンをクリックし、接続プロパティに戻ったら、テスト接続をして、[OK] ボタンをクリックします。

 

ステップ5: テーブルの選択 image
すると、「テーブルの選択」が開きます。
ここでフォルダに格納されているファイル名がリストされますので、読み込みたいファイルを選択します。なお、複数選択もできます。

 

 

ステップ6: データソースのプロパティimage 
次に、Web テストのデータをバインドしたいリクエストを展開します。通常はフォーム ポスト パラメータ内にバインド対象があるはずですので選択し、プロパティを見ます。
プロパティの「値」にレコーディング時に入力などした値が表示されています。ここで、データソimageースを指定することができます。

 

 

 

 

ステップ7: (任意)テスト構成の編集image
データの数だけテストを実行したい場合は、「テスト」メニューから現在のテスト構成を編集します。

 

 

ステップ8: テストの実行、そして完了 image
テストを実行すると、(ステップ7で設定した場合は)データソースの数だけテストが実行され、結果が表示されます。

 

 

なお、Visual Studio 2008 (Team System)からは、CSV や XML のデータソースをより簡単に設定することができるようになっています(^^)

ながさわ

Comments

  • Anonymous
    July 25, 2007
    こんにちは。シアトルは只今 23:00 をまわったところです。本日は、ASP.NET のパフォーマンスチューニング、Web テスト、Load テストのテクニックについてのセッションを聞いてきました。そのネタは

  • Anonymous
    December 08, 2007
    MSDN オフラインセミナー 全国ツアー <チーム開発編>にご参加いただきありがとうございました。 このページでは、セミナーでご覧いただいたデモンストレーションでのオペレーションやテクニックについて主に、過去、そしてこれからこのブログに投稿する(した)ものを紹介する形でご紹介いたします。