Jmeter测试学习笔记

第一章 jmeter基础知识

一.Jmeter工具中的组件

1.测试计划:Jmeter测试的起点。容器。

2.线程组:代表一定的用户

3.取样器:发送请求的最小单元

4.逻辑控制器:处理请求逻辑

5.前置处理器:请求之前的操作

6.后置处理器:请求之后的操作,可以用来进行数据提取

7.断言:判断请求结果是否正确

8.定时器:延迟请求

9.配置元件:配置请求

10.监听器:收集测试结果

二.组件作用域

下面这三个在配置元件中是默认一般必须存在的。

结论1:组件能作用于同级组件

结论2:组件能作用于同级组件下的子组件

结论3:组件能作用于父组件

三.目前市面上的接口

1.基于webservice的协议接口,使用xml来传输数据

2.基于dubbo的协议接口,使用json来传输数据

3.基于http的协议接口,使用json来传输数据

四.Jmeter接口测试实战

接口关联

1.正则表达式提取器

 1)变量名:可以随意定义

2)正则表达式,要包括有左边界和右边界以及(.*?),而且必须唯一

3)$1$ 表示取第一个正则,$2$表示取第二个正则

4)匹配数字,表示取第一个匹配到的值

5)默认值,没有匹配到就使用默认值

2.Json提取器

jsonpath的语法规则:只适用于json数据

{"name":"11","code":"code11"}

$代表根目录

.代表子节点

$.name          $.code

$.*:代表将根目录下的所有子节点值的获取

3.取数组的值通过 [下标],下标从0开始

1.变量名

2.是json path表达式

3.匹配数字,表示取第一个匹配到的值

4.默认值,没有匹配到就使用默认值

四.接口断言

常用的断言有:响应断言,json断言,和beanshell断言

1.响应断言

如何校验数据库?

用beanshell来实现

第二章 性能测试

一.性能测试的目的

性能测试是通过性能测试工具(Jmeter,loadrunner)通过特定方式,对系统施加一定的压力;正常,异常负载以及峰值来对系统进行实施压力,得到各项性能指标,保证系统的性能需求。

价值和目的:

1.评估系统的能力

2.识别系统的弱点:瓶颈,弱点

3.检查系统隐藏的问题

4.检验系统的稳定性和可靠性

二.性能测试指标理解透彻以及测算

1.指标

【虚拟用户数】:可以理解成线程,一个线程=一个虚拟用户

【并发数】:指在某一时间,一定数量的虚拟用户同时对系统的某个功能进行交互。一般通过集合点来实现。

【事务】:一个接口,多个接口,或一个流程都可以是事务。事务代表一个完整的功能,有由测试人员决定。一般把一个流程作为一个事务。

【场景】:性能测试的用例,

【响应时间RT】response time,

          平均响应时间:

           中位数:

           90%:从小到大排序,第90位的时间

           95%

           99%

        基准测试:一般设定一个用户请求接口,为200-500ms.

        压力测试:N个用户并发请求接口,一般设置为2s.

【TPS】:是系统的重要性能指标,用于衡量系统在一定时间内能够处理的事务数

transaction

如果一个接口是一个事务的话,TPS的数量=吞吐量

计算公式:总的事务数/总的运行时间=每一秒能完成多少个事务

(1)没有更详细的数据:根据二八定律(80%的事务在20%的时间完成)计算

TPS=(总的事务数*80%)/(总的运行时间*20%)

(2)如果有更详细的数据:根据业务的增长等,分情况计算

【QPS】:每一秒的查询率

【HPS】:每一秒的点击率(客户端的)

【吞吐量】:用来衡量网络成功传输的数据量,单位Byte/s

【资源利用率】:服务器的资源:CPU,内存,磁盘,网络

三.性能测试流程

1.需求的分析以及需求确定(指标值,场景,环境,人员)

2.性能测试计划和方案制定

基准测试:怎么做

负载测试:

压力测试:

稳定性测试:

3.性能测试准备阶段

人力,硬件,软件,环境折算

干净,保持各个版本一致

4.测试执行阶段

脚本生成和增强

场景设计

指标监控

性能瓶颈定位和性能调试

5.测试报告和总结

四.性能脚本的生成以及完善和增强

1.通过jmeter代理服务器录制脚本

 1)设置客户端的代理,

控制面板-> internet选项->连接-> 局域网设置->勾上代理输入jmeter所在电脑的ip个端口8888,  端口一般默认8888,

2)录制脚本

2.完善脚本以及增强脚本

token:一般用于鉴权

jmeter的聚合报告中的吞吐量=TPS

1)逻辑控制器:事务控制器,仅一次控制器,吞吐量控制器

量=TPS

吞吐量控制器:

Based on:

             Percent...:默认,按百分比来分配流量

              Total..:代表总次

2)定时器:尽量少用

3)集合点:在jmeter中叫同步定时器,用于实现并发

4)使用线程组

如下图:

其中线程属性中

线程数:代表虚拟用户数

Ramp -up:代表多久加载完这些线程数

循环数:3,每个线程发送的总请求数:100*3=300个
 

五.Jmeter的插件安装以及监控使用

1.下载一个插件管理包jmter-plugins-manger版本的jar包,放到jmeter的lib/ext的目录下,重启jmeter

六.实际性能压测的场景设置

场景:性能测试用例

一般大部分公司的并发量很难超过500,京东淘宝除外。如果有5000以上,1万,十万,百万一定要做集群。

1.单接口的基准测试:使用一个用户测试接口5分钟

目的:在没有任何压力的情况下,查看各项性能指标。

第三章:压力测试

一.关注哪些参数:

1.响应时间

   135,258原则

2.TPS

每秒通过的事务数

3.错误率

90%的正确率就可以接受,如果是对应的银行,金融的不行,需要有对应的容错机制

4.CPU和内存的使用情况

CPU:占有率最好不超过80%,有20%的空闲

磁盘:读写操作频率不要过高

二.如何设置场景

负载测试:逐步增加并发数

稳定性测试:持续时间确定。查看该时间段内的性能情况

用聚合报告查看压力测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值