Unit testing 使用TFS进行自动测试-在所有注册代理上完全运行测试

Unit testing 使用TFS进行自动测试-在所有注册代理上完全运行测试,unit-testing,testing,tfs,hyper-v,Unit Testing,Testing,Tfs,Hyper V,我已经建立了一个虚拟环境,使用TFS、Hyper-V等进行自动测试 在我的Hper-V机器上,到目前为止,我有4个虚拟机在运行,都是不同的Windows版本。(XP、Vista和2x Win7) 我的计划是在每个虚拟机上运行所有编码测试。不知何故,所有虚拟机都被用于测试,但是测试被分割,并且不是每个测试都在每个虚拟机上执行 我有736个书面测试和4个运行的虚拟机来执行测试,然后每个虚拟机只执行184个测试,就像启用了一些负载平衡一样 相反,我希望在每个运行的VM上执行所有736测试 我是否错过了

我已经建立了一个虚拟环境,使用TFS、Hyper-V等进行自动测试

在我的Hper-V机器上,到目前为止,我有4个虚拟机在运行,都是不同的Windows版本。(XP、Vista和2x Win7)

我的计划是在每个虚拟机上运行所有编码测试。不知何故,所有虚拟机都被用于测试,但是测试被分割,并且不是每个测试都在每个虚拟机上执行

我有736个书面测试和4个运行的虚拟机来执行测试,然后每个虚拟机只执行184个测试,就像启用了一些负载平衡一样

相反,我希望在每个运行的VM上执行所有736测试

我是否错过了什么,或者我完全走错了方向?
感谢您的帮助。

您看到的“负载平衡”行为是预期的默认行为。如果要针对每个测试代理运行所有测试,则需要使用允许它们彼此区分的属性配置测试代理,然后将生成配置为运行测试4次,每个测试都具有针对四个测试代理之一的不同测试设置。

感谢您的帮助。我用不同的属性配置了测试代理,但是我没有找到一种方法来配置我的构建定义,以便在构建后运行测试4次,也没有方法在每次测试运行后自动更改测试设置。当我打开构建定义时,我只能选择提供一个*.testsettings文件,也没有设置测试执行次数的选项。你能提供一些更详细的信息来说明如何做到这一点吗。非常感谢。在构建定义中,您需要添加四个单独的测试集,每个测试集使用不同的.testssettings文件。要添加测试集,请在构建过程设置中选择“Automated Tests”行,这将导致在该行的末尾显示省略号按钮。单击省略号按钮将允许您添加新的测试集。再次感谢。很好,但请允许我最后一个问题。。。是否可以同时运行所有测试集。看起来它在一个VM上运行第一个测试,然后在第二个VM上运行第二个测试。在所有配置的VM上同时执行测试将是最终目标。如果您的目标是减少总体构建时间,则可以尝试更改构建过程模板,以在ParallelForEach任务而不是ForEach任务中运行测试集。(N.B.:我从来没有这样做过,所以我不确定它会起作用,但这是一个比较容易的尝试。)但是,如果这些不是真正的单元测试,而实际上你是在尝试进行负载测试,那么你可能需要考虑去查看TFS负载测试功能。这不是负载测试。它的“简单”功能是每晚构建一次,然后在独立Hyper-V服务器上托管的所有虚拟机上同时运行所有可用的单元和编码UI测试,以尽快、高频率完成测试。随着时间的推移,测试用例将爆炸式增长,所有测试都需要在代表自WindowsXPSP3、32和64位版本以来所有受支持的Windows操作系统的虚拟机上执行。因此,在许多虚拟机上有许多测试。如果只是构建定义内的所有测试和链接