DevOps 管道中的手动测试

Manual Testing in Devops Pipeline

我们目前正在做传统的瀑布模型,我们在 SIT 和 UAT 环境中进行手动和自动化测试。我们正在转向 Agile/Devops,我正在开发 Devops 上的 POC。根据我的研究,DevOps 适用于 CI 和 CD,这意味着测试是自动化的,管道是从开发到生产的自动化。然而,当我们实施时,我们希望在不同的环境中进行自动代码部署,但在代码被签署用于 PROD 部署之前停止管道以进行手动 QA 测试和手动 UAT。如果我将 Jenkins 用于 Devops,是否建议停止管道几天,直到完成手动 QA 并完成手动批准? DevOps 实施中如何考虑手动测试?任何见解都会有所帮助。

管道阻塞数天肯定是一种反模式。这是缓解它的一种方法 -

  1. 单独的持续集成 (CI) 和持续部署 (CD) 管道。
  2. 有一个单独的进程为环境路由正确的工件(免责声明:我偏向于我们提供的工件 - https://relizahub.com, since I'm working on it; video how approvals are implemented - https://www.youtube.com/watch?v=PzdZjMby6Is
  3. 所以本质上,发生了什么 - 你 运行 CI 管道,它创建了一个部署工件。然后你有一些批准(手动 and/or 自动),这些批准专门记录在这个工件上。然后你有一个单独的部署管道,它选择正确的工件并进行部署。这样所有管道都可以快速 运行,您不必处理管道 运行 卡住很长时间。

CI 和 CD 是使团队能够提高生产力的工程实践。 而这些应该一步一步地实施——先实施CI,然后实施CD。因此,随着您在 DevOps 流程中的成熟,构建管道。

例如,利用 Jenkins 管道首先编排 CI 管道,其中以下是自动化的-

  1. 应用程序构建,
  2. 单元测试,
  3. 代码覆盖率,

此阶段的输出是部署在 Nexus 等二进制存储库中的二进制文件。

成功实施 CI 后的下一步是 CD - 将工件从一个环境自动部署到另一个环境的过程。考虑到我们需要在 QA 中部署工件(二进制文件)以进行测试。您可以通过将工件从 DEV 移动到 QA 系统来扩展 CI 管道以执行 CD。然后就此停止,因为只有在手动测试记录被批准后,才会移动到下一个环境。这意味着将手动触发进入下一个环境。因此,在计划构建 CD 流水线时,先列出应该自动化的基本步骤,然后逐步推进。

一旦您准备好使用自动化测试和工具,您就可以完成您的 CD 管道并自动化从 DEV-QA-NONPROD 等转移到工件