Testing 能否在Microsoft test Manager 2010的测试套件中同时运行两个测试用例?

Testing 能否在Microsoft test Manager 2010的测试套件中同时运行两个测试用例?,testing,microsoft-test-manager,Testing,Microsoft Test Manager,我正在尝试在Microsoft test Manager 2010中创建一个在两台机器上运行的单元测试。在这个测试中,我希望一些客户端和服务器端测试代码同时运行;依赖于服务器端测试的客户端测试已成功运行 在测试管理器中组装测试套件时,我希望能够将两个测试设置为具有相同的顺序值(因此它们同时运行),但验证阻止了这一点;设置顺序如下所示: 是否有任何方法可以实现我所追求的同步测试执行?是的,您可以使用修改后的TestSettings文件。 很抱歉回答晚了。。。我错过了关于你回答我问题的通知:-(很

我正在尝试在Microsoft test Manager 2010中创建一个在两台机器上运行的单元测试。在这个测试中,我希望一些客户端和服务器端测试代码同时运行;依赖于服务器端测试的客户端测试已成功运行

在测试管理器中组装测试套件时,我希望能够将两个测试设置为具有相同的顺序值(因此它们同时运行),但验证阻止了这一点;设置顺序如下所示:


是否有任何方法可以实现我所追求的同步测试执行?

是的,您可以使用修改后的TestSettings文件。
很抱歉回答晚了。。。我错过了关于你回答我问题的通知:-(很抱歉

如果您仍在寻找解决方案,这里是我的建议

我假设您有一个由两台机器(用于服务器和客户端)组成的测试环境。 如果是这样的话,您将无法在这两个系统上运行测试,或者更好地说,您对运行测试没有足够的控制权。请检查
实际上,我在“Visual Studio开发论坛”上发布了一个相关问题,您可以查看我在这里得到的答案:

这意味着您将最终创建两个环境,每个环境由一台机器组成(一台用于服务器,一台用于客户端)。
但是,如果您只能在DefaultLabTemplate中选择一个环境,则无法在生成定义中同时引用这两个环境

这导致了我可以建议的解决方案:

  • 创建两个实验室环境
  • 创建三个构建定义
    • 第一个将只构建您的测试代码
    • 第二个将部署第一个成功构建的最后一个成功构建,并在服务器环境上启动测试
    • 第三个将部署第一个成功构建的最后一个成功构建,并在客户端环境上启动测试
  • 在夜间自动运行第一个生成定义
  • 稍后同时触发后两者
  • 这不是很好,我知道…
    您必须将生成测试代码的生成定义与运行测试的两个生成定义同步。

    几个月前我在考虑设置类似的测试,这是我想出的最好的解决方案

    另一个我尚未尝试的选项是:

  • 使用由两台机器组成的单个测试环境,并为它们使用不同的角色(分别为服务器和客户端)
  • 在MTM中,创建两个测试设置(一个用于服务器角色,一个用于客户端角色)
  • 使用tcm.exe工具创建bat文件以启动测试(有关更多详细信息,请参阅)。
    您将需要两个tcm.exe调用,一个用于您创建的每个测试设置。
    由于tcm.exe调用只是对测试运行进行排队,因此会立即(或多或少)返回此bath文件,该文件将同时(或多或少)启动测试
  • 使用DefaultLabTemplate创建生成定义。 这一定义将:
    • 生成测试代码
    • 将它们部署到环境中的两台计算机上
    • 在最后一个部署步骤中运行bath脚本
      (您必须确保此脚本位于生成计算机上,或将其部署在那里,或使其可从生成计算机访问)
  • 正如我所说,我还没有试过。
    这种方法的缺点是,您不会在构建日志中看到测试部分,因为测试不会通过DefaultLabTemplate提供的方式启动。因此,当测试失败时,构建不会失败。
    但是,您仍然能够在MTM中看到测试结果,并将获得每台机器的测试结果


    但这取决于对您来说更重要的内容(有rest结果,或者在测试失败时有失败的构建定义,或者两者都有)这可能是您的一个解决方案。

    如果一个依赖于另一个,它们如何同时运行?服务器会公开一些数据供客户端使用。然后客户端会使用这些数据执行某些操作并将其发送回服务器。但是,服务器可能会在第一个关口失败,例如,在这种情况下启动WCF服务,我希望e将此错误记录在“服务器测试”的测试结果中。当然,如果发生此故障,“客户端测试”也会失败,但这是正确的,因为它无法与服务器通信以继续进行测试。希望这是有意义的!这离“单元”差不多远尽你所能进行测试。你能不能模拟行为并单独执行每个测试?完全同意事实上,标签是误导性的,它不是一个单元测试,它实际上是一个非常高级别的系统集成测试。我只想利用测试经理的能力在机器之间分发组件,并记录这些组件的成功和失败测试结果中的nts。可能这是一个错误的工具,如果是的话,我将非常感谢您对替代方案的任何建议?感谢您到目前为止的时间。这些测试用例是否由您的“单元测试”自动化?您希望如何启动测试?(手动:从测试管理器?使用bat文件?自动:使用构建定义?)您是否必须将两个测试结果放在一个测试结果文件中?这将允许测试在一台机器上同时运行,但不允许它们在测试管理器中的多台机器上同时运行。此答案回答了标题问题,但不是我的具体情况,因此希望它可以帮助其他人:谢谢感谢您花时间回答Elena!这是一项长期任务,下次我尝试为我的组件编写一些测试时,我可能会尝试您的建议之一。