开发人员和质量保证工作之间的Jenkins管道依赖性

时间:2018-06-19 22:46:00

标签: selenium jenkins-pipeline

我们的开发人员使用Bitbucket作为代码存储库。 开发资料库是:AbcdProject

我们来自质量检查小组的成员,编写了硒自动化脚本。什么是正确的方法-

自动化脚本应该放在与Dev相同的仓库中的tests文件夹下。喜欢:

AbcdProject /
-src
-测试
--unit
-功能
--- AbcdAutomationScripts
---- src
---- pom.xml
---- testng.xml

还是我们应该有自己的存储库,而我们的脚本应该放在该存储库下?喜欢:

Dev回购:
AbcdProject /
-src
-测试
--unit

质量检查回购:
AbcdAutomationScripts /
-src
--pom.xml
--- testng.xml

我希望有一个单独的仓库进行质量检查,但我想了解行业标准/最佳实践。

考虑到这一点,我们为质量检查准备了一个单独的仓库:
现在,当开发人员将代码推送到bitbucket中时,他的jenkinsfile会触发构建并将代码部署在dev-server中。但是问题是我该如何在Jenkins Pipeline中设置依赖关系,以使得当开发人员完成构建的触发器并在开发服务器中部署了代码时,应该在另一个仓库中执行我的Selenium脚本。

2 个答案:

答案 0 :(得分:0)

标准是将测试放在同一项目中。后果:

  • 开发人员可以看到质量检查的期望。他们知道什么是重点,什么不是重点。
    • 他们可以查看是否应该关注的内容,反之亦然,因此可以帮助提高测试套件的质量。
    • 缺点是开发人员可以选择专门编程以通过测试,而不是提高质量。但是,如果这是一回事,那么针对错误目标的开发人员就是更深层次问题的征兆,例如,通常会激励开发人员针对错误目标。
  • 开发人员可以查看QA中正在使用哪些DOM访问路径。这有助于他们了解预期哪些路径是稳定的。在陷入“每一个小的开发人员变更都需要调整所有Selenium脚本”的噩梦之前,您就有机会解决有关访问路径稳定性的任何误解。
  • 责任:开发人员和质量检查人员需要协调其目录结构。通常,这不是什么大问题,如果您有有用的SCM(例如git,甚至svn也应该工作),这并不是什么大问题,但是惯例必须到位并为每个人所了解。
  • 质量检查人员会注意到开发者是否开始新的开发分支。

答案 1 :(得分:0)

目前我已将自动化测试代码库与开发代码库合并,并合并了两个 pom,并能够在 CI/CD 管道上有效运行我的自动化案例,并在 jenkinsfile 中添加运行测试的阶段并执行 mvn clean install。

话虽如此,我仍在寻找一些更好的解决方案,我不需要合并两个 pom 并处理松散耦合的开发和测试代码。