性能测试、负载测试、压力测试 区别

性能测试: 收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。

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

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

比喻:
性能测试,一个秘书对一个老板。秘书是否能有条不紊地安排好老板的日常工作、行程。
负载测试,一个秘书对一个部门。除了老板的工作行程,还要帮部门里的其他同事干很多杂活。没有闲着的时候。
压力测试。一个秘书对多个部门。几个部门的老板、同事的所有等办事情都交给秘书来做,同时不断的有新的部门的老板和同事加入到这个行列。就看秘书到什么程度崩溃......
 
负载测试和强度测试,都属于性能测试的子集。 

压力测试:压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。

负载测试:通常描述一种特定类型的压力测试——增加用户数量以对应用程序进行压力测试。比如实际中我们说从比较小的负载开始,逐渐增加模拟用户的数量, 直到应用程序响应时间超时,就是说的负载测试。

 

压力测试是测试系统的限制和故障恢复能力,它包括两种情况: 稳定性压力测试:在选定的压力值下,长时间持续运行。 可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等; 破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来

负载测试的目标是测试在一定负载情况下系统性能(得到不同负载下相关性能指标

 

最简单来说: 负载测试是测试软件本身最大所能承受的性能测试; 压力测试就是一种破坏性的性能测试;

 

下面举几个例子进行解释: 1、针对一款网络游戏: 压力测试:要验证当有多少人同时连接同一台服务器,会发生异常,比如卡、掉线、游戏出现不稳定等等。然后调查是在哪里出现了问题,进行调优。反复进行,最终达到一个既定目标; 负载测试:要验证有多少人同时连接同一台服务器时,持续一定的时间,不会发生异常。不断增加负载,达到一个临界值,为这台服务器的最大负载; 性能测试:验证在怎样的硬件环境(cpu、内存、显卡、网络带宽)下,游戏可以顺畅的运行,这是一种性能测试。我曾经玩的一款网络游戏:热血江湖,它在一次升级后,我原本可以顺畅运行的一台机器卡的不得了,后来一起玩进行了紧急对应才平息此事,这就是性能测试没有做好。 2、针对一款福田小卡: 压力测试:要验证福田小卡在负重多少吨的时候,会出现机械故障如车胎爆破、车轮变形等等; 负载测试:要验证能够载重10吨的福田小卡,在载重15吨、20吨、30吨的情况下是否能够超长距离的安全运输行驶 性能测试:测试这款小卡在加满油、载重5吨,以70公里每小时的速度匀速行驶的情况下,能够行驶多少公里能够耗光所加满的油,这也是一种性能测试; 3、针对一个网站: 性能测试:要验证打开首页到与服务器的交互完成后所耗费的时间是否在预定的时间内,如2秒;或者比如新浪网首页改版,要验证改版后的首页访问时间是否小于等于改版前的访问时间; 负载测试:要验证有多少人同时访问新浪网首页,不会发生异常(网页无法显示的情况); 压力测试:要验证当有多少人同时访问新浪网首页,会发生异常,比如网页无法显示的情况等等。然后调查是在哪里出现了问题,进行调优。反复进行,最终达到一个既定目标;

你可能感兴趣的:(软件测试)