tfs - 自动化测试和多重配置

标签 tfs coded-ui-tests microsoft-test-manager

我正在使用 Microsoft 测试管理器 2012 来创建和运行自动和手动测试。我定义了 2 种配置:一种用于应在 SQL Server 上运行的测试,另一种用于应在 Oracle 上运行的测试。

当我创建一个测试用例时 MSTM 会自动创建两个测试:一个用于 Sql Server,一个用于 Oracle。它们具有相同的 ID,这意味着它们是相同的测试。到现在为止还挺好。这就是应该发生的事情。

但我想自动化这两个测试。当我创建代码并将其与测试用例关联时,两个测试都会获得自动化代码。这很糟糕,因为我希望测试 1 在 SQL 上运行,而测试 2 在 Oracle 上运行,并且它们共享相同的测试代码。

这是否意味着我必须在测试中加入一些逻辑,以便他们知道应该在哪个数据库上运行?有没有更好的方法来避免这种情况?

最佳答案

选项 1
创建 两个不同的测试用例,一个用于 SQLServer,一个用于 Oracle,然后首先由 Test1 自动化,第二个由 Test2 自动化。所以你可以通过 运行它们。单例使用 DefaultLabTemplate11 的构建定义。

使用建议的方法,测试代码将不必实现额外的逻辑来识别它们应该在哪个数据库上运行。

你说你想使用测试用例进行手动和自动测试,所以我想你今天的测试用例由几个描述如何手动运行测试的测试步骤组成。
在这种情况下,您可以克隆现有的测试用例并使用共享的测试步骤,但是当您添加/删除一些测试步骤时,您仍然需要更新两个测试用例......这将是建议方法的唯一缺点。

为了摆脱这个缺点,您可以创建“手动数据库测试”测试用例,为它分配两个您已经拥有的配置,并将其仅用于手动测试。此测试用例将包含测试人员的所有测试步骤。
然后创建我上面描述的两个测试用例,将它们自动化并仅将它们用于自动化测试。

选项 2
如果您的测试环境是虚拟机,则可以避免创建两个测试用例:

  • 将连接字符串存储在测试环境中的文件中,并让测试读取此文件。
  • 创建两个快照:第一个包含包含 SQLServer 连接字符串的文件,第二个包含 Oracle 连接字符串。
  • 创建 两个构建定义一个将环境恢复到第一个快照,第二个将其恢复到第二个快照。

  • 通过这种方式,您可以保留单个测试用例,但另一方面,如果构建定义应该在部署和运行测试之前构建源代码,那么拥有两个构建定义可能会变得不方便。

    嗯……第三个选项是在测试中实现额外的逻辑,以便识别它在哪个数据库上运行。
    但在这种情况下,您还必须创建 两个构建定义,因为您有两个配置,并且每个构建定义只能选择一个。

    (我希望我已经成功地描述了它,不要犹豫,问它仍然不清楚的东西)。

    关于tfs - 自动化测试和多重配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19516383/

    相关文章:

    tfs - 如何在 TFS 构建定义中获取 checkin 评论/消息?

    c# - 如何调用VSTS编码的Ui脚本到QTP?

    testing - MTM 2012 - 从 MTM 创建错误时获取选定的测试步骤

    c# - 通过代码在 MTM 中执行测试

    .net - 如何从 MTM 运行 Ranorex 自动化测试?

    TFS 构建,一次构建多个分支

    windows - 如何在 Visual Studio 2008 xml 编辑器中编辑工作项?

    powershell - 如何通过 api 获取 Azure Devops/TFS 中特定构建中使用的变量

    c# - SpecFlow 中的可选表

    c# - 编码 UI - Keyboard.sendkeys - 包含特殊字符的文件的发送路径