应用软件效率测试策略设计剖析

发表于:2011-5-09 11:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:左家平 张海涛 宋红波    来源:51Testing软件测试网采编

  第三方软件测试机构中效率测试工作的开展

  作为第三方的测试机构,与开发公司内部进行的效率测试存在一定的区别。首先是对系统所实现的功能不熟悉,其次对业务流程不熟悉,再次是对系统目前存在的性能瓶颈和可能存在性能瓶颈的功能点不熟悉。因此,在开始效率测试前要通过各种渠道来确定系统所需的测试点。另外测试工具的选用也至关重要,不是每种测试工具都能适应所有效率测试。

  第三方效率测试一般的执行步骤为:

  1.分析系统并确定测试点

  通常情况下,用户会给出一个性能指标,但是在很多情况下,委托方是实际使用系统的用户,因此没有足够的能力提出性能指标。这就需要尽可能快地了解系统,并制定出相应的测试指标和测试点。在制定测试点的同时要遵循几个原则,既要满足用户的需求并尽可能多地发现系统的瓶颈,又要充分考虑时间、人力和资金的限制。

  最低成本原则:性能测试只是全部测试工作的一部分,最低成本的衡量标准主要是指“投入的测试成本能否使系统满足预先确定的性能测试目标”,只要经过反复的“测试——系统调优——测试”后,系统符合性能需求并有一定的扩展空间,就可以认为性能测试工作是成功的。

  策略为中心原则:在实际工作中会遇到各种突发性问题,导致时间的延误,因此需要为测试用例根据重要程度安排优先级。

  适当剪裁原则:对于测试点比较多的系统,具有相同效果的测试点或者不重要的测试点可以进行适当剪裁。

  2.选择适当的测试工具

  QALoad、LoadRunner以及Performance Tester都是一种预测系统行为和性能的工业级标准性能测试负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。但是,不同的测试工具有不同的特点,并不是一个测试工具对所有系统都能够适用。

  3.准备测试环境

  配置测试环境是测试实施的一个重要阶段,测试环境的适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。

  一个充分准备好的测试环境有三个优点:一个稳定、可重复的测试环境,能够保证测试结果的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。

  4.建立虚拟用户脚本并进行适当的修改

  通过测试工具录制系统交易的执行过程,例如登录测试,在录制完脚本前一定要将退出系统的步骤也录制进去,这样才能保证测试脚本能够顺利执行。另外,在录制完测试脚本后执行一次,以便确定脚本是否需要修改。如果脚本不能正确执行,就要检查脚本中哪些地方存在动态ID。确定动态ID的位置后,就要进行相应的替换。替换的方式通常有两种:如果系统变化的范围可预知并按照一定规则顺序变化,则可以直接采用数据池的技术直接替换;通过在脚本中插入变量,该变量可以获取从服务器传来的动态ID,并以此来替换。

  另外,在进行并发测试时,登录系统的用户最好采用不同的用户。

  5.根据性能指标创建测试场景

  设计测试场景的目的是为了更加真实地模拟系统实际运行的状况,从而更加准确地评估系统的性能指标。

  例如登录点,系统要求每分钟支持600个用户并发登录,登录的响应时间在10秒之内。据此,可以设计递增测试的场景,从第一秒钟开始,用测试工具每秒钟登录10个用户,并保持连接,直到1分钟结束,从终端向系统一共发送600个用户的登录请求,系统在1分钟内建立了600个连接。同时,测试场景还要限制登录的响应时间小于10秒。这些策略对于LoadRunner和QALoad均能够实现。

  除了递增测试外,还可以通过测试系统所能承受的最大瞬时并发用户登录连接数来从另一个方面反映系统在瞬间所能承载的极限值。这一结果与递增测试结果共同反映系统的登录处理能力。

  6.运行测试场景、同步监测应用性能

  在运行测试场景前,要根据测试需求监测客户端、网络、web服务器、应用服务器、数据库和所有服务器硬件等各项指标。

  在每执行完一个测试场景后,要粗略地查看一下性能和资源指标是否异常。

  7.性能测试的结果分析和性能评价

  结合测试结果数据,分析出系统性能行为表现的规律,并准确定位系统的性能瓶颈所在。在这个步骤里,可以利用数学手段对大批量数据进行计算和统计,使结果更加具有客观性。在性能测试中,需要注意的是,能够执行的性能测试方案并不一定是成功的,成败的关键在于其是否精确地对真实世界进行了模拟。

  性能测试结果分析,是性能测试过程中最困难,也是最重要的步骤。它需要分析人员对测试结果中的各项数据有准确的认识,明确各指标之间的关系。如果各项数据指标间没有明显联系,在多数情况下需要综合考虑各种因素,才能得出最终结论。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号