性能测试的几种常见方法

大大小小的梦想 大大小小的梦想     2022-09-12     164

关键词:

 性能测试的几种常见方法(转)

  负载测试:负载测试是用户观点的测试行为。简单说来就是负载测试就是让系统在一定得负载压力下进行正常的工作,观察系统的表现能否满足用户的需求。

  用户的需求从何而来?需求分析——特指性能测试的需求分析。由此看来需求分析是相当重要的。

  负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。

  负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。

  负载测试也是最常用的性能测试方法,因此也有不少人将负载测试混淆为性能测试。

  压力测试:压力测试的关键字就是“极端”。通过对系统的极端加压,从而观察系统的所表现出来性能问题。再对此性能问题进行分析,从而达到系统优化的目的。所以压力测试就是一定要让系统出问题,如果系统没有出问题,那么压力测试的手段和方法就肯定存在问题。

  并发测试:验证系统的并发能力。通过一定的并发量观察系统在该并发量的情况下所表现出来的行为特征,确定系统是否满足设计的并发需要。并发测试是系统观点的测试行为。

  基准测试:顾名思义,基准测试要有一个基准点,也就是说供比较基点。当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系 统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后 与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。

  稳定性测试:很简单,长时间进行负载测试,从而观察系统的稳定性。

可恢复性测试:测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。

  好吧,如果以上概念仍然过于“神乎其技”让人如同满文**过生日一般如坠云里雾里,下面我将会以打比方的方式让大家更好的理解上述内容。

↓↓↓↓↓↓

  《西游记》中有一场景叫做:“猪八戒背媳妇”,下面我们就以这个来打比方向大家描述几种性能测试方法的异同点。

  我们将猪八戒同志作为性能测试的被测试对象。

  负载测试:猪同志身上背着的高小姐可以被视为加在“猪八戒人猪混合系统”上的负载。当然了,猪八戒身强体壮,背个高小姐应该是问题不大的。负载测试就 是让猪八戒背着高小姐走路(这里的走路就是一定得系统行为,通常这种系统行为通过脚本来进行模拟),我们观察猪八戒的生理和心理指标是否存在异常从而断定 “猪八戒人猪混合系统”的瓶颈所在。如果猪八戒背着背着腰酸背疼腿抽筋,那么猪无能同志可能是缺钙了,需要补钙;如果他背着背着头晕眼花四肢麻木,那么猪 同志应该是脂肪肝、酒精肝三高患者的杰出代表,这就证明猪八戒需要减肥了。如果猪八戒背着小媳妇身轻如燕、健步如飞,那么我们可以判断猪八戒同志是个好同 志,“猪八戒人猪混合系统”是个好系统。当然,这只是在没有测试标准的衡量基础上得到的结论,为了更进一步的测试“猪八戒人猪混合系统”,我们需要给这个 系统一些指标,这个指标举例如下:背着体重为45公斤的高小姐走上一段山路十八弯总长为10公里的羊肠小道,在此过程中猪八戒同志的平均时速不能低于 8km/h,其心跳不能快于60次/秒。好吧,再进行一次测试,我们发现在测试过程中猪八戒同志依然健步如飞,身轻如燕,但是其心跳却高于60次/秒。于 是在猪八戒同志心跳高于60次/秒的那一刻,我们可以停止测试,帮猪八戒同志找出瓶颈,待此瓶颈问题被解决后,我们再对其进行测试。当然,如果猪八戒一背 上高小姐就显得异常吃力,举步维艰,那么我们可以认为高小姐应该减肥了(负载过大),我们应该让高小姐节食一段时间,体重达到正常标准后再进行测试。以上 就是负载测试的一个通俗例子。

  压力测试:还是猪八戒同志背媳妇。我们发现他一次背一个媳妇异常轻松,于是乎我们必须加大负载,让猪八戒在极端的情况下进行背媳妇活动。我们可以让猪 八戒同志一次背10个媳妇,当然这并不符合一夫一妻制,因此我们选择让猪八戒同志来背孙悟空同学。孙同学是石头里蹦出来的,所以密度大,质量大,符合极端 负载的标准。

