方法: アプリケーションのビルド後にスケジュールされているテストを構成および実行する
ビルドの完了後にテストを実行して、ビルドの品質を評価できます。これらのテストは、多くの場合、ビルド確認テスト (BVT: Build Verification Test) またはスモーク テストと呼ばれます。通常これらのテストは、特定のビルドでアプリケーションの主要な区分を検証するために使用されるテストの幅広いスイートから構成されます。BVT のすべてのテストを通過すると、そのビルドは成功と見なされます。
ビルド確認テストの一部として 1 種類以上の自動テストを使用できます。実行できるテストの種類は、次のとおりです。
単体テスト
コード化された UI テスト
Web パフォーマンス テスト
ロード テスト
汎用テスト
BVT の作成には、Visual Studio、Team Foundation バージョン管理、および Team Foundation ビルドを使用します。最初に、変更が Team Foundation バージョン管理を使用してソース管理に、BVT で使用する自動テストが。ビルド定義にテストを追加します。最後に、Team Foundation ビルドを使用して、ビルドが成功した場合にテストを実行するビルドをキューに配置します。
[!メモ]
クライアント コンピューターにチーム エクスプローラーがインストールされ、Visual Studio ユーザー セッションが Team Foundation Server コンピューターに接続されている必要があります。Team Foundation Server への接続方法の詳細については、「How to: Connect to a Team Project in Team Foundation Server」を参照してください。
このトピックでは、ビルド確認テストを作成および実行するために必要なすべての操作について説明します。
ビルド確認テストのチェックイン
ビルド定義の作成
ビルド エージェントおよびテスト エージェントのコンピューターまたはユーザー アカウントの TeamTestControllerUsers グループへの追加
コード化された UI テストを実行するためのエージェントの設定
BVT ビルド定義の実行
ビルド確認テストのチェックイン
この操作では、ソリューションのすべてのファイルをチェックインします。
ビルド確認テストをソース管理にチェックインするには
Team Foundation Server コンピューターに接続します。詳細については、「How to: Connect to a Team Project in Team Foundation Server」を参照してください。
ソリューションがソース管理に含まれていない場合は、ソース管理に追加します。詳細については、「Add a Project or Solution to Version Control」を参照してください。
[チーム エクスプローラー] を選択し、[保留中のチェックイン]を選択します。[保留中のチェックイン] ウィンドウが表示されます。
ソリューションのすべてのファイルをチェックインします。詳細については、「Check In Pending Changes」を参照してください。
[!メモ]
BVT の作成方法および管理方法に関して、チームに固有のプロセスを定めることができます。このプロセスには、実行するテストと共にそのコードをチェックインする前にビルドをローカルで検証する、などの規定を設けます。
チェックイン操作が完了すると、ソリューション エクスプローラーの各ファイルの隣に錠のアイコンが表示され、その [チェックイン] ステータスが示されます。詳細については、「Identify Version Control Item Status in Solution Explorer」を参照してください。
チェックインしたテストは、ビルドで使用できます。これで、BVT で実行するテストを含むビルド定義を作成できます。
ビルド定義の作成
BVT ビルド定義を作成するには
チーム エクスプローラーで、チーム プロジェクトを選択します。
チーム エクスプローラーのホーム ページで、**[ビルド]**を選択します。
[ビルド] のページが表示されます。
**[ビルド定義の新規作成]**を選択します。
[ビルド定義の新規作成] タブが表示されます。
新しいビルド定義の情報を入力します。詳細については、「ビルド定義の作成」を参照してください。
[ビルド定義名] のテキスト ボックスのビルド定義に関連付ける名前を指定します。
(省略可能) [説明] ボックスに、適切な説明を追加します。
**[ワークスペース]**を選択します。
作業フォルダー テーブルには、新しいビルド定義を作成しているチーム プロジェクト用のソース管理フォルダーと、ビルド エージェント上のローカル フォルダーが含まれています。ビルド エージェント上のローカル フォルダーは、[ローカル フォルダー] 列に表示されます。ビルド エージェント上のすべてのワークスペース パスは、表示されている既定のルート ディレクトリに対してマップされます。
作業フォルダーの一覧に既存のワークスペースをコピーするには、[ワークスペースの選択] のダイアログ ボックスを開くために [既存のワークスペースのコピ] を選択します。
選択したワークスペースは、$(SourceDir) というビルド エージェントで共通のルート ディレクトリに正規化されます。SourceDir は、$(BuildDir)\Sources に展開する環境変数です。
[ソース管理フォルダーの空のテーブル セルを選択し、省略記号 (…) をクリックします 作業フォルダーを追加するには、ソース管理フォルダーを参照します。選択したソース管理フォルダーは、ビルド エージェントでの共通のルート ディレクトリに対して正規化されます。
**[ビルドの既定値]**を選択します。
[ビルドの既定値] ペインの [ビルド コントローラー] ドロップダウン リストで、ビルド コントローラー (存在する場合) を選択できます。
[ビルド出力を次の格納フォルダーにコピーします] に、場所などの UNC パス (例: \\server\share) を入力します。ビルドの完了直後に、ビルド バイナリとログ ファイルがこのフォルダーに配置されます。格納フォルダーの設定方法の詳細については、「ステージング場所の選択およびドロップ フォルダーの設定」を参照してください。
ビルド定義の一部として、コード化された UI テスト、Web パフォーマンス テスト、またはロード テストを実行する場合は、この場所にあるビルドからの出力を使用して、アプリケーションを起動するかインストールする必要があります。ビルドが完了した後、テストが実行される前に自動的に、アプリケーションのインストール、どちらの使用、SCVMM の環境にアプリケーションを配置できる、標準の環境にアプリケーションを配置するには、このラボの既定のテンプレートを変更できますラボの既定のテンプレートできます。
[!メモ]
この手順を完了する前に、TFSService アカウントがフル アクセス権を持つパブリック フォルダーを作成しておく必要があります。Team Foundation サービス アカウントの詳細については、「Team Foundation Server サービスの表示」を参照してください。
[プロセス]を選択します。[プロセス] のペインで、**[詳細の表示]**を選択します。
[省略不可] のセクションでは、**[ビルドする項目]**の横に 2 番目の列の省略記号をクリックします。
[ビルドする項目] ダイアログ ボックスが表示されます。
[追加] をクリックします。ソリューションを探し、またはバージョン管理ツリーでビルドする場合はをクリックします **[OK]**を投影します。
[ビルドする項目] のダイアログ ボックスで、**[OK]**を選択します。
テスト アセンブリの検索は、検索パターンを指定するには、**[テスト アセンブリのファイルスペック]**を選択します。検索文字列を入力します。たとえば、は、DLL の名前に 「test」が含まれている \*test*.dll。
[!メモ]
この検索文字列、Binaries ディレクトリの *test*.dll と一致する DLL を検索するディレクトリを再帰的に検索します。詳細については、「ビルド処理の定義」を参照してください。
(省略可能) テストを実行するための場合) 選択するようにテストの設定は、開いているファイル **[自動テスト]**し、テスト アセンブリ を開き、TestSettings ファイル を選択し、省略記号 (…) をクリックします。
[参照] ダイアログ ボックスが表示されます。.test の設定ファイルを探します。使用する **[OK]**を含むテストの設定を選択します。
テスト設定ファイルでテスト コントローラーとテスト エージェントを使用している場合は、後述する「ビルド エージェントおよびテスト エージェントのユーザー アカウントまたはコンピューターの TeamTestControllerUsers グループへの追加」の手順を参照してください。
コード化された UI テストを実行している場合は、後述する「コード化された UI テストを実行するようにテスト エージェントを設定」で、テスト設定ファイルに基づいてエージェントを設定するための手順を参照してください。
[!メモ]
[詳細設定] セクションの [エージェントの設定] を使用して、使用する特定のエージェントを選択します。たとえば、コード化された UI テストを実行している場合に、対話形式のプロセスとして実行されているエージェントを選択する必要がある場合は、ここでエージェントを選択できます。
テストの設定ファイルの詳細については、「Visual Studio のテストにおけるテスト設定の指定」を参照してください。
(省略可能) ビルド処理の一部としてロード テストを実行するには、ロード テストの結果のリポジトリを設定し、そのリポジトリを使用するように、テストの設定で指定されたテスト コントローラーを構成する必要があります。詳細については、「方法 : ロード テストの結果リポジトリを選択する」を参照してください。
新しいビルド定義を保存するには、上書き保存を選択します。
新しいビルド定義がチーム エクスプローラー ウィンドウの [ビルド] フォルダーの下に表示されます。
ビルド エージェントおよびテスト エージェントのユーザー アカウントまたはコンピューターの TeamTestControllerUsers グループへの追加
ビルド定義に追加したテストの設定ファイルでテスト コントローラーとテスト エージェントを使用する場合は、テスト コントローラー コンピューターの TeamTestControllerUsers セキュリティ グループに、使用するすべてのビルド エージェントおよびテスト エージェントのコンピューターを追加する必要があります。たとえば、コード化された UI テストをビルド処理の一部として実行する場合は、これらのコンピューターをこのセキュリティ グループに追加する必要があります。
注意 |
---|
ビルド エージェントまたはテスト エージェントが、ネットワーク サービス アカウントではなく別のユーザーを使用するように設定されている場合は、代わりにこのドメイン ユーザー アカウントが TeamTestControllerUsers グループに追加されていることを確認する必要があります。 |
ビルド エージェントおよびテスト エージェントのユーザーまたはコンピューターを TeamTestControllerUsers グループに追加するには
テスト コントローラーから [コンピューター]、をクリック **[開始]は、[コントロール パネル]を選択し、[管理ツール]**を選択し、を **[コンピュータの管理]**を選択します。
[コンピューターの管理] ダイアログ ボックスが表示されます。
開いている [ローカル ユーザーとグループ] は、**[グループ]**を選択します。
グループが表示されます。
ユーザーまたはコンピューターを追加するには、TeamTestControllerUsers を右クリックし、[グループに追加] をクリックします。
[TeamTestControllerUsers プロパティ] ダイアログ ボックスが表示されます。
メンバーの一覧を参照して、該当のドメイン ユーザー アカウントまたはコンピューターが追加されているかどうかを確認します。そうでない場合、追加を選択します。
[ユーザー、コンピューターまたはグループの選択] ダイアログ ボックスが表示されます。
既定では、ユーザーまたはグループだけが表示されます。コンピューターを追加するには、[オブジェクトの種類]、を選択します [コンピューター] を選択し、**[OK]**を選択します。
コンピューターを追加するには、**選択するには、オブジェクト名を入力します。***コンピューターの名前を入力し、[OK]**を選択します。
注意 ビルド エージェントが実行されているコンピューターおよびテスト エージェント用のコンピューターの両方を追加する必要があります。
場所が正しい、**選択するには、オブジェクト名を入力します。*****のユーザー アカウントの名前を入力し、を **[OK]**を選択するためのドメイン ユーザー アカウントを追加するには、確認します。
重要 この手順を繰り返し、必要なユーザー アカウントをすべて追加します。
変更を追加するには、**[OK]**を選択します。
コード化された UI テストを実行するようにテスト エージェントを設定
アプリケーションをビルドした後にスケジュールされたテストの一部としてコード化された UI テストを実行する場合は、次のいずれかを実行する必要があります。
テスト エージェント コントローラーおよびアプリケーションのロールを指定するテスト設定ファイルを使用して、テストを実行します。Visual Studio を使用してこれらのテストの設定を作成します。テスト エージェントのいずれか 1 つをテストの設定でテストを実行するロールに割り当てている場合は、この手順に従って、テスト エージェントがサービスではなくプロセスとして実行されるように設定する必要があります。テスト コントローラーとテスト エージェントの詳細については、「テスト コンピューターでのテストの実行またはデータの収集の設定」および「テスト エージェントおよびテスト コントローラーのインストールと構成」を参照してください。
テスト コントローラーを指定しないテスト設定ファイルを使用します。この場合は、ビルド エージェント サービスがデスクトップと対話できるように設定する必要があります。サービスのプロパティで [デスクトップとの対話をサービスに許可] チェック ボックスをオンにします。これにより、ビルド エージェントがコード化された UI テストを実行できるようになります。
注意 ブラウザーを起動するコード化された UI テストを実行する場合、ビルド サービスのサービス アカウントがそのブラウザーの起動に使用されます。このサービス アカウントは、このコンピューターでアクティブなユーザーであるユーザー アカウントと同じである必要があります。同じユーザー アカウントでない場合、ブラウザーは起動しません。
コード化された UI テストを実行するようにテスト エージェントを設定するには
- コード化された UI テストを実行するようにテスト エージェントを設定するには、「方法: テスト エージェントを設定して、デスクトップと対話するテストを実行する」の手順に従います。
チーム ビルドを使用して BVT を実行するには
チーム ビルドを使用して BVT を実行するには
チーム エクスプローラーで、チーム プロジェクトを選択します。
[ビルド] を右クリックし、**[新しいビルドをキューに配置]**を選択します。
(省略可能) ビルドの場所およびディレクトリを変更します。
[キュー] を選択します。
ビルドが開始されて、[ビルド エクスプローラー] ダイアログ ボックスが表示されます。
ビルドが完了すると、詳細を表示するに 完了 を選択します。
ビルドの詳細を表示する場合は、一覧内のビルドをダブルクリックします。
ビルド情報を示す新しいタブが表示されます。テストの実行の状態を表示できます。
テスト結果の詳細を表示するには、テストを開き、**[テスト結果の表示]**を選択するには、矢印を選択します。
テスト結果をローカルに保存するフォルダーを選択します。
[テスト結果] ウィンドウにテスト結果が表示されます。
詳細については、「アプリケーションのビルド」を参照してください。
参照
概念
Microsoft テスト マネージャーでの自動テストの実行
Visual Studio の Web パフォーマンス テストとロード テストを使用したパフォーマンスおよびストレスのテスト