性能测试理论二

一、性能测试的流程

1、前期准备工作

1)梳理好测试场景,按照以下顺序处理

登录、产品列表、API执行

2)确认目标,一般测试主导,将相关人员集中后讨论,所有达成一致后开始测试,当讨论后还是有不同意见,最终以架构师结果为准

2、测试工具技术引入

1)loadruuner(负载运行器)——HP(惠普)包含:LR/QTP/QC,最高可负载1000

2)JMeter:二次开发——平台

3)locust(蝗虫)——协程

4)自己开发工具

3、性能测试计划

1)需要的人力

2)做什么

3)什么时候开始和结束

4)使用什么技术

4、测试设计与开发

1)工具/代码如何写

2)开发——具体的脚本

5、测试执行与管理,数据收集

依据配置的场景执行

数据收集:

1)数据库资源——IOPS

2)Linux——CPU memory(内存)

3)nginx——连接数

4)Response Time(响应时间)/throughput(吞吐量)等资源

6、测试分析

二、性能测试的方法

1、验收负载测试

在QA的环境模拟生产运行的业务压力和使用场景组合,测试系统的性能是否满足生产环境的性能诉求

2、负载测试

在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量

3、压力测试

该方法是指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈异常)。压力测试的特点:

1)检查系统在处于压力情况下时应用的性能表现

2)等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

3)这种方式一般用于测试系统的稳定性

4、配置测试

被测环境软硬件环境参考的调整,达到最优的分配原则

5、可靠性测试

模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或其他的问题,并发测试的特点是:

6、故障演练

公司出于测试团队合作的能力,操作使系统90%以上出现异常,排练员工处理问题的能力

7、容灾恢复测试

故意破坏系统,查看程序自行恢复情况

三、JMeter性能测试场景设置

JMeter执行原理

JMeter通过线程组来驱动多个(也可以理解为LR工具里面的虚拟用户)运行测试脚本对目标服务器发起大量的网络请求,在每个客户端上可以运行多个线程组,也就是说⼀个测试计划里面可以包含N个线程组

1、线程属性

线程数:⼀个线程可以理解为对应模拟⼀个用户,所以线程数越多,也可认为模拟的用户数越多

Ramp-Up时间(秒):每秒执行线程数=线程数/Ramp-Up

      如设置线程组为50,秒设置为10,这表示开始执行后,每秒启动5个线程;如果设置为0,全部设置的会立即启动,不建议将循环次数设置为永远

2、调度器

 

调度器:这个理解为何时开始

持续时间:表示完成需要的时间,设置的时间不能小于每秒执行结果的时间

启动延迟:从当前时间延迟多长时间开始运行测试,也就是说点击执行后,仅仅是做初始化的场景,不会执行测试,等待延迟到达后开始运行测试,执行的时间为持续时间设置的时间

四、聚合报告各个值

 

毫秒为单位,一般放置线程组下

Label:取样器名称
Samples:取样器运⾏次数
Average:单个请求的平均响应时间
Median:50%请求的响应时间
90%Line:90%请求响应时间
95%Line:95%请求响应时间
99%Line:99%请求的响应时间
Min:请求的最⼩响应时间
Max:请求的最⼤响应时间
Std.Dev:响应时间的标准⽅差
Error%:事务错误率
Throughput:吞吐率,也就是TPS
KB/sec:每秒数据包流量
Avg.Bytes:平均数据流量
Received KB/sec:每秒从服务器端接收到的数据量
SentKB/sec:每秒从客户端发送的请求的数量

练习

 

 

 

五、响应时间

 

 

 

 

 

posted @ 2022-02-15 17:20  棠小梨  阅读(54)  评论(0编辑  收藏  举报