Jmeter5.x聚合报告详解与断言实战案例

这篇具有很好参考价值的文章主要介绍了Jmeter5.x聚合报告详解与断言实战案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

聚合报告实战与参数详解

响应断言实战(Response Assertion)

断言持续时间(Duration to assert)


前言

        性能测试关键指标TPS,QPS,RT的初步认知,Jmeter5.x常用聚合报告中每个参数的含义讲解;压测结果响应断言与持续时间断言运用;

聚合报告实战与参数详解

性能测试专业名词

TPS:每秒事务数(Transactions Per Second), 进行压测的可以是一个接口、多个接口、一个业务流程;如,订单查询接口,下单流程等

QPS:每秒查询数(Queries Per Second),指一台服务器每秒能够响应客户端的查询次数;针对简单查询操作的数据统计,不包括描述增删改等业务操作;假设只做单纯的查询操作,那么可以理解为TPS = QPS。

RT:服务器响应时间(Response Time),即客户端请求服务端整体耗时时间,最优时间是在毫秒级别内;

专题课程测试接口文档

实战案例解析

压测接口:课程列表接口 (接口文档参考:专题课程测试接口文档)

参数设置:线程数300,循环压测,持续时间20s;

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

压测结果聚合报告

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

参数设置:线程数1500,循环压测,持续时间20s;压测结果聚合报告

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

参数设置:线程数3000,循环压测,持续时间20s;压测结果聚合报告

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

聚合报告参数解读 

lable:sampler的名称
Samples(样本):一共发出去多少请求,例如10个用户,循环10次,则是 100
Average(平均值):平均响应时间
Median(中位数):中位数,也就是 50% 用户的响应时间

90% Line(90%百分位):90% 用户的响应不会超过该时间 (90% of the samples took no more than this time.     The remaining samples at least as long as this)
95% Line(95%百分位):95% 用户的响应不会超过该时间
99% Line(99%百分位):99% 用户的响应不会超过该时间
min(最小值):最小响应时间
max(最大值):最大响应时间

Error%(异常占比):错误的请求的数量/请求的总数
Throughput(吞吐量):吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps
Received KB/Sec:每秒接收数据量
Sent KB/Sec:每秒发送数据量


通常 吞吐量 与 异常占比 是聚合报告的主要关注点和接口问题的直接反馈;

总结:

        测试人员做项目性能测试,需要逐步将线程数增加,根据聚合报告汇总出线程数最佳的环境;在互联网大厂性能压测也是不断调整压测数值,获取最优和最差,中间数值进行总结汇报。参数调高,造成服务器过载,响应时间相应会逐步增加,错误率也相对会增加,吞吐量也会逐步下降,直至压测崩溃领临界值;为了达到最佳吞吐量,最佳响应时间,且必须是错误率是0,此时线程数则是最佳的。

响应断言实战(Response Assertion)

        断言assert指测试计划根据程序设置,过滤出满足条件的响应数据;是当用户定义的约束条件不满足时触发异常;通俗的说,判断程序结果是否符合预期

使用场景

        多处场景可以使用,但建议在测试计划中使用较简单的断言,如,响应断言;因为使用复制断言会消耗压测机器的性能,导致测试结果存在偏差;

        在项目中,存在业务代码和状态代码之分,通常是根据状态代码来判断数据操作是否成功;用户A和用户B进行登录操作,响应状态状态码都是200,但是用户A由于密码错误,业务状态码是-1,此时则需要断言来过来出此异常请求;再如,下单接口,返回状态码200成功,还需要判断业务状态码是否返回成功标识,等等场景;

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

 

  • 测试字段(选择哪些字段进行断言)

    • 响应文本 Text response: 响应服务器返回的文本内容
    • 响应代码 Response Code: 断言Http 响应码是否符合预期,比如 200
    • 响应消息 Response Message : 验证响应消息是否按预期显示
    • 响应标头 Response Headers : 断言查看特定的 HTTP 标头是否存在
    • 文档(文本)Document (text): 基本不用,高负载可能会占用大量内存导致OOM
    • URL样例 URL Sampled : 针对请求的 URL 使用以确保它符合预期
  • 模式匹配的规则

    • 包括 Contains: 响应内容【包含】需要匹配,支持正则表达式。

    • 匹配 Matches: 响应内容要【完全匹配】需要匹配代表响应成功,大小写不敏感,支持正则表达式。

    • 相等 Equals: 响应内容要【完全等于】需要匹配代表响应成功,大小写敏感,内容是字符串

    • 字符串Substring: 响应内容【包含需要匹配】的内容才代表响应成功,大小写敏感,内容是字符串

    • 不相等 Not: 取反操作,不相等

    • OR: 应用 OR 组合中的每个断言,将多个断言模式进行OR连接

以上为Jmeter响应断言测试字段和模式匹配的规则列表,加粗部分为常用部分;

案例实战

判断订单列表接口中返回数据包含“Jmeter5.x性能测试”数据;

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

 符合要求响应数据结果

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

 将测试模式的值改为“Jmeter5.x性能测试test”,不符合要求的数据响应结果

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

 且聚合报告中各项参数也产生变化,错误率达到百分百;

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

