複数のコンピューターで自動テストを同時に実行する方法
発行: 2016年7月
Microsoft Test Managerを使用してテスト計画から実行する自動テストが多数ある場合は、テスト計画で自動テストを複数のコンピューターで同時に実行する必要があります。 こうすることで、テストの実行を短時間で完了できます。 テスト計画から自動テストを実行するときは、次の図に示すように、使用する環境のテスト コントローラーによって、テストを実行するためのテスト エージェントのセットが管理されます。 そのためには、クライアント ロールなど、テストを実行するロール向けに複数のコンピューターを含むように環境を設定する必要があります。 さらに、この環境をテストの設定で使用した後で、テストを実行するクライアント ロールを選択する必要があります。 この環境を次の図に示します。ここでは、クライアント ロールがテストを実行します。 環境とテストの設定の詳細については、「テスト コンピューターでのテストの実行またはデータの収集の設定」を参照してください。
テスト コントローラーは、テストの開始、テストの停止、テスト エージェント ステータスの追跡、およびテスト結果の収集を行うためにテスト エージェントと通信します。 テスト コントローラーがテストの実行のためにテストを受け取ったときに、テストの数が 100 を超えていた場合、テスト エージェント コンピューターに送信できるように、テスト コントローラーによってテストがグループに分けられます。 このテストのグループを、バケットと呼びます。 バケットの既定のサイズは 100 に設定されます。 バケットの送信先となるエージェントは、テストの設定で選択されたテストを実行するロール内の使用可能なコンピューターの数に基づいて決定されます。 たとえば、テストの実行に 250 個のテストが含まれている場合、テスト コントローラーはこれらのテストを 3 つのバケット (テストの数はそれぞれ 100 個、100 個、および 50 個) に分割します。 3 つのテスト エージェントがある場合、最初の 100 個のテストのバケットは agent1 に送信され、次の 100 個のテストのバケットは agent2 に送信され、残りの 50 個のテストのバケットは agent3 に送信されます。
注意
テスト計画からテストを実行するときは、バケットの既定のサイズは変更できません。
テストのバケットの処理が完了したことをテスト エージェントがテスト コントローラーに通知すると、テスト コントローラーは、残りのバケットに応じてテスト エージェントに次のテストのバケットを送信します。 たとえば、テストの実行に 600 個のテストが含まれている場合、テスト コントローラーはこれらのテストを 6 つのバケット (テストの数は 100 個ずつ) に分割します。 使用可能なエージェントが 3 つの場合、まず、100 個のテストで構成されたバケットが各エージェントにそれぞれ 1 つずつ送信されます。 エージェントでこれらのテストのバケットの処理が完了すると、残り 3 つのバケットから、100 個のテストで構成された次のバケットがエージェントに送信されます。
テストの実行におけるテストの数が 100 個 (バケットの既定のサイズ) 未満の場合、これは部分バケットと見なされます。 この場合、エージェントごとのテスト数の最小値に基づいて、実行されるテストが分割されます。 この値は 10 です。 たとえば、テストの実行に 27 個のテストが含まれ、使用可能なテスト エージェントが 3 つの場合、最初の 10 個のテストは agent1 に送信され、次の 10 個のテストは agent2 に送信され、残りの 7 個のテストは agent3 に送信されます。 また、部分バケットのテスト数は可能な限り均等に分配されます。 テストの実行に 33 個のテストが含まれ、使用可能なテスト エージェントが 3 つの場合、各テスト エージェントはそれぞれ 11 個のテストを受け取ります。
必要条件
- Visual Studio Enterprise, Visual Studio Test Professional
警告
テスト計画で、テストの実行に含まれるテストの数が 10 個以下の場合は、環境内に使用可能なエージェントが複数あっても、テストが実行される 1 つのエージェントにのみテストが送信されます。
重要
テストの実行については、環境内の特定のコンピューターでどのテストを実行するかを制御することはできません。一部の自動テストを別のテスト構成で実行する必要がある場合、1 つのテストの実行でこれを行うことはできません。それぞれのテストの実行に対して別々の環境を作成することはできます。複数の環境でテストの実行を同時に開始できるので、自動テストは別々の各環境のコンピューターで同時に実行されます。
複数のコンピューターにおける自動テストの同時実行
テストの実行に使用する、同じロール内に複数のコンピューターが含まれる環境を作成します。 環境の作成方法詳細については、「標準ラボ環境」または「SCVMM (仮想) 環境」を参照してください。
この環境と同じロールを持ち、このロールを複数のコンピューターに使用するテスト設定を、テスト実行用ロールとして作成します。 テストの設定の作成方法の詳細については、「手動テストでの複数の診断データの収集」を参照してください。
作成したテストの設定および環境を使用して、テストの実行を開始します。
テスト エージェントがテストの実行でビジーになっていることがわかります。
参照
テスト コンピューターでのテストの実行またはデータの収集の設定
標準ラボ環境
格納済み仮想マシンおよびテンプレートを使用した SCVMM 環境の作成
Running Automated Tests in Microsoft Test Manager