软件性能测试方法论
Posted 范桂飓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件性能测试方法论相关的知识,希望对你有一定的参考价值。
目录
RBI 分析法
RBI(Rapid Bottleneck Identify,快速瓶颈识别)分析方法,是 Empirix 公司提出的一种用于快速识别系统性能瓶颈的方法。
RBI 分析法基于以下一些事实:
- 80% 系统的性能瓶颈都由吞吐量限制。
- 并发请求数和吞吐量瓶颈之间存在一定的关联。
- 采用吞吐量测试可以更快速的定位问题。
RBI 分析法的执行步骤:
- 首先访问服务器上的小页面和简单应用,从应用服务器、网络等基础的层面上了解系统吞吐量表现。
- 其次选择不同的场景,设定不同的并发用户数,使其吞吐量保持基本一致的增长趋势,通过不断增加并发用户数和吞吐量,观察系统的性能表现。
在确定具体的性能瓶颈时,RBI 将性能瓶颈的定位按照一种 “自下而上” 的分析方式进行分析,首先确定是由并发还是由吞吐量引发的性能表现限制,然后从网络,数据库,应用服务器和代码本身 4 个环节确定系统性能具体的瓶颈。
性能下降曲线分析法
性能下降曲线描述了性能(e.g. 吞吐量、延迟)随客户数量增加而出现下降趋势的曲线。
性能曲线大体分成以下几个部分:
- 性能平坦区(Lighter user load zone):在不进行性能调优的情况下所能达到的最佳性能(Saturation Point,饱和点)。这个区域可以被用来做性能的 Baseline(基线)。
- 性能压力区(Heavy load zone):出现性能轻微下降的地方。
- 性能拐点(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 应用,如下图所示,先粗略的划分各组件消耗时间。再深入到各组件内部详细分析延时。
以上是关于软件性能测试方法论的主要内容,如果未能解决你的问题,请参考以下文章
软件测试面试宝典「Linux 数据库 测试工具 自动化 性能测试」
CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段