性能测试思想讲解
1.什么是性能测试
什么是
软件性能
?
定义:软件的性能是软件的一种非功能特性
,它关注的不是软件是否能够完成特定的功能,而是在完成该功能是展示出来的及时性
。
比如:一个登录功能他能实现登录操作,但是登录过程需要10s才能进入主页面,这就说明软件的性能不好。
什么是
性能测试
?
定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件
来对系统的各项性能指标进行测试。
功能测试的时候关注的是1个人的操作,性能测试关注的是多个人。
性能测试
什么时候做
?
接口测试是最先做,性能测试是最后
做。
性能测试是基于所有功能都测试完毕并且修复完成,基本不改变,正常测试流程已经全部走完,在上线前的两三天做性能测试,性能测试通过则可以上线。
2.不同群体眼中的性能
用户的视角:
开发视角:
系统管理员(运维)视角:
测试眼中的性能:
官方回答:
实际测试:
?性能测试的指标?是谁定的?(面试题)
产品经理和项目经理制定。
3.性能测试的场景维度和类型
基准测试:
在给系统施加较低压力时,查看系统的运行状况并记录相关数据作为基础参考。
比如:一个系统的性能要求是满足100个人使用,我们就会取10-20个人去做测试就会得到一组数据,这个数就作为基准测试的基础参考值
负载测试:
是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如:某种资源已经达到饱和状态。
正常是由小往大增加,需要注意的点是需要往安全的临界值去加,而不是往超负荷的去加,也就是说性能是走上坡路的,寻找最佳性能的那个点。如果加到发现性能下降,就需要往回退,取更小的差值,比如60直接加到70的时候出现性能指标下降,就需要取65、66、67等慢慢尝试,找到系统最优点。
压力测试:
压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。
70往上加,观察软件是如何处理这种情况:
①系统崩溃
②所有人都无法访问
③一部分人可以访问,一部分人无法访问,需要错峰访问(比如:考试系统查分)
稳定性测试:
在给系统加载一定业务压力(40%-60%)的情况下,使系统运行一段时间,一次检测系统是否稳定。
并发测试:
测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。
4.性能测试基本概念
响应时间
(RT——Response-time)
定义:从用户发送一个请求
到用户接受到服务器返回的响应数据
的这段时间就是响应时间。
关键路径:http请求经过网络发送到web服务器进行处理,如果需要操作DB,再由网络转发到数据库进行处理,然后返回值给web服务器,web服务器最终把结果数据通过网络返回给客户端。
响应时间计算方法:
响应时间=呈现时间+网络传输时间+服务器端响应时间+应用延时时间
响应时间和负载对应关系:
理发店模型:10个理发师,理1个客户需要1分钟,当同时来的客户数量小于等于10个,总时间只需1分钟,当同时来11个客户,总时间就需要2分钟,以此类推21个客户就需要3分钟......
拐点:
吞吐量
定义:单位时间内系统处理的客户端请求的数量。(判断系统处理能力的一个指标)
计算单位:一般使用 请求数/秒
作为吞吐量的单位,可以使用 页面数/秒
表示。另外,从业务角度来说也可以使用 访问人数/天
或 页面访问量/天
作为单位。
计算方法:throughput = (number of requests)/(total time)
吞吐量和负载对应关系:
拐点:
并发数
资源利用率
定义:指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量(CPU、内存)。
通常需要关注的服务器资源如下:
资源利用率和负载对应关系:
拐点:
windows的资源监视器:
任务管理器 --> 性能 --> 资源监视器
其他常用概念
PV
(Page View,页面访问量):访问一个URL,产生一个PV,每日每个网站的总PV量是形容一个网站规模的重要指标。UV
(Unique Visitor,用户访问):作为独立的用户,访问站点的所有页面均算一个UV。原文:https://www.cnblogs.com/caituotuo/p/14227556.html