免责声明:此问题与“源代码中的测试用例”无关
我正在开发一个超快速的开发环境,其中手动测试用例不重要(谢天谢地,经过一些推动,这方面的情况很光明)并且 UI 自动化被认为是“测试”。
自动化代码库(Selenium 测试)已成为应用程序代码库的一部分。因此,随着每个应用程序分支都有一个正在开发的专用项目需求,它还会运行我们为该特定分支开发的相应自动化测试。由于我们的 QA 数量有限,我们最终有时会在多个分支机构工作。并且在某个时间点(没有具体时间)构建工程师将应用程序代码库分支之一推送到主干)。
现在这就是出现问题的地方 -
考虑我们在一个分支中开发测试(这意味着应用程序定位器、一些常用实用程序、一些测试)并且这个分支还没有进入主干,现在我们开始在新的应用程序分支上工作,我们需要我们在其他分支中开发的部分代码分支。我们现在正在修复中...
由于合并不是那么频繁,当一个分支被合并到主干时,它最终会导致更多的自动化代码冲突,如果合并更频繁,这可能会减少。而且我们不能为了自动化代码库而要求合并到主干。在它可以移动到主干之前,应该有足够好的应用程序源代码在分支中工作。
所以我建议将自动化代码从应用程序目录中取出。为了跟踪应用程序分支,我们可以在 QA 自动化项目中设置相应的分支。即应用程序分支 feature1、feature2 等将在自动化项目中具有相应的分支 feature1、feature2 等。
这样做将允许 QA(这意味着我们)在需要时合并到我们自己的主干,并消除当前对自动化代码何时进入应用程序主干的依赖。
我在这一点上看到的唯一障碍是保持 QA 自动化主干代码与应用程序代码主干同步,以便它可以用于测试项目代码库主干。但是当我们更频繁地合并到 QA 时,自动化主干将对应用程序主干中可能尚不可用的某些功能进行测试。那么——
我们是否应该在自动化代码库中维护一个与应用程序源代码主干相对应的不同分支。这样做我们仍然可以在需要时继续合并到自动化主干,或者
我完全错了,有更好的解决方案吗?