【问题标题】:Continuous integration where should my automated tests be run from持续集成应该从哪里运行我的自动化测试
【发布时间】:2016-05-24 22:50:56
【问题描述】:

我有一个连接到源代码控制系统的 Bamboo 服务器。 如果将新代码添加到源代码控制系统中,则会在 Bamboo 中触发新构建,此构建的结果是两个工件:“code.jar”“automated_test_scripts”。

Jar 文件被部署到我的测试服务器。 但是,automated_test_scripts 应该直接从 Bamboo 本身运行,或者可能是只处理运行自动化测试的专用测试服务器,或者甚至应该将其复制到测试服务器并从那里运行,关于这些选项的最佳实践是什么?

【问题讨论】:

  • 您能用 automaed_test_scripts 描述所需的流程吗?你想让它们在测试服务器上运行吗?
  • automaed_test_scripts = postman 集合和 postman 环境字段。两个 jason 文件。这些文件将使用 Newman(postman/jetpacks 命令行工具)针对部署到测试服务器的 .jar 文件运行。也许这些文件不是每个人说的问题,而是下一步从 Newman 运行解析 junit 文件并将结果注入 Jira/Xray。希望这能更好地说明这一点。

标签: continuous-integration bamboo regression-testing


【解决方案1】:

最佳实践表明,在所有单元测试成功完成之前,您的构建才完成。否则你不知道构建是否成功。 Bamboo 最好在构建过程中自动执行单元测试并报告结果。

这可以设置为构建中的一个单独阶段,或者甚至只是同一构建作业中的后续步骤。如果它是一个单独的阶段,您可以根据需要在专用测试服务器上的竹远程代理上执行它。

所有构建完成后,您便拥有可以部署到暂存、UAT 和生产环境的工件,并且对质量充满信心,因为它们已通过所有单元测试。

【讨论】:

  • Bamboo 已经按照您在评论中描述的方式设置。我关心的是当代码已经构建并且所有单元测试都通过时什么是最佳实践。我还想进行自动化程度最低的 ui 测试和集成测试。我已经创建了负责将源代码部署到测试机器的部署脚本,但是我应该从哪里运行我的自动化测试呢?我担心的是,如果我从 Bamboo 运行它们,我可能会用太多逻辑来污染 Bamboo,可能会在其他地方更好地执行!
  • 在我自己的项目中,我有一个运行集成测试的子构建计划。主构建计划触发子计划。集成测试工件由主计划构建,子计划等待依赖系统可用(它们可能正在被其他测试运行使用),然后部署到集成测试环境并执行集成测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 2014-03-15
  • 2023-03-17
  • 1970-01-01
相关资源
最近更新 更多