性能测试概念、测试策略、指标
性能测试概念
性能概念
性能:就是软件质量属性中的“效率”特性
时间特性:表示系统处理用户请求的响应时间
资源特性:表示系统运行过程中,系统资源的消耗情况,系统资源:CPU、内存、磁盘等
性能测试概念:使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程
//通俗的讲,鲁大师的跑分就是性能的一种体现。
测试策略
基准测试
狭义
单用户循环多次得到的数据(比如记录每次响应时间)
广义
建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响(比如测5w的用户同时下单,响应时间)
负载测试
概念:通过逐步增加系统负载,确定系统的性能指标(如响应时间等)情况下,找出系统能够承受的最大负载量的测试。
稳定性测试
概念:再服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并最终保证服务器能满足线上业务需求。
压力测试
概念:在强负载下的测试,查看系统在峰值情况下是否有功能隐患、系统是否具有良好的容错能力和可恢复能力。
1.破坏性压力测试:极限负载情况下导致系统崩溃的测试
2.稳定性压力测试:高负载下的长时间的测试。
并发测试
概念:是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力(秒杀类)。
性能测试的指标
响应时间
客户端发送请求到服务器,客户端接收服务器返回的数据的时间
并发数
某一时刻同时向服务器发送请求的用户数
吞吐量
单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力
QPS
每秒查询数:即控制服务器每秒处理的指定请求的数量(一秒钟可以处理多少请求)
TPS
每秒事务数:即控制服务器每秒处理的事务请求的数量
事务
即业务,页面上的一次操作,可能对应一个请求/多个请求
点击数
点击一下,所有页面资源元素(如:图片、链接、框架css、js等)的请求总数量
错误率
系统在负载情况下,失败业务的概率。错误率= (失败业务数/业务总数)×100%
资源使用率
系统各种资源的使用情况,一般用“资源的使用量/中的资源可用量×100%”形成资源利用率的数据
资源指标通常要求
1.cpu不高于75% -85%
2.内存不高于80%
3.磁盘IO不高于90%
4.网络不高于80%