1.性能测试的目的
(1)评估系统的能力:测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策;
(2)寻找系统瓶颈,进行系统调优;
(4)检测软件中的问题;
(5)验证稳定性、可靠性;
2.性能测试的类型
在讲述性能测试类型前,先简单分析性能测试的压力模型。
如下图所示,随着单位时间流量的不断增长,被测系统的压力不断增大,服务器资源会不断被消耗,TPS值会因为这些因素而发生变化,而且符合通常情况下的规律。
说明:
a点:性能期望值
b点:高于期望,系统资源处于临界点
c点:高于期望,性能处于拐点
d点:超过负载,资源不够用,系统处于崩溃
通过如上模型图中的情况,我们大致可以将当前性能测试分成如下4类:性能测试、负载测试、压力测试、稳定性测试,具体的特性及描述,请参考下表:
测试类型 | 简述 | 测试目的和特点 | 关注点及产出 |
性能测试 | 性能测试是指通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。 | 目的:验证系统是否有其宣称具有的能力。 特点:对系统性能已经有了解的前提,对需求有明确的目标,并在已经确定的环境下进行的。 | 关注的是系统性能是否和具体的性能需求相一致,而当系统性能超过性能需求的时候,系统的表现并不是测试人员关心的重点。 |
负载测试 | 是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等 | 目的: 找到系统处理能力的极限。了解系统的性能容量,或是配合性能调优来使用。 | 1.得出线下系统最有TPS。 2.得出线下系统最有TPS时系统资源利用率。 3.得出线下系统极限并发数。 |
压力测试 | 压力测试是评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。 | 目的:检查系统处于大压力性能下时,应用的表现。 特点:一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。 | 关注点:发现功能测试不能发现的非功能性缺陷。 产出: 1.得出线下系统崩溃点的TPS。 2.得出线下系统崩溃时资源使用率 3.得出线下系统极限并发数 |
稳定性测试 | 在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。 | 目的:主要目的是验证是否支持长期稳定的运行。 | 关注系统稳定性。 得出系统稳定状态下的资源利用、连接池、TPS、响应时间、DB健康情况等数据 |
评论