Jmeter 在持续集成/交付环境中添加性能测试的最佳方法是什么

Jmeter 在持续集成/交付环境中添加性能测试的最佳方法是什么,jmeter,continuous-integration,performance-testing,load-testing,continuous-deployment,Jmeter,Continuous Integration,Performance Testing,Load Testing,Continuous Deployment,我即将在CI上集成性能测试,但我很难决定应该执行哪些测试以及如何运行它: 我应该在单个API上运行负载测试,还是应该运行整个工作流(例如:Login->Home Page->Search) 我应该跑多久 是否还应添加应力、峰值和浸泡测试? 我在想,这些应该从CI中用完 如果您有任何意见,我们将不胜感激。如果您不知道什么对您的应用程序很重要,就很难说您应该测试什么。在许多应用程序中,测试登录性能不如测试搜索性能和时间的次优利用率重要。然而,获得针对测试数据的准确搜索性能可能是一项挑战,但并非不可能

我即将在CI上集成性能测试,但我很难决定应该执行哪些测试以及如何运行它:

  • 我应该在单个API上运行负载测试,还是应该运行整个工作流(例如:
    Login->Home Page->Search
  • 我应该跑多久
  • 是否还应添加应力、峰值和浸泡测试?
    我在想,这些应该从CI中用完

  • 如果您有任何意见,我们将不胜感激。

    如果您不知道什么对您的应用程序很重要,就很难说您应该测试什么。在许多应用程序中,测试登录性能不如测试搜索性能和时间的次优利用率重要。然而,获得针对测试数据的准确搜索性能可能是一项挑战,但并非不可能。如果在CI上运行,可以开发脚本,在关键或经常变化的区域测试性能。可以将CI系统设置为监视这些区域中的更改,然后在必要时启动性能测试。完成后,CI可以通知开发人员他或她所做更改的区域的性能是否不符合指定的阈值。我会担心运行一些具有紧密反馈循环的关键任务性能测试,而不是担心运行许多类型的测试。记住,必须有人维护这些测试和支持基础设施

    如果不知道什么对应用程序很重要,就很难说出应该测试什么。在许多应用程序中,测试登录性能不如测试搜索性能和时间的次优利用率重要。然而,获得针对测试数据的准确搜索性能可能是一项挑战,但并非不可能。如果在CI上运行,可以开发脚本,在关键或经常变化的区域测试性能。可以将CI系统设置为监视这些区域中的更改,然后在必要时启动性能测试。完成后,CI可以通知开发人员他或她所做更改的区域的性能是否不符合指定的阈值。我会担心运行一些具有紧密反馈循环的关键任务性能测试,而不是担心运行许多类型的测试。记住,必须有人维护这些测试和支持基础设施

    在持续集成过程中包含测试的主要思想是保护您自己不受影响,即确保新功能或错误修复不会导致性能下降

    因此,通常的做法是短期覆盖基本特性,并定期运行预期数量的用户(即在每个提交或主/集成分支上)

    如果您有足够的容量和环境可用性,那么将其部署到位也是有意义的,但应该减少发生的频率(您希望使构建时间足够短,不是吗?),即隔夜或周末。通过这种方式,您将能够识别可能的错误

    这两种方法都假设以前的临时运行收集了一些参考指标,可以将其视为可接受的通过/失败标准

    假设识别饱和点/断点,因此通常不包括在CI管道中,并在主要发布之前手动运行


    查看文章以了解更多信息

    在持续集成过程中包含测试的主要思想是保护您自己不受影响,即确保新功能或错误修复不会导致性能下降

    因此,通常的做法是短期覆盖基本特性,并定期运行预期数量的用户(即在每个提交或主/集成分支上)

    如果您有足够的容量和环境可用性,那么将其部署到位也是有意义的,但应该减少发生的频率(您希望使构建时间足够短,不是吗?),即隔夜或周末。通过这种方式,您将能够识别可能的错误

    这两种方法都假设以前的临时运行收集了一些参考指标,可以将其视为可接受的通过/失败标准

    假设识别饱和点/断点,因此通常不包括在CI管道中,并在主要发布之前手动运行


    查看文章以了解更多信息

    如果您的开发人员持续提交代码,并且担心每次提交都会运行大型负载测试,那么您可以要求他们批处理提交,并在以后触发构建性能测试阶段。然而,如果QA阶段得到了很好的优化,并且可以在几分钟内完成,那么所有的临时构建都可以通过整个QA周期。10-15分钟是构建完成全自动测试的良好时间间隔。现在,管道应该将它们标记为尚未准备好生产的临时构建,并且应该仅在完成所有性能测试之后才允许它们。您还可以通过与CI QA测试匹配的短期负载测试来扩展它,但将较大的负载测试推迟到一天结束。总之,构建的生产部署必须等待负载和浸泡测试完成。它确实限制了您在一天中多次部署而无风险的能力。如果您更愿意接受一定程度的风险,您可以继续部署以进行较小的更改,如属性和配置更改。

    如果您的开发人员持续提交代码,并且担心每次提交都会运行大型负载测试,您可以要求他们在稍后对提交进行批处理,并触发性能测试阶段的构建。然而,如果QA阶段得到了很好的优化,并且可以在几分钟内完成,那么所有的临时构建都可以通过整个QA周期。A 1