如何:在多台计算机上同时从一个测试计划运行自动测试

如果您要使用 Microsoft 测试管理器从测试计划来运行多个自动测试,则可能需要在多台计算机上同时运行测试计划中的多个自动测试。 这样,测试运行需要较少的时间即可完成。 从测试计划运行自动测试时,所用环境的测试控制器将管理一组用于运行测试的测试代理,如下图所示。 为此,必须为运行测试的角色(例如,客户端角色)将环境设置为包括多台计算机。 此外,还必须在测试设置中使用该环境,然后选择客户端角色以运行测试。 下图中显示了这种情况,其中,客户端角色将运行测试。 有关环境和测试设置的更多信息,请参见设置测试计算机以运行测试或收集数据

测试控制器和测试代理

测试控制器与测试代理进行通信,以启动测试、停止测试、跟踪测试代理状态和收集测试结果。 当测试控制器接收测试运行的测试时,如果有 100 个以上的测试,则测试控制器将这些测试划分成可以发送给测试代理计算机的多个组。 每个组称为一个存储桶。 默认存储桶大小设置为 100。 将存储桶发送给哪个代理将基于角色中可用于运行测试的计算机的数量,该数量在测试设置中选择。 例如,如果测试运行中有 250 个测试,则测试控制器将这些测试划分成大小为 100、100 和 50 的三个测试存储桶。 如果有 3 个可用的测试代理,则含有 100 个测试的第一个存储桶将发送给 agent1,含有 100 个测试的下一个存储桶将发送给 agent2,剩下的含有 50 个测试的存储桶将发送给 agent3。

备注

从测试计划中运行测试时,无法更改默认存储桶大小。

当测试代理通知测试控制器它已完成一个存储桶的测试时,测试控制器将根据剩余的存储桶向测试代理发送下一个测试存储桶。 例如,如果测试运行中包含 600 个测试,则测试控制器会将其划分成 6 个存储桶,每个存储桶包含 100 个测试。 如果有三个可用代理,则最初会向每个代理发送一个包含 100 个测试的存储桶。 当代理完成这些测试时,测试控制器将从剩余的 3 个存储桶中向代理发送下一个包含 100 个测试的存储桶。

如果测试运行中的测试数少于 100 个(默认存储桶大小),则将其视为部分存储桶。 在这种情况下,测试控制器将根据每个代理的最小测试数的值来划分运行中的测试。 该值为 10。 例如,如果测试运行中有 27 个测试和 3 个可用的测试代理,则前 10 个测试将发送给 agent1,接下来的 10 个测试将发送给 agent2,剩余的 7 个测试将发送给 agent3。 测试控制器还会尝试在部分存储桶中均匀划分测试。 如果测试运行中有 33 个测试和 3 个可用的测试代理,则每个测试代理将获得 11 个测试。

要求

  • Visual Studio 旗舰版, Visual Studio 高级专业版, Visual Studio 专业测试工具版

警告

如果测试计划中的测试运行所包含的测试数小于或等于 10 个,则即使环境中有多个可用代理,这些测试也只发送给一个代理以运行测试。

重要

您无法控制哪些测试在测试运行环境中的特定计算机上运行。如果需要在不同的测试配置上运行某些自动测试,则无法使用一个测试运行做到这一点。可以创建不同环境以用于每个测试运行。您可以同时为多个环境启动测试运行,自动测试将同时在每个不同环境的计算机上运行。

同时在多台计算机上运行自动测试

  1. 在将用于运行测试的同一角色中创建包括多台计算机的环境。 有关如何创建环境的更多信息,请参见创建标准环境使用存储的虚拟机和模板创建 SCVMM 环境

  2. 创建一个测试设置,该测试设置具有与此环境相同的角色,并将此角色作为运行测试的角色用于多台计算机。 有关如何创建测试设置的更多信息,请参见使用 Microsoft 测试管理器为自动系统测试创建测试设置

  3. 使用创建的测试设置和环境开始测试运行。

    您将看到,测试代理现在都在忙于运行测试。

请参见

概念

设置测试计算机以运行测试或收集数据

创建标准环境

使用存储的虚拟机和模板创建 SCVMM 环境

在 Microsoft 测试管理器中运行自动测试