一些性能测试的要点

一、性能测试方法

1)负载测试:给系统造成的负荷及系统响应时间,在既定负载下的性能表现(关心用户规则和需求)

2)压力测试:在一定负荷条件下,长时间连续运行系统给系统性能造成的影响(关心软件系统本身)

3)并发测试:和服务器建立大量的并发连接,通过客户端的响应时间和服务器端的性能监测情况来判断是否达到并发能力指标

4)基准测试:打开/关闭模块做一次测试,然后关闭/打开模块的性能做对比。

5)稳定性测试:系统在一定负载下运行长时间后是否会发送问题

二、性能测试目的

系统是否满足需求说明书中规定的性能。

性能测试主要的关注对象是响应时间、吞吐量、占用内存大小,处理精度等。

三、性能分析从哪些角度来进行

业务性能:

1. 并发用户数:同时向系统提交请求的用户数

2. 吞吐量:单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力

3. 事务平均响应时间

4. 事务成功率

5. TPS(事物数/秒):TPS = 脚本运行期间所有事物总数 / 脚本运行时长

系统资源:

1. 服务器:cpu利用率、内存利用率、磁盘IO状态

2. 数据库:数据库响应时长、数据库读写吞吐量

3. 网络:网络吞吐量、网络带宽

四、测试过程关注点

在系统功能测试验证完成,系统趋于稳定的情况下才会进行性能测试

1. 测试计划: 测试计划最重要的是分析用户场景,确定系统性能目标。

1)确定测试领域

2)用户场景确定

3)性能目标确定

4)确定性能测试开始结束时间和产出、参与人员等

3. 测试脚本设计与开发

1)测试场景设计(测试用户数量,操作此时,测试指标)

2)测试用例设计

3)测试脚本调试

4. 测试用例执行

1)执行测试脚本

2)测试结果记录

5. 测试分析

1)测试结果的图标、曲线

五、Jmeter

1. 主要测试元件

1)测试计划:性能测试的所有内容

 2)线程用户:线程组的每个线程都可以理解成一个虚拟用户

3)取样器:向服务器发送请求以记录响应信息

4)逻辑控制区:

5)断言:相应数据是否符合预期

响应断言、JSON断言、Beanshell断言

详细:

6)HTTP信息头管理器

web服务器需要带过去cookie给服务器进行验证,一般就是放在请求头

线程组下所有 HTTP 请求都会共享这些 HTTP 信息头 (请求头中的数据)

7)HTTP请求默认值

多个HTTP请求时,数据相同(域名、端口),如果后续项目要更改,需要更改每一个请求中的数据太麻烦了,因此,在HTTP请求默认值中将相同的数据输入进去,方便以后修改脚本。

2. 参数

3. 跨线程

有依赖关系的两个请求,放入不同的线程组中,就不能使用提取器来传递参数值。

线程组1——(赋值:setProperty函数)——Jmeter属性——(读取:property函数)——使用前面的返回值

1)添加http请求 

2)查看此请求返回为JSON格式数据

 3)添加JSON提取器

 4)添加BeanShell取样器(通过函数助手setProperty)

 5)新增另一线程(函数助手property)

注意:测试计划勾选(独立...),按照顺序执行

 结果:

猜你喜欢

转载自blog.csdn.net/Kiraxqc/article/details/126121797
今日推荐