将 JMeter 性能测试与 Jenkins 集成 CI

Integrating JMeter performance tests with Jenkins CI

我正在努力将性能测试与 CI/CD 基础架构集成。我的性能测试工具是 JMeter,CI 服务器是 Jenkins。两者都可以完成他们的工作,但是当谈到在 CI/CD 管道中集成性能测试时,事情就不再那么微不足道了。

要拥有正确的部署管道 CI 服务器需要知道何时应将性能测试构建视为通过或失败。验证平均响应时间不是一个好的选择——完全不同的 SLA 可以应用于作为同一 JMX 文件的一部分执行的不同类型的事务。断言特定交易类型的平均响应时间是一个更好的选择,但它离完美的解决方案还很远。这不会告诉我们例如如果相同类型事务的响应时间增加(这可能与内存泄漏有关)或减少(这可能是服务器端缓存的福音)。因此,仅依赖平均响应时间可能会对软件质量产生错误的信心。

我分析了几个工具,包括 JMeter Maven Analysis Plugin 和 Jenkins Performance Plugin。 None 他们似乎提供了我正在寻找的东西。

在 CI 之前的时代,性能测试是在开发生命周期的后期执行的,并由人工进行分析。我想知道是否有人遇到任何足够先进的工具,可以让 CI 服务器可靠地确定 perf 测试构建是否应该标记为通过或失败,而无需人工验证结果?

我是 Jenkins 专家,但对 JMeter 的掌握程度不高。您的 JMeter 结果是否可以通过脚本进行处理,以便判断交易类型 Z 何时超过了 运行 可接受的时间限制?

看起来您需要用一些额外的逻辑来解析 jmeter 结果才能冒出 exit(1)(或任何非零)值。

在没有工具提供我正在寻找的东西的情况下,我决定启动一个开源项目,在空闲时间自己创建一个:

https://github.com/automatictester/lightning

它仍处于早期阶段,但核心功能已经存在。现在用附加功能扩展它只是时间问题。