性能测试—–压力测试,负载测试,强度测试,容量测试
性能测试(或称为多用户并发性测试), 负载测试,强度测试,容量测试 是性能测试领域的几个方面,但是概念容易混淆。下面将几个概念进行介绍。
性能测试(Performance Test): 通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。
关注点: how much 和 how fast
负载测试 (Load Test) : 负载测试也是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担
关注点: howmuch
压力测试(Stress Test) 压力测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括
Spiketesting: 短时间的极端负载测试
Extremetesting:在过量用户下的负载测试
Hammerstesting: 连续执行所有能做的操作
**容量测试(VolumeTest):**确定系统可处理同时在线的最大用户数
关注点:howmuch(而不是howfast)
容量测试,通常和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要表现实际的使用。
其中,容量测试、负载测试、强度测试的英文解释为:
VolumeTesting=Largeamountsofdata
LoadTesting=Largeamountofusers
StressTesting=Toomanyusers,toomuchdata,toolittletimeandtoolittleroom
可能大家角色性能测试、负载测试和强度测试比较混淆。没错,这三个概念是比较容易使人糊涂。负载测试和强度测试,都属于性能测试的子集。下面举个跑步的例子进行解释。
性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准)p>
负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间p>
强度测试,是在强度情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间p>
性能测试是动力,负载测试载重,压力测试强度
压力测试stresstest 在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。
负载测试Loadtest:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力,它包括两种情况:
稳定性压力测试:在选定的压力值下,长时间持续运行。通过这类压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等;
破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来;
负载测试的目标是测试在一定负载情况下系统性能(不关注稳定性,也就是说不关注长时间运行,只是得到不同负载下相关性能指标即可);实际中我们常从比较小的负载开始,逐渐增加模拟用户的数量(增加负载),观察不同负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不同负载情况下的性能指标。
最简单来说:
负载测试是测试软件本身最大所能承受的性能测试;
压力测试就是一种破坏性的性能测试;
只要理解这两点区别,就非常好理解性能测试了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!