性能测试、压力测试、负载测试、容量测试的区别

性能测试(Performance Test)

通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。 性能测试是一种“正常”测试,主要测试使用时系统是否满足要求,同时可能为了保留系统的扩展空间而进行的一些稍稍超过“正常”范围的测试(比如:当前系统使用用户100人,可能未来人数会增多到300人,所以要让系统能够在300人情况下正常运行)

(1)是系统测试的一种,属于黑盒测试。

(2)是在一定软硬件网络情况下,系统响应时间等特性是否满足需求。

(3)给定的基准条件下,能执行的最好情况。

(4)性能测试是动力

压力测试(Stress Test)

压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,但是这个负载不一定是应用系统本身造成的。比如我们经常利用脚本或工具事先吃掉服务器的一部分cpu、内存或带宽等,创造出一定的负载环境并测试被测应用系统在此环境下的事物处理能力,响应时间等等。压力测试尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复)。

(1)大量虚拟用户向服务器产生负载,使服务器资源处于极限状态下并长时间运行,服务器是否能够正常工作。

(2)它强调的是极端情况下系统的稳定性。

(3)分为稳定性压力测试和破坏性压力测试

(4)压力测试是强度

负载测试(load test)

(1)数据在超负荷环境中运行,程序是否能够承载。强调的是达到的峰值指标。

(2)关注点是how much ,how fast (是载重)

(3)不同负载下的性能指标,从小负载开始,逐步增加用户数量,观察不同负载下系统所耗资源、响应时间。

容量测试(volume test)

(1)一定的虚拟用户数运行一种或多种业务,获取不同级别服务器性能指标,已确定数据库的最佳容量和最大容量。

(2)它关注的是how much,通常和数据库有关。

压力测试stress test:是在一定的『负荷条件』下,长时间连续运行系统给系统性能造成的影响。 
负载测试Load test:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。

        负载测试通常描述一种特定类型的压力测试——逐步增加用户数量或用户请求来对系统(程序)进行加压。比如现实中有个系统提供在线查询服务,那我们从比较小的负载开始,逐渐增加模拟查询请求的数量或用户量, 直到系统响应时间超时,就是说的负载测试。这儿加压的类型必须是应用提供的服务类型,也就是工作负荷。
   负载测试的目标是测试在一定负载情况下的系统性能(不关注稳定性,也就是说不关注长时间运行,只是得到不同负载下相关性能指标即可);实际中我们常从比较小的负载开始,逐渐增加模拟用户的数量(增加负载), 观察不同负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不同负载情况下的性能指标。
   压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,但是这个负载不一定是应用系统本身造成的。比如我们经常利用脚本或工具事先吃掉服务器的一部分cpu、内存或带宽等,创造出一定的负载环境并测试被测应用系统在此环境下的事物处理能力,响应时间等等。压力测试尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力,它包括两种情况:
   1.稳定性压力测试:在选定的压力值下,长时间持续运行。通过这类压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等;
   2.破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来;
  如果还不理解的话,打个比喻:
  这儿有个服务员,对应咱们的应用系统吧。  
 压力测试就是给这位服务器外部压力,比如长时间不让他休息,不给开工资等,看看服务员会不会开小差(无法及时响应请求),或者罢工(宕机)之类的。
   负载测试就是在单位时间内逐步加大这位服务员的工作量,看看此服务员在不同的工作量下完成服务的速度和质量,从而了解到该服务员的工作能力。
   压力测试和负载测试能够帮组我们了解到一个服务器的抗压能力和工作能力,当然也能帮我们评估一个系统或软件的性能瓶颈与质量。

 

性能测试方法主要包括:性能测试、配置测试、并发测试、负载测试、压力测试、稳定性测试。

  • 性能测试:测试环境和测试目标确定的情况下,测试系统是否达到宣称的能力;
  • 配置测试:系统具有一定的测试基础时,通过修改环境配置,例如服务器参数等,对比之前的测试结果进行优化;
  • 并发测试:模拟多个用户并发使用系统,测试系统是否存在死锁、内存泄漏等问题。
  • 负载测试:逐渐向系统添加压力,观察系统资源消耗情况,知道某一项资源达到极限。一般用于度量系统的性能容量,寻找系统瓶颈为系统调优提供数据;
  • 压力测试:系统承受一定的压力的情况下,测试系统是否会出现错误。系统压力包括CPU、内存、磁盘、网络等方面的压力,施加压力的方法包括利用工具占用系统资源、增加并发量等;
  • 稳定性测试:系统承受一定压力的情况下,运行一段时间,测试系统是否平稳运行;
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值