我们的开发团队一直在使用 GitFlow分支策略,它非常棒!
最近我们招募了一些测试人员来提高我们的软件质量。其思想是每个特性都应该由测试人员进行测试/QA。
在过去,开发人员在单独的特性分支上处理特性,并在完成后将它们合并回 develop
分支。开发人员将自己在 feature
分支上测试他的工作。现在,对于测试人员,我们开始提出这个问题
测试人员应该在哪个分支上测试新特性?
显然,有两种选择:
develop
分行最初,我们认为这是必然的选择,因为:
develop
分支合并的所有其他特性进行了测试。develop
)。他不需要询问开发人员哪个分支用于哪个特性(特性分支是由相关开发人员独家自由管理的个人分支)最大的问题是:
develop
分支被虫子污染了。
当测试人员发现错误或冲突时,他将它们报告给开发人员,开发人员在开发分支上修复问题(功能分支一旦合并就被放弃了) ,之后可能需要更多的修复。多个子序列提交或合并(如果再次从 develop
分支重新创建一个分支以修复 bug)使得从 develop
分支回滚特性变得非常困难。有多个特性在不同的时间合并到 develop
分支并固定在其上。当我们希望只使用 develop
分支中的一些特性来创建发行版时,这会产生一个大问题
因此,我们再次考虑,并决定我们应该在特性分支上测试特性。在测试之前,我们将从 develop
分支到特性分支的更改合并(赶上 develop
分支)。这很好:
develop
分支;然而,也有一些缺点
develop
分支中。这意味着,当这两个特性都合并到开发分支时,您将不得不再次针对 develop
分支进行测试。你要记住以后要测试这个。以上就是我们的故事。由于资源有限,我希望避免在任何地方测试任何东西。我们仍在寻找更好的方法来应对这一问题。我很想听听其他球队是如何处理这种情况的。