软件测试之压力测试总结

🍅 **点击文末小卡片,**免费获取软件测试全套资料,资料在手,涨薪更快

一、什么是压力测试

软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、WebLOAD、Loadster、Load impact、CloudTest、Loadstorm、阿里云PTS等等,本文介绍的是使用Apache JMeter来进行压力测试。

二、压力测试关注点

1.压力测试分为两种测试场景:一种是单一接口进行压测;第二种是多个接口同时压测。压测时间,一般控制在10-15分钟。如果是疲劳测试,可以压一天或一周,具体按照实际情况确定。

2.压测设置参数:

1)线程数:用于设置并发数量,也就是多少个用户同时访问

2)Rame-Up Period(in seconds):控制每隔多少秒内发动并发

3)循环次数:用于设置线程组的循环次数

4)调度器:设置压测的持续时间、延时时间

3.压测结果查看

脚本运行完成后,可通过查看结果树和聚合报告结果来显示接口是否运行成功及压测结果参数,主要关注的参数有:

1)Samples:表示一共发出的请求书

2)Average:平均响应时间,单位ms

3)Error%:测试出现的错误请求数量百分比

4)Throughput:吞吐量,简称tps,表示服务器每秒处理的请求数,tps越高说明服务器处理能力越好

4.最大tps及最大并发数的确定

1)最大tps:随着并发数不断增加,tps数值曲线会达到一定峰值后开始出现下降,那么这个峰值就是最大的tps。

2)最大的并发数:随着并发数不断增加,某个值之后,服务器开始出现请求超时,则这个值就是最大的并发数。

5.影响性能的主要参考因素主要包括:数据库、应用程序、中间件、网络和操作系统等方面。

三、压力测试步骤

1.创建线程组

点击选中测试计划,右键点击创建线程组

点击线程组,这里可以设置名称,添加注释,设置线程数(每次有多少线程同时开启)、线程响应时间(多少秒完成线程)、循环次数(每个线程数需要开启几次)等

2.创建取样器(以HTTP为例)

点击选中线程组,右键添加取样器输入协议

点击刚设置的取样器,这里可以设置名称,设置http/https(不输入默认为http),服务器IP,端口号(不输入默认80端口),选择HTTP请求类型,相关路径(若无则不填),以下以百度为例

3.最后需要添加监听器获取监控结果

同样选择线程组,右键添加监听器

常用的有汇总报告,察看结果树,聚合报告

3.1汇总报告

这里可以看到每个请求以及总体的各项指标,我们要关注的是异常百分比和吞吐量,异常百分比越大,性能就越差,吞吐量越大效率越高

3.2察看结果树

这里可以看到响应数据和请求内容,以及取样器结果等

取样器结果如下图,请求栏有请求头和请求数据,响应数据栏有响应头和响应数据。

响应数据一般为HTML源码,请求头主要记录的是时间,返回状态等等数据,点击Text右边的三角形可以切换观察的数据格式,如JSON等

3.3聚合报告

这里能看的数据包含了汇总报告的内容,并且还能看到百分比响应时间等数据,相对于汇总报告,百分比响应是我们更需要关注的地方,如果不需要了解太深,就用汇总报告,需要了解更多的就需要用到聚合报告

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
ZH154558913113 分钟前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同76513 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子18 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q29 分钟前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
喵手43 分钟前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手1 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集
熊猫_豆豆1 小时前
YOLOP车道检测
人工智能·python·算法
nimadan121 小时前
**热门短剧小说扫榜工具2025推荐,精准捕捉爆款趋势与流量
人工智能·python
默默前行的虫虫1 小时前
MQTT.fx实际操作
python
YMWM_1 小时前
python3继承使用
开发语言·python