QA 有没有办法在每个功能合并到神圣分支之前进行功能测试?

问题描述 投票:0回答:1

我是一名 Laravel 开发人员,致力于一些 Laravel 项目。我想知道是否有最好的方法来进行开发周期。在本例中,我将项目存储在版本控制系统(例如 Gitlab)中。我有 3 个神圣的分支,它们是:

  1. 师父。该分支中唯一要做的就是在该分支发布并稳定一周或一个月后合并该分支。在任何其他情况下都不要碰这个。仅用于在发布分支发生问题时进行备份。
  2. 释放。这是用于生产部署的主要分支。所有测试完成后,开发分支将合并到此分支。
  3. 发展。该分支用于最终测试。也许就像内部发布或类似的东西。合并到该分支的每个功能分支都需要发布。另外,如果需要任何修补程序,这是源分支,然后在修复后再次将修补程序分支合并到此分支,然后再次进行测试。

除了神圣的分支之外,还有其他分支,例如功能和修补程序。我的部署工具是与 Jenkins 集成的Deployer

例如我有 3 个功能和 3 个分支,就像这样

  1. 身份验证管理(功能身份验证管理分支),
  2. 仪表板(功能仪表板分支)
  3. 购物车(功能购物车分支)

QA 在不克隆项目并在自己的本地计算机上更改分支的情况下进行测试的最佳方法是什么?我想到的是,将 git 分支与服务器虚拟主机集成,以便每个分支都有自己的子域,我知道这些子域当前不可用,并且可能存在一些安全问题。另一件事是手动为每个分支创建 Jenkins 和 Deployer 实例,这确实需要很大的努力。也许你们还有其他建议吗?

QA之所以要在功能测试上进行测试,我个人认为,是因为功能完成后,不知何故与需求确实不一样。开发人员可以销毁该分支并重新制作该功能,而不会污染神圣的分支。还有一个原因,以便我们可以采取现在和以后发布什么功能。

laravel jenkins testing deployment branch
1个回答
0
投票

听起来您可以从临时环境中受益,该环境通常完全用于您正在寻找的目的。根据我的经验,应用程序往往适用于几种环境:

  • 开发,开发者用它来疯狂,因为它不包含重要数据
  • 测试,通常仅由 QA 使用来测试新功能,但是我一直在与会跳过此环境并更喜欢仅使用暂存的公司合作
  • Staging,由 QA 和可能的客户用来测试新功能,它通常使用实际生产数据的一些模拟版本,并应尽可能代表生产环境
  • 生产,这可能是显而易见的,由软件的实际用户使用

新功能通常在自己的分支中开发,然后将被转移到开发分支(可能在某种同行评审之后)。每当新功能的子集准备好进行测试时,开发分支就可以转移到暂存阶段。当然,此过程中包含许多个人喜好,因此请随意修改您认为适合您的情况的任何内容。阅读舞台环境可能会给您带来所需的灵感。

最后,在处理源代码控制时(如果做得正确),不需要像您这样的“备份”分支,因为任何提交都可以恢复。

© www.soinside.com 2019 - 2024. All rights reserved.