软件性能测试方法论

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件性能测试方法论相关的知识,希望对你有一定的参考价值。

目录

RBI 分析法

RBI(Rapid Bottleneck Identify,快速瓶颈识别)分析方法,是 Empirix 公司提出的一种用于快速识别系统性能瓶颈的方法。

RBI 分析法基于以下一些事实:

  1. 80% 系统的性能瓶颈都由吞吐量限制。
  2. 并发请求数和吞吐量瓶颈之间存在一定的关联。
  3. 采用吞吐量测试可以更快速的定位问题。

RBI 分析法的执行步骤:

  1. 首先访问服务器上的小页面和简单应用,从应用服务器、网络等基础的层面上了解系统吞吐量表现。
  2. 其次选择不同的场景,设定不同的并发用户数,使其吞吐量保持基本一致的增长趋势,通过不断增加并发用户数和吞吐量,观察系统的性能表现。

在确定具体的性能瓶颈时,RBI 将性能瓶颈的定位按照一种 “自下而上” 的分析方式进行分析,首先确定是由并发还是由吞吐量引发的性能表现限制,然后从网络,数据库,应用服务器和代码本身 4 个环节确定系统性能具体的瓶颈。

性能下降曲线分析法

性能下降曲线描述了性能(e.g. 吞吐量、延迟)随客户数量增加而出现下降趋势的曲线。

在这里插入图片描述

性能曲线大体分成以下几个部分:

  1. 性能平坦区(Lighter user load zone):在不进行性能调优的情况下所能达到的最佳性能(Saturation Point,饱和点)。这个区域可以被用来做性能的 Baseline(基线)。
  2. 性能压力区(Heavy load zone):出现性能轻微下降的地方。
  3. 性能拐点(Buckle zone):性能开始急剧下降的点(Buckle point,拐点)。

这几个区域明确地标识了系统性能最优秀的区间,系统性能开始变坏的区间,以及性能出现急剧下降的点。对于性能测试来说,找到这些区间和拐点,就可以找到性能瓶颈产生的地方。

Ad Hoc 核对清单分析法

Ad Hoc(基于对该系统类型的经验和之前所遇到的问题所罗列的清单)核对清单分析法,就是给出一个性能核对的清单,让售后服务人员花一点时间一步步地过一遍核对清单。

例如,核对清单中的项目是:运行 iostat -xz 1,并检查 await 列。如果该列在负载下持续超过 10(ms),那么说明磁盘太慢或过载会导致性能瓶颈。

一份核对清单会包含很多类似的检查项目,这类清单能在最短的时间内提供最大的价值。Ad Hoc 核对清单能有效保证所有人都知道如何检查最糟糕的问题,能覆盖到所有显而易见的问题。核对清单必须写得清楚而规范,详细说明如何辨别每一个问题和如何做修复。

再比如,在一个典型的基于 WAS(IBM WebSphere Application Server)的 Web 应用场景下的 Ad Hoc 核对清单,如下图所示。

在这里插入图片描述

延时分析法

延时分析检查完成一项操作所用的时间,然后把时间再分成小的时间段,接着对有着最大延时的时间段做再次的划分,最后定为并量化问题的根本原因。一般情况下,延时分析需要深入到软件栈中的各层去寻找延时问题的原因。

例如:常见的 Web 应用,如下图所示,先粗略的划分各组件消耗时间。再深入到各组件内部详细分析延时。

在这里插入图片描述

以上是关于软件性能测试方法论的主要内容,如果未能解决你的问题,请参考以下文章

软件测试方法的性能测试

软件测试里,功能测试于性能测试啥区别啊!???

[转]程序进行性能分析工具gprof使用入门

软件性能测试方法论

软件测试面试宝典「Linux 数据库 测试工具 自动化 性能测试」

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段