【问题标题】:Github flow QA and UAT testingGithub 流程 QA 和 UAT 测试
【发布时间】:2019-09-08 17:06:03
【问题描述】:

我最近阅读了有关 github 流程的信息。到目前为止,我正在使用 gitflow,我发现 Github flow 看起来很有趣,因为它在工作流方面不像 gitflow 那样繁重。

我不明白的是,一旦功能完成,就会创建拉取请求。在合并回 master(准备生产)之前如何测试这些更改。 在 gitflow 中,一旦将某些内容提交到发布分支 UAT 环境更新,并且当测试完成并且一切正常,更改将合并到 master 并部署,我有一个 CI/CD 任务。 Github flow中UAT环境的位置在哪里?

【问题讨论】:

  • 我也在研究这个问题,到目前为止得出的结论是 Github flow 是一种分支策略,而不是部署策略。一旦需要为 PR 分支和特定环境设计适当的部署策略。

标签: github continuous-integration continuous-deployment git-flow


【解决方案1】:

每次将功能分支合并到 master 时,它都应该自动部署到 staging 环境,这就是 QA/UAT 测试完成的地方。

测试完成后,您可以使用适当的版本标签将其部署到生产环境中。

但是,假设您刚刚将Feature1 分支合并到master,然后在生产中发现了一个错误。您将从主服务器上最后部署的版本标签创建一个修补程序分支,将其部署到登台环境并执行 QA/UAT 测试。一旦通过测试,使用适当的版本标签将该修补程序分支部署到生产环境,然后将修补程序分支合并回主服务器。现在,您可以继续部署 Feature1

【讨论】:

  • 如果有几个开发团队,每个团队都在自己的功能分支中工作。假设团队完成了 feature1 并合并回 master。处理 feature2 的 team2 如何获得 feature1 的更改?还可以说现在不能部署特性 1,而是在以后的版本中部署,直到那时,由于特性 1 分支是从 master 创建的,所以 master 发生了很大变化。我们如何使用最新的 master 更改来更新 feature1?我们刚刚将 master 合并到 feature1 中?
【解决方案2】:

用户验收测试 (UAT) 是最终用户或客户执行的一种测试,用于在将软件应用程序移至生产环境之前验证/接受软件系统。 UAT 在功能、集成和系统测试完成后的最后测试阶段完成。

UAT 的主要目的是验证端到端的业务流程。它不关注外观错误、拼写错误或系统测试。用户验收测试是在一个单独的测试环境中进行的,具有类似生产的数据设置。这是一种涉及两个或更多最终用户的黑盒测试。 UAT 的完整形式是用户验收测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    相关资源
    最近更新 更多