性能测试,负载测试,压力测试有什么区别

性能测试(或称多用户并发性能测试)、负载测试、强度测试、容量测试是性能测试领域里的几个方面,可是概念很容易混淆。下面将几个概念进行介绍。 数据库

 
 

性能测试(Performance Test):一般收集全部和测试有关的全部性能,一般被不一样人在不一样场合下进行使用。 并发

 

关注点:how much和how fast 性能

 
 

负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否可以承担。 测试

 

关注点:how much orm

 
 

强度测试(Stress Test): 强度测试是一种性能测试,他在系统资源特别低的状况下软件系统运行状况,目的是找到系统在哪里失效以及如何失效的地方。包括 内存

 

Spike testing:短期的极端负载测试 资源

 

Extreme testing:在过量用户下的负载测试 rem

 

Hammer testing:连续执行全部能作的操做 it

 
 

容量测试(Volume Test):肯定系统可处理同时在线的最大用户数 ast

 

关注点:how much(而不是how fast) 

 

容量测试,一般和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不须要表现实际的使用。 

 
 

其中,容量测试、负载测试、强度测试的英文解释为: 

 

Volume Testing = Large amounts of data 

 

Load Testing = Large amount of users 

 

Stress Testing = Too many users, too much data, too little time and too little room 

 
 
 

可能你们角色性能测试、负载测试和强度测试比较混淆。没错,这三个概念是比较容易令人糊涂。负载测试和强度测试,都属于性能测试的子集。下面举个跑步的例子进行解释。 

 

性能测试,表示在一个给定的基准下,能执行的最好状况。例如,在没有负重的状况下,你跑100米须要花多少时间(这边,没有负重是基准)? 

 

负载测试,也是性能测试,可是他是在不一样的负载下的。对于刚才那个例子,若是扩展为:在50公斤、100公斤……等状况下,你跑100米须要花多少时间? 

 

强度测试,是在强度状况下的性能测试。对于刚才那个例子,若是改成:在一阵强风的状况下,你在负重或没有负重的状况下,跑100米须要花多少时间?

 
 

性能测试是动力,负载测试载重,压力测试强度

 
 

压力测试stresstest:是在必定的负荷条件下,长时间连续运行系统给系统性能形成的影响。

负载测试Loadtest:在必定的工做负荷下,给系统形成的负荷及系统响应的时间。 

压 力测试主要是为了发如今一(任意)定条件下软件系统的性能的变化状况,经过改变应用程序的输入以对应用程序施加愈来愈大的负载(并发,循环操做,多用户) 并测量在这些不一样的输入时性能的改变,也就是一般说的概念:压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。其实这种测试也 能够称为负载测试,可是负载测试一般描述一种特定类型的压力测试——增长用户数量以对应用程序进行压力测试。好比实际中咱们说从比较小的负载开始,逐渐增 加模拟用户的数量, 直到应用程序响应时间超时,就是说的负载测试。

压力测试的目标是测试在必定的负载下系统长时间运行的稳定性,尤为关注大业务量状况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏致使系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力,它包括两种状况:
稳定性压力测试:在选定的压力值下,长时间持续运行。经过这类压力测试,能够考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等;
破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显下降,但很难暴露出其真实的缘由。经过破坏性不断加压的手段,每每能快速形成系统的崩溃或让问题明显的暴露出来;

负 载测试的目标是测试在必定负载状况下系统性能(不关注稳定性,也就是说不关注长时间运行,只是获得不一样负载下相关性能指标便可);实际中咱们常从比较小的 负载开始,逐渐增长模拟用户的数量(增长负载), 观察不一样负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不一样负载状况下的性能指标。

 ——————————————————————————————

最简单来讲:负载测试是测试软件自己最大所能承受的性能测试;压力测试就是一种破坏性的性能测试;只要理解这两点区别,就很是好理解性能测试了