1、浅谈软件性能自动测试应用摘要:软件性能是软件测试工作中的重要一环,首先要正确理解软件性能测试,要从不同的角度去理解;其次要熟悉几种软件性能测试方法,LoadRunner 性能测试和 Segue 性能测试以及 PTGM 模型是较好的测试方法,最后从 web 测试说明软件性能测试的方法。学好性能测试,为后续课程及工作打下良好基础。 关键词:软件性能测试;测试过程和方法;web 测试 中图分类号:TP311.5 文献标识码:A 文章编号: 1、引言 软件性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度,还可以理解为是软件产品的一种特性,可以用时间来进行度量。通常,对软件性能的理解是多方面
2、的。例如,用户关心软件性能,就是软件对用户操作的响应时间,因此,对用户来说,当用户单击一个按钮、发出一条指令或是在 Web 页面上单击一个链接,从用户单击开始到应用系统把本次操作的结果以用户能察觉的方式展示出来,这个过程所消耗的时间就是用户对软件性能的直观印象;又比如,从管理员的角度来看,软件系统的性能首先表现在系统的响应时间上,这一点和用户视角是一样的,除此之外,诸如业务响应的时间,cpu 使用情况,内存使用情况以及服务器的使用状态等,另一方面,管理员还会关心系统是否具有可扩展性、处理并发的能力、系统可能的性能瓶颈在哪里,通过更换哪些设备或是进行哪些扩展能够提高系统性能等;再又如,从开发人员
3、的角度看,会关心用户的主要感受,也就是响应时间,因为这是用户的直接体验,还会关心系统的扩展性等管理员关心的内容,因为这些也是产品需要面向的用户,当然最关心的是“通过调整设计和代码实现,或者通过调整系统设置等方法提高软件的性能表现”以及“如何发现并解决软件设计和开发过程中产生的由于多用户访问引起的缺陷” ,因此,最关心的是使性能表现不佳的因素和由于大量用户访问引发的软件故障,也就是通常所说的“性能瓶颈”和系统中存在的在大量用户访问时表现出来的缺陷。所以正确认识软件性能,对以后的教学会带来积极的影响。 2、熟悉几种软件性能测试方法 对软件性能测试来说,如果没有合适的方法,性能测试很容易成为一种随意
4、的测试行为,而随意进行的性能测试很难取得实际的作用和预期的效果,因此必须有严格的测试过程和方法。 (1) 、LoadRunner 性能测试过程 LoadRunner 将性能测试过程分为计划测试、测试设计、创建 VU 脚本、创建测试场景、运行测试场景和分析结果 6 个步骤。计划测试阶段主要进行测试需求的收集、典型场景的确定;测试设计阶段主要进行测试用例的设计;创建 VU 脚本阶段主要根据设计的用例创建脚本;创建测试场景阶段主要进行测试场景的设计和设置,包括监控指标的设定;运行测试场景阶段对已创建的测试场景进行执行,收集相应数据;分析结果阶段主要进行结果分析和报告工作。 (2) 、Segue 提供
5、的性能测试过程 该性能测试过程是一个不断 try-check 的过程。Silk Performer 提供的性能测试过程从确定性能基线开始,通过单用户对应用的访问获取性能取值的基线,然后设定可接受的性能目标(响应时间) ,用不同的并发用户数等重复进行测试。Segue 提供的这种性能测试方法非常适合性能调优和性能优化,通过不断重复的 try-check 过程,可以逐一找到可能导致性能瓶颈的地方并对其进行优化。 (3) 、PTGM 模型 该性能测试模型将性能测试过程分为测试前期准备、测试工具引入、测试计划、测试设计与开发、测试执行和管理以及测试分析等 6 个步骤,在 PTGM 模型的描述中,为每个步
6、骤设计了相应的活动,囊括了从“测试团队组建”到“测试分析”的全部过程,每个活动都有详细的活动指引和参考模板。PTGM 模型参考了各种不同的性能测试、分析等模型,并结合 ATML 和 TMap 等过程模型,是一个有实践指导意义的性能测试模型。 3、掌握典型的软件性能自动测试方法 目前,大部分应用系统都是 B/S 架构,因此 web 性能测试显得非常重要。在此基于 B/S 架构的应用系统进行性能自动测试,生成测试脚本,创建一个场景,具体要求是:虚拟用户数为 50,每个隔 10 秒钟后 5 个虚拟用户进入,持续时间为 20 分钟,每个隔 15 秒钟 5 个虚拟用户退出。运行完场景后,然后分析相应的性
7、能图,其中网页细分图是比较实用的分析哪个页面元素带来的性能瓶颈问题的方法,下面是添加页面细分图,如图 1 所示: 图 1 添加页面细分图界面 然后展开 web page diagnostics,添加需要监控的选项,这里首先解释一下网页元素细分概念,它主要用来评估页面内容是否影响事务的响应时间,通过它可以深入地分析网站上那些下载很慢的图形或中断的连接等有问题的元素。然后打开相关的属性窗口,接下来选择要分析的页面,观察页面元素的细节,观察不同页面元素的网络及服务器的时间,观察 page download time breakdown 各项参数,如图 2 所示: 图 2 观察到每个页面的不同部分所花
8、时间 4、小结 软件性能测试在整个软件测试过程中起着重要作用,要正确进行性能测试,首先必须理解软件性能测试的内涵,站在不同的角度去理解,同时,也要熟悉目前比较流行的软件性能测试的过程和方法,掌握常用测试方法和测试过程,得到想要的测试结果。 参考文献: 1 赵斌.软件测试技术经典教程M.北京:科学出版社,2007 2 朱少民.软件测试方法和技术M.北京:清华大学出版社,2009 3 曾登高DotNet 系统架构与开发M.北京:电子工业出版社,2010 4Rex Black .测试流程管理M.北京:北京大学出版社,2011 5 张克东.软件工程与软件测试自动化教程M.北京:电子工业出版社,2011 作者毛养红,讲师,硕士,研究方向:软件测试,目前从事教学和科研。