我们有一个前端开发人员,两个后端开发人员和一个QA。QA负责使用Cypress编写端到端测试。编写单元测试。后端开发人员在后端回购中编写单元测试,而QA编写微服务集成和e2e测试。
我希望QA和开发人员能够同步工作,这样,当由开发人员创建拉请求时,就会对其进行检查,但只有在集成和e2e测试准备就绪时,才能将其合并,而QA应该在相同的特性分支中处理。
这样做对吗?使开发和测试保持同步的最佳方法是什么?
我们还有一个CI/CD管道,所以当代码被合并时,重要的是所有的测试都准备好了。
开发人员似乎不太喜欢这种方法,因为他们需要最早将代码合并到开发分支中,因此从Developers创建的下一个特性分支最近发生了变化。
发布于 2021-04-15 22:02:15
他们在你想要的地方合适吗?
据我所知,开发人员有一个既得利益,尽快合并代码,可能甚至会损害其他需求。正如您已经指出的,他们因将其特性分支引入下一个构建而获得奖励。
另一方面,QA在确保良好的测试覆盖率方面有既得利益,即使这意味着特性分支不会进行下一个构建。
这是利益冲突。
这不一定是坏事。对抗性测试是发现bug的好方法。但是在一个合作项目中,冲突总是意味着放慢速度。
所以你看重的是什么?说到这里,你会选择什么而放弃其他人?
在这种情况下:
如果价值在于将这些特征带给人们,那么开发人员的激励是正确的。QA是,而且将永远是追赶。
如果该值是为了确保只有经过测试的代码才能通过,那么激励机制就需要改变。开发人员必须清楚地认识到,仅仅编写这个特性和他们自己的单元测试是不够的。在QA编写了自己的测试并通过测试之前,这个特性是不会有任何进展的。
现在,虽然你将有一个问题,在团队的平衡。3开发对1质量保证是不平衡的。您可以通过雇用更多的QAs来纠正这一点,但另一种解决方案是让开发人员协助QA工作,让QA对他们所做的测试进行4眼检查。
即。前端开发人员可以测试后端系统,后端开发人员可以测试前端。
通过这样做,devs获得了测试的乐趣,他们所做的学习将反馈给他们开发系统的方式,从而使将来的测试变得更容易。它还将提高测试覆盖率,并且由于开发人员喜欢优化,可能会提高测试的稳定性和执行速度。它还会吸引开发人员将QA看作是站在他们一边的,当他们的分支没有进行下一个构建时,这应该会让他们产生怨恨。
https://softwareengineering.stackexchange.com/questions/425480
复制相似问题