【问题标题】:Is there a tool to keep track of manual steps in a CI or CD process?是否有工具可以跟踪 CI 或 CD 流程中的手动步骤?
【发布时间】:2016-03-07 11:13:48
【问题描述】:

我正在寻找某种工具,我可以将其集成到我们的 CI 流程中,以跟踪我们的手动步骤。

例如,我们希望在将版本推送到测试服务器之前,在集成服务器上运行一些手动测试脚本。目前 QA 会在构建完成时收到通知,执行手动测试,然后告诉某人推送版本以测试是否可以。

我希望找到能够跟踪手动测试何时成功完成并自动推送版本进行测试的东西。

应该可以从 Visual Studio Online 通知/触发该工具,并让它也触发 VSO 中的下一步。

我一直在谷歌搜索各种不同的东西,但似乎找不到任何接近我正在寻找的东西。像 Asana 这样的待办事项列表工具似乎没有我们需要的集成点,但也许我只是遗漏了一些东西?

【问题讨论】:

  • 你不能自动运行这些任务吗?为什么需要有人手动启动脚本?
  • 抱歉,它们不是代码中的脚本,而是手动测试场景。现在的主要问题是通过 UI 上传文件,等待它被处理并查看结果是否正确。第一步是给我们带来问题,而最后的验证可能总是需要人工完成
  • "现在的主要问题是通过 UI 上传文件,等待处理,看看结果是否正确。" -> 是否有无法通过 API 上传的原因?
  • 不,但是我们要检查前端(单页应用程序)中的逻辑 :) 我们有处理大部分 API 的单元和集成测试,但前端的测试很少,这就是为什么我们需要在将其放入测试环境之前运行一组手动测试。如果有足够的时间,我们可能可以将整个事情自动化,但现在没有足够的资源来实现这一点

标签: continuous-integration build-process continuous-deployment azure-devops devops


【解决方案1】:

您可以将新的发布管理工具与测试用例结合使用,以获得您想要的结果。

在 VSTS 中,您可以创建测试用例以反映所需测试的步骤,然后创建测试计划或套件以反映您需要手动运行的测试列表。

然后,作为发布过程的一部分,您可以创建一个自定义任务,等待针对您的列表完成测试运行。如果该测试运行全部通过,则进入下一步,如果任何测试失败,则发布失败。

这应该相当易于设置,您需要调用 API 来检查测试运行。如果您的测试人员使用 Microsoft 测试管理器,您还可以获得与您正在部署的构建相关联的结果并获得完全的可追溯性。

【讨论】:

  • 感谢@MrHinsh。我认为它依赖于我们在 VSTS 中的所有测试?我们已经看过了,但似乎无法找到如何连接它。我们所有的测试套件都在 TestRails 中,故事/错误都在 Jira 中,因此将所有内容都移至 VSO 可能需要付出更大的努力才能避免手动过程:)
【解决方案2】:

您可以尝试使用 VSTS 中的Release Management 工具。可以实现你想要的部分功能。

我假设您在构建定义中包含三个步骤:

  1. 构建解决方案
  2. 发布到集成服务器
  3. 发布到测试服务器

您可以在构建定义中保留前两个步骤。然后在 Release Management 中创建一个发布定义,并在其中添加第三步。将定义配置为“持续部署”并将其链接到您的构建定义。分配您的 QA 作为此发布任务的批准者。现在,一旦构建任务完成,就会创建发布任务。但它将等待批准人(您的 QA)批准。测试通过后批准发布任务,构建将发布到测试服务器。否则,拒绝它。

【讨论】:

  • 这听起来可行。可能缺少的一件事实际上是跟踪 QA 所做的步骤。我们目前使用 TestRails,所以也许有一种方法可以从 testrails 触发 VSO 中的批准?
  • 不,目前没有任何方法可以做到这一点。
  • 埃迪,你可以用 VSTS 做到这一点!
  • @MrHinsh 感谢您的提醒:)。我的意思是我找不到触发 TestRails 批准的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 2019-09-02
  • 1970-01-01
相关资源
最近更新 更多