断言持续时间(Duration to assert)

持续时间断言(Duration to assert):用于判断服务器的响应时间,作用对象是服务器。规定时间内响应成功才算符合要求的请求;

一般是验证接口多大概率满足业务需求;错误率同时会纳入聚合报告,做数据统计说明;

持续时间(Duration in milliseconds):响应时间设置(单位毫秒),如果响应时间大于设置的响应时间,断言失败,否则成功

场景一:下单接口进行100笔订单的并发测试,在1秒内下单成功并做出响应的只有90笔,那么下单接口成功率只有90%;而其余10笔订单超过1秒,则认为是超过系统耗时,不符合要求;

jmeter聚合报告详解,Jmeter5.x&BeanShell零基础到压力测试实战,java,后端,jmeter,压力测试,测试工具

总结文章来源地址https://www.toymoban.com/news/detail-752506.html

  • 断言类型很多,常规响应断言(Duration Assertion)与断言持续时间(Response Assertion)基本就足够使用了。
  • 常规业务里面会有状态码断言,还有RT响应时间要求,这样的话聚合报告的异常错误率就会更满足业务需求

到了这里,关于Jmeter5.x聚合报告详解与断言实战案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JMeter5.4.1使用方法

    1、启动JMeter,双击jmeter.bat  启动后如下: 会打开两个窗口,其中cmd窗口不能关掉 后面所有操作都在第二个窗口 软件默认是英文,需要切换到中文:Options-Choose Language-Chinese(Simplified),勾选后切换到简体中文,后续操作以中文为主 开始正式建立测试单元组 右键点击Test Plan-添

    2024年02月07日
    浏览(41)
  • jmeter5.5修改字体大小和背景颜色

    在bin目录下打开jmeter.properties 1.调整放大比例(分辨率设置) 2.改变“消息体数据”(BodyData)代码字体大小 3.修改工具栏比例 4.修改左侧树结构比例 重启jmeter 如果没生效,试试这个方法

    2024年02月16日
    浏览(35)
  • Jmeter5.x集合点实现高并发性能测试

      前言         ​ 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,

    2024年02月10日
    浏览(60)
  • 【七】jmeter5.5+influxdb2.0+prometheus+grafana

    参考文章:https://blog.csdn.net/wenxingchen/article/details/126892890 https://blog.csdn.net/Zuo19960127/article/details/119726652 https://blog.csdn.net/shnu_cdk/article/details/132182858 promethus参考 由于自己下载的是infuldb2.0,所以按照上面两个步骤走不通,做了如下修改,前提 目前jmeter5.6.3还不支持,但是至少要

    2024年04月27日
    浏览(31)
  • JMeter(十六)-JMeter断言

    断言组件用来对服务器的响应数据做验证,常用的断言是响应断言,其支持正则表达式。虽然我们的通过响应断言能够完成绝大多数的结果验证工作,但是JMeter还是为我们提供了适合多个场景的断言元件,辅助我们来更好的完成结果验证工作。在使用JMeter进行性能测试或者接

    2024年02月04日
    浏览(42)
  • Jmeter接口自动化测试 —— Jmeter断言之Json断言

     json断言可以让我们很快的定位到响应数据中的某一字段,当然前提是响应数据是json格式的,所以如果响应数据为json格式的话,使用json断言还是相当方便的。 还是以之前的接口举例 添加一个Json断言 维护上想要判断的字段 查看结果 ​ 我们将期望的值故意改成错的545111看看

    2024年02月05日
    浏览(59)
  • 6.1Jmeter5.1,在Windows下执行报错Connection timed out: connect

            这几天做性能测试,在Windows下,执行多个用户,执行时间3分钟,会报错Connection timed out: connect org.apache.http.conn.HttpHostConnectException: Connect to 10.1.1.9:9095 [/10.1.1.9] failed: Connection timed out: connect at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionO

    2023年04月27日
    浏览(36)
  • JMeter断言之JSON断言

    若服务器返回的Response Body为JSON格式的数据,使用JSON断言来判断测试结果是较好的选择。 首先需要根据JSON Path从返回的JSON数据中提取需要判断的实际结果,再设置预期结果,两者进行比较得出断言结果。 下面首先介绍JSON与JSON Path相关的基础知识。 ▲ 什么是JSON ● JSON(Java

    2024年02月06日
    浏览(50)
  • Jmeter常用断言之JSON断言简介

    JSON断言可以对服务器返回的JSON文档进行验证。 JSON断言有两种使用模式: 1.根据JSONPath能否在JSON文档中找到路径; 2.根据JSONPath提取值并对值进行验证。 结果判定 :若文档格式为非JSON则断言失败;找不到路径断言失败;提取值与预期值不一致断言失败。 根据需要可在【测试

    2024年02月05日
    浏览(38)
  • JMeter之响应断言

    作用:指定断言作用范围 Main sample and sub-sample:作用于主main sample和子sub-sample(如重定向时场景,一个请求下会有多个子请求) Main sample only:只作用于main sample Sub-samples only:只作用于sub-sample JMeter Variable Name to use:作用于JMeter变量 响应文本(Text Response) - 从服务器返回的响应

    2023年04月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包