性能测试模型

 


一、性能测试的流程

性能测试的流程为:

测试前期准备:

测试场景(登录、产品列表、API执行)、目标(目标是由测试主导,目标是由相关的人达成一致后决定)

测试工具技术引入:

locust(基于携程)、jmeter(二次开发)、loccdDuner(惠普,惠普公司名下有,uc、QTP、QC)

性能测试计划:

人力、做什么、什么时候开始,什么时候结束、使用什么技术

测试设计与开发:

工具/代码如何写、具体的脚本

测试的执行与管理&数据收集:

执行:根据配置的场景执行,或者是执行代码

收集:数据库资源(iops)、linux(CPU、memony)、nginx(连接数)、本身的数据(响应时间、吞吐量等)

测试分析:

当测试结果达不到预期时反馈给开发一起分析调整,一直调整到达到预期结

二、性能测试的方法

验收负载测试

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

负载测试

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

压力测试

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

压力测试的特点:

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

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

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

配置测试

被检测环境硬件环境参数的调整,达到最优分配的原则。

并发测试

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

发现系统中可能隐藏的并发访问的问题

关注系统可能存在的并发问题,如内存泄漏,线程锁,资源争用等情况

使用的测试工具如何profiler等

 

 可靠性测试

给系统加载一定的业务压力,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行。

故障演练

 就是在运行时故意搞出故障,在出故障时来考验团队处理故障的能力。

容灾恢复测试

测试故意搞破坏,看看程序是怎么自动恢复过来的

 三、JMeter性能测试场景设置

1.1线程属性

线程数

⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多。

 

 

 

Ramp-Up时间(秒)

该属性指的是所有线程从启动到开始运⾏的时间间隔,单位是秒,也就是说所有线程在多⻓时间内开始执⾏,如线 程数设置50,设置的时间为5秒,那么计算的公式为: 如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执⾏后,每秒会启动5个线程,如果Ramp-Up设置为 0,那么开始执⾏后,50个线程会⽴刻启动。

 

 

持续时间

持续时间就是这个线程组运行的时间。

启动延迟

就是在延迟的时间内先运行这些数据,等延时到了之前运行的数据一次性全部发送请求。

 调度器

所谓调度器可以理解为设置何时开始运⾏。

 四、聚合报告

聚合报告是以表格的形式来显示取样器的结果信息,如果不同的取样器拥有相同的名字,那么在聚合报告会显示在 一行里面,那么⼀般来说,聚合报告都是根据取样器来显示每个取样器的执行结

果信息。聚合报告添加方式如下:

 

 如:100个请求,每秒执行2个请求,同时并发20个请求,则启动延迟为10秒,如下:

 

 

 结果如下:

 

聚合报告表格含义:

Label:取样器名称;

Samples:取样器运行次数;

Average:单个请求的平均响应时间;

Median:50%请求的响应时间;

90%Line:90%请求响应时间;

95%Line:95%请求响应时间;

99%Line:99%请求的响应时间;

Min:请求的最小响应时间;

Max:请求的最⼤响应时间;

Error%:事务错误率;

Throughput:吞吐率,也就是TPS KB/sec:每秒数据包流量;

Received KB/sec:每秒从服务器端接收到的数据量;

SentKB/sec:每秒从客户端发送的请求的数量。

五、响应时间

响应时间趋势图反馈的是请求的时间趋势图,添加方式如下:

 

 

 如:100个请求,每秒执行2个请求,同时并发20个请求,则启动延迟为10秒,响应时间图结果如下:

 

 

 

posted @   挣大钱  阅读(243)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示

目录导航