测试开始了,猪同志背上孙同学立即大汗淋漓、哭爹喊娘。好了,极端负载的条件达到。我们可以观察猪八戒的表现以确定猪八戒同志全身最薄弱的部位了。 如果我们发现猪八戒同志腹部力量不足从而导致背孙同学极度吃力,那么我们可以让猪八戒去练腹肌,让他的腹部力量得到增强。这样我们也找到了系统的瓶颈,对 系统进行了优化。

  如果猪八戒背上孙悟空依然轻轻松松,神情自若,那么我们可以猜测猪八戒背的孙同学不是孙悟空而是孙尚香。于是我们可以选择更大的负载进行测试。

  压力测试一定要测出来问题,否则我们有理由认为压力负载过小,不符合测试要求。

  并发测试:主要是测试猪八戒一次能背几个媳妇。如果“猪八戒人猪混合系统”的设计目标是“一次至少背上三到四个高小姐”的话,我们就有尺度来衡量猪八戒的表现是否达标。

  基准测试:如果猪八戒同志在被高小姐的时候没有服用任何的违禁药品,那么我们可以将此次的测试结果作为一个基点,然后让猪八戒同志喝点红牛或者是学习 满文**同学嗑点小药,然后进行同样的负载测试,查看****或者是喝红牛对猪八戒背高小姐这个行为是否产生了利弊影响。这里的****可以值得是软件更 换了一种新算法,也可以理解系统更换了新的中间件。当然我们也可以不让猪八戒同志背高小姐,而换成是让孙悟空同学背高小姐,观察这两次测试的测试结果,从 而确定究竟那一种系统更能胜任“背高小姐”这个重任。

  稳定性测试:让猪八戒背高小姐背上七七四十九天,观察猪同学的表现。若“猪八戒人猪混合系统”的设计要求为至少能连续背高小姐走上49天,而实际猪八戒只走了36天的话,我们可以认为“猪八戒人猪混合系统”不达标,需要优化。

  可恢复性测试:先让猪八戒背孙悟空同志走上半天,此时猪八戒已经累得接近崩溃,然后再让猪八戒背上高小姐,查看猪八戒是否能从疲劳中恢复,从而担当起背高小姐的重任。

性能测试中tps上不去的几种原因浅析

...)可以处理的事务数量,一般以request/second为单位。关于性能测试的其他一些常见术语,可参考之前的博客:性能测试:常见术语浅析 下面就说说压测中为什么TPS上不去的原因:1、网络带宽在压力测试中,有时候要模拟大量... 查看详情

测试用例的几种常见设计方法

测试用例常见的设计方法有:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。一.等价类划分法顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出... 查看详情

c#中实现并发的几种方法的性能测试

原文地址:https://www.cnblogs.com/durow/p/4837746.html0x00起因去年写的一个程序因为需要在局域网发送消息支持一些命令和简单数据的传输,所以写了一个C/S的通信模块。当时的做法很简单,服务端等待链接,有用户接入后开启一个线程... 查看详情

python接口测试常见的几种请求方式

参考技术A1.get请求2.query请求3.form表单 查看详情

awr收集缓慢挂起的几种常见情况分析

AWR(AutomaticWorkloadRepository)作为对数据库性能诊断的工具,采集与性能相关的统计数据,根据这些统计数据中的性能指标,以跟踪潜在的问题。若因某些情况导致相关数据无法收集,就会对数据库性能诊断大打折扣。 以下列... 查看详情

awr收集缓慢挂起的几种常见情况分析

AWR(AutomaticWorkloadRepository)作为对数据库性能诊断的工具,采集与性能相关的统计数据,根据这些统计数据中的性能指标,以跟踪潜在的问题。若因某些情况导致相关数据无法收集,就会对数据库性能诊断大打折扣。 以下列... 查看详情

