性能测试策略
- 一、什么是性能测试?
- 二、性能测试的目的
- 三、性能测试策略
- 1、基准测试
- 2、并发测试
- 3、负载测试
- 4、压力测试
- 5、其他测试
一、什么是性能测试?
性能测试是在一定的负载1条件下,系统的响应时间等特性是否满足特定的性能需求。需要有“系统”的视角来分析被测试系统,主要目标是确保系统在一定的软硬件资源配置条件下达到一定的性能指标。
二、性能测试的目的
1、评估当前系统性能能力
2、寻找性能瓶颈,性能调优
3、预测未来性能
三、性能测试策略
1、基准测试
(1)概念:
狭义上讲:就是单用户测试(单用户循环多次得到的数据)
广义上讲:建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定对性能的影响。
(2)实际应用:
开始其他类型性能测试前,可先配置线程组属性为单用户循环100次(下图为JMeter工具的线程组配置),监控响应时间,TPS,事务成功率等性能指标。若基准测试的性能指标不通过,需提交开发修改直到基准测试结果通过后再开展后续性能测试。
2、并发测试
(1)概念:
模拟多个用户并发访问同一应用、同一存储过程、数据记录以及其他并发操作,测试是否存在死锁、数据错误、资源争用等故障。
(2)实际应用:
例如抢票、预约接种、双11的0点秒杀等同时段多用户在线进行同一操作的场景,执行脚本过程中要监控服务器资源情况,包括CPU利用率、内存利用率等。下图附上JMeter工具中实现100并发用户持续运行10分钟的线程组设置。
3、负载测试
(1)概念:
在一定的软件、硬件及网络环境下,通过运行一种或者多种业务在不同虚拟用户数量情况下,测试服务器的性能指标是否在用户的要求范围内,用于确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。
负载测试强调的是在一定的环境下系统能够达到的峰值指标。不仅对硬件处理能力、各种服务器的连接能力等进行,以此测试系统在不同容量级别下是否能够达到指定的性能。
巧记:对系统不断加压,直到系统到达瓶颈,找到系统最大的负载能力,就像(举重运动员)会一直给自己加重量,直到自己没办法举起后就找到他的最终负载能力。
(2)实际应用:
测试xx游戏高峰时段可容纳多少人同时在线,当初看微微一笑很倾城电视剧时,男主角项目演示时就说到这个,他们做的游戏可以容纳很多人同时在线游戏,并且系统还很流畅(真不错!)
4、压力测试
(1)概念:
在一定的软件、硬件及网络环境下,通过模拟大量虚拟用户向服务器产生负载,使得服务器的资源处于极限状态下长时间持续运行,以测试服务器在高负载情况下能否稳定工作。压力测试强调的极端情况下系统的稳定性,此时处理能力已经不重要了。
(2)实际应用:
在强负载(大数据量、多并发用户)情况下进行性能测试,监控性能指标及系统稳定性,可以理解为是一个运动员负重后进行跑步。
5、其他测试
主要理解上面4种分类,这几种比较好理解,笔者就不赘述了,想详细了解的可以百度词条看看。
(1)稳定性测试
(2)配置测试
(3)综合场景测试
参考文件:国际最新系统和软件质量模型-质量要求和测试细则
wu~~又是学到知识的一天!
(来都来了~就点个赞吧!cheer)
负载:当众多终端用户对系统进行访问时,用户越多,服务器需要处理的客户请求就越多,从而形成负载。 ↩︎