软件性能测试 - 方法论

2012-05-29  肖莉 

1.SEI负载测试计划过程

    SEI load Testing Planning Process是一个关注于负载测试计划的方法,其目标是产生“清晰、易理解、可验证的负载测试计划”.SEI负载测试计划过程包括6个关注的区域(Area):目标、用户、用例、生产环境、测试环境和测试场景;

  SEL负载测试计划过程将以上6个区域作为负载测试计划需要重点关注和考虑的内容.其重点关注以下几个方面的内容:

1)生产环境与测试环境的不同:由于负载测试环境与实际的生产环境存在一定的差异,因此,在测试环境上对应用系统进行的负载测试结果很可能不能准确反映该应用系统在生产环境上的实际性能表现,为了规避这个风险,必须仔细设计测试环境;

2)用户分析:用户是对被测应用系统性能表现最关注和受影响最大的对象,因此,必须通过对用户行为进行分析,依据用户行为模型建立用例和场景;

3)用例:用例是用户使用某种顺序和操作方式对业务过程进行实现的过程,对负载测试来说,用例的作用主要在于分析和分解出关键的业务,判断每个业务发生的频度、业务出现性能问题的风险等;

  SEI负载测试计划过程在负载测试需要关注的具体内容上提供了参考,但其并不是一个完整的测试过程(其仅仅给出了对测试过程的一些关注内容,而没有能够形成实际的可操作的过程).

2.RBI方法

Rapid Bottleneck Identify方法是Empirix公司提出的一种用于快速识别系统性能瓶颈的方法.该方法基于以下一些事实:

    1).发现的80%系统的性能瓶颈都由吞吐量制约;

    2)并发用户数和吞吐量瓶颈之间存在一定的关联;

    3).采用吞吐量测试可以更快速定位问题;

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

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

    RBI方法在性能瓶颈的定位过程中能发挥良好的作用,其对性能分析和瓶颈定位的方法值得借鉴,但其也不是完整的性能测试过程.

3.性能下降曲线分析法

    性能下降曲线实际上描述的是性能随用户数增长而出现下降趋势的曲线.而这里所说的性能可以是响应时间,也可以是吞吐量或是单击数/秒的数据,一般来说,性能主要是指响应时间。

一条曲线可以分为以下几个部分:

    1)单用户区域 - 对系统的一个单用户的响应时间.这对建立性能的参考值很有作用;

    2)性能平坦区 - 在不进行更多性能调优情况下所能期望达到的最佳性能.这个区域可被用作基线或是benchmark;

    3)压力区域 - 应用"轻微下降"的地方.典型的,最大的建议用户负载是压力区域的开始.

    4)性能拐点 - 性能开始"急剧下降"的点.

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

    因此,对性能下降曲线分析法来说,主要关注的是性能下降曲线上的各个区间和相应的拐点,通过识别不同的区间和拐点,从而为性能瓶颈识别和性能调优提供依据。

4.LoadRunner的性能测试过程
  LoadRunner将性能测试过程分为计划测试,测试设计,创建VU脚本,创建测试场景,运行测试场景和分

析结果6个步骤.
  计划测试阶段主要进行测试需求的收集,典型场景的确定;
  测试设计阶段主要进行用例的设计;
  创建VU脚本阶段主要根据设计的用例创建脚本;
  创建测试场景阶段主要进行测试场景的设计和设置,包括监控指标的设定;
  运行场景阶段对已创建的测试场景进行执行,收集相应数据;
  分析结果阶段主要进行结果分析和报告工作;
  LoadRunner提供的这个性能测试过程已经涵盖了性能测试工作的大部分内容,但由于该过程过于紧密

地与LoadRunner工具集成,没有兼顾使用其它工具,或是用户自行设计工具的需求,也不能被称为是一个

普适性的测试过程.
  另外,LoadRunner提供的该性能测试过程并未对计划测试阶段,测试设计阶段的具体行为,方法和目的

进行详细描述,因此该方法最多只能被称为"使用LoadRunner进行测试的过程",而不是一个适应性广泛

的性能测试过程;

5.Segue提供的性能测试过程
   Segue公司Silk Performer提供的性能测试过程与Performance Testing Lifecycle一致,是一个不

断try-check的过程;
  Silk Performer提供的性能测试过程从确定性能基线开始,通过单用户对应用的访问攻取性能取值的

基线,然后设定接受的性能目标(响应时间),用不同的并发用户数等重复进行测试;
  Segue提供的这种性能测试方法非常适合性能调优和性能优化,通过不断重复的try-check过程,可以

逐一找到可能导致性能瓶颈的地方并对其进行优化;
  但Segue提供的这个性能测试过程模型存在与LoadRunner性能测试过程同样的问题,就是过于依赖工

具自身,另外,该过程模型缺乏对计划,设计阶段的明确划分,也没有给出具体的活动和目标.

6.PTGM模型
  性能测试模型PTGM(Performance Testing General Model),该性能测试模型将性能测试过程分为测

试前期准备,测试工具引入,测试计划,测试设计与开发,测试执行和管理以及测试分析等6个步骤.

 

 

482°/4820 人阅读/0 条评论 发表评论

登录 后发表评论