我正在致力于将性能测试与 CI/CD 基础架构相集成。我的性能测试工具是 JMeter,CI 服务器是 Jenkins。两者都可以完成他们的工作,但是当谈到将性能测试集成到 CI/CD 管道中时,事情就不再那么微不足道了。
为了拥有正确的部署管道,CI 服务器需要知道何时应该将性能测试构建视为通过或失败。验证平均响应时间不是一个好的选择——完全不同的 SLA 可以应用于作为同一 JMX 文件的一部分执行的不同类型的事务。断言特定交易类型的平均响应时间是一个更好的选择,但它离完美的解决方案还很远。这不会告诉我们例如如果相同类型事务的响应时间增加(这可能与内存泄漏有关)或减少(这可能是服务器端缓存的福音)。因此,仅依赖平均响应时间可能会对软件质量产生错误的信心。
我分析了几个工具,包括 JMeter Maven Analysis Plugin 和 Jenkins Performance Plugin。他们似乎都没有提供我正在寻找的东西。
在前 CI 时代,性能测试在开发生命周期的后期执行,并由人工进行分析。我想知道是否有人遇到过足够先进的工具,可以让 CI 服务器可靠地确定 perf 测试构建是否应该标记为通过或失败,而无需人工验证结果?
最佳答案
在没有工具提供我所寻找的东西的情况下,我决定启动一个开源项目,在空闲时间自己创建一个:
https://github.com/automatictester/lightning
它仍处于早期阶段,但核心功能已经存在。现在用附加功能扩展它只是时间问题。
关于performance - 将 JMeter 性能测试与 Jenkins CI 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30381478/