awr收集缓慢挂起的几种常见情况分析

AWR(AutomaticWorkloadRepository)作为对数据库性能诊断的工具,采集与性能相关的统计数据,根据这些统计数据中的性能指标,以跟踪潜在的问题。若因某些情况导致相关数据无法收集,就会对数据库性能诊断大打折扣。 以下列... 查看详情

ajaxjquery中ajax请求常见常用的几种方法(代码片段)

文章目录jQuery中AJAX请求常见常用的几种方法1.$.ajax()方法2.$.get()方法和$.post(方法)3.$.getJSON()方法jQuery中AJAX请求常见常用的几种方法1.$.ajax()方法可以在服务器端请求失败后依然调用回调函数 $.ajax( "url":"send/array/one.html&... 查看详情

javascript合并数组的几种方式及性能差异

...方式有很多种,在这里介绍几种常用的方法,以及他们的性能差异网上有很多人说Array.prototype.push.apply方式是最好的,但是亲测之后发现这种方式在数据量少的时候也不是最快的,数据量大的时候还会报错。另外也有很多人说forE... 查看详情

aop的几种实现方法

...的一种技术,比较常见的场景是:日志记录,错误捕获、性能监控等AOP的本质是通过代理对象来间接执行真实对象,在代理类中往往会添加装饰一些额外的业务代码,比如如 查看详情

matlab求解线性方程组ax=b的几种常见方法matlab求解线性方程组ax=b的几种常见方法

原文:http://blog.csdn.net/stzh_bk/article/details/70983856例如方程组:法1:左除法>>A=[31-1;124;-145];b=[3.6;2.1;-1.4];>>x=A x=     1.4818   -0.46060.3848& 查看详情

清除浮动的几种常见方法

1<divclass="container">2<pstyle="float:left">这是一段浮动文字</p>3</div> 1.在container父容器末尾加上一个清除浮动的div标签1<divclass="container">2<pstyle="float:left">这是一段浮动文字</p> 查看详情

最常见的几种数组操作方法归纳总结

数组操作方法1.shift()方法:把数组的第一个元素删除,并返回第一个元素的值varmovePos=[1,2];movePos.shift()console.log(movePos)//[2]document.write(movePos.length);//12.concat()方法:用于连接两个或多个数组,并返回一个新数组,新数组是将参数添加... 查看详情

网页性能分析的几种方法

一、谷歌开发者工具的“性能”选项进行分析: 二、谷歌的Lighthouse工具(国内网络环境):基于node(版本≥6)1.安装:npminstall-glighthouse2.运行使用:lighthouse<url>--view  例如:lighthouse https://www.baidu.com/--view三、如... 查看详情

html中设置锚点定位的几种常见方法

1,使用id定位: <ahref="#1F"name="1F">锚点1</a><divname="1F"><p>11111111111</br>11111111111</br>11111111111</br>11111111111</br>11111111111</br>11111 查看详情

loadrunner的几种常见错误

转自网络loadrunner的几种常见错误及解决办法1录;解决:、;在录制选项option-network-;2在回放脚本时出现的错误;Action.c(33)Error-35061;解决方法:可以用web_set_max_html;ParamName=Correlat;LB=c,;RB=nloadrunner的几种常见错误及解决办法1... 查看详情

html中设置锚点定位的几种常见方法(#号定位)

在html中设置锚点定位我知道的有几种方法,在此和大家分享一下:1、使用id定位:<ahref="#1F">锚点1</a><divid="1F"><p>11111111111</br>11111111111</br>11111111111</br>11111111111</br>11111111111& 查看详情

列表的几种常见内置方法

append() 在最后增加一个元素extend() 扩展列表(用另一个列表)insert() 在指定位置插入一个元素remove() 删除一个元素pop() 删除并返回最后一个元素count() 计算并返回指定元素的数量sort() 按特定的顺序排序... 查看详情