软件测试 -- 负载测试,压力测试,强度测试和容量测试的区别

时间:2024-03-11 09:27:51

  

Stree   Testing(压力测试),检查被测系统在恶劣环境下的表现,比如内存不足,CPU高负荷,网速慢,等等。在这种情况下,被测系统往往运行缓慢,能暴露许多在高速运行时不易发生的问题,例如线程不同步。   

压力测试是测试系统在非正常的、超负荷的条件下的运行情况 ,用来评估在超越最大负载的情况下系统将如何运行,考验系统在正常的情况下对某种负载强度的承受能力 。压力测试就是一种破坏性的测试,用以判断系统的稳定性和可靠性。一般把压力描述为“CPU使用率达到75%以上,内存使用率达到70%以上”。


Load   Testing(负载测试),检查被测系统处理大量用户访问或事务的能力。负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。    

Volume   Testing(容量测试),检查被测系统处理大数据量的能力,例如存储或读取一个超长的文件。确定系统可处理同时在线的最大用户数。  

强度测试强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方

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

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米需要花多少时间?  
这么看:压力测试是测试系统什么情况下失效或者崩溃;负载测试是测试系统什么情况下超出需求指标;强度测试是测试系统在瞬时高负载、长时间负载情况下系统反应;容量测试是测试系统在大数据量交互的反应!  


Bs结构程序一般会关注的通用指标如下(简): Web服务器指标指标: 
Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;  
* Avg time to last byte per terstion (mstes): 平均每秒业务角本的迭代次数 ,有人会把这两者混淆;
 Successful Rounds:成功的请求;  

Failed Rounds 失败的请求;  

* Successful Hits :成功的点击次数;  

* Failed Hits :失败的点击次数; 

* Hits Per Second :每秒点击次数;  
* Successful Hits Per Second :每秒成功的点击次数;  

* Failed Hits Per Second :每秒失败的点击次数; 

* Attempted Connections :尝试链接数; 


CS结构程序,由于一般软件后台通常为数据库,所以我们更注重数据库的测试指标: 
* User 0 Connections :用户连接数,也就是数据库的连接数量; 

* Number of deadlocks:数据库死锁; 

* Butter Cache hit :数据库Cache的命中情况

Stree   Testing

(压力测试)

,检查被测系统在恶劣环境下的表现,比如内存

不足,

CPU

高负荷,网速慢,等等。在这种情况下,被测系统往往运行缓慢,能

暴露许多在高速运行时不易发生的问题,例如线程不同步。

   

压力测试是测试

系统在非正常的、超负荷的条件下的运行情况

 

,用来评估在超越最大负载的情

况下系统将如何运行,考验系统在正常的情况下对某种负载强度的承受能力

 

压力测试就是一种破坏性的测试,

用以判断系统的稳定性和可靠性。

一般把压力

描述为“CPU

使用率达到

75%

以上,内存使用率达到

70%

以上”。

 

 

  Load   Testing

(负载测试)

检查被测系统处理大量用户访问或事务的能力。