XXX系统性能测试计划
日期 2012/5/22
一、性能测试方案文档信息... 3
二、XXX简介... 3
2.1、XXX背景与结构... 3
2.2、XXX业务性能分析... 3
三、XXX性能测试环境与团队组成... 3
3.1、性能测试环境物理结构图... 3
3.2、性能测试环境软硬件列表... 3
3.3、性能测试团队组成人员... 4
四、XXX测试方案... 4
4.1、性能测试目标与标准... 4
4.2、性能测试方法... 4
五、XXX性能测试计划进度... 6
六、XXX性能测试风险分析... 6
七、XXX性能测试结果记录... 6
八、附录... 6
一、性能测试文档信息
二、XXX简介
2.1、XXX背景与结构
2.2、XXX业务性能分析
三、XXX性能测试环境与团队组成
3.1、性能测试环境物理结构图
3.2、性能测试环境软硬件列表
硬件:
软件:Loadrunner、windows性能分析器、linux性能分析器、office
3.3、性能测试团队组成人员
四、XXX测试方案
4.1、性能测试目标与标准
4.2、性能测试方法
2.1稳定性测试
测试系统长时间运行的稳定性
2.1.1测试环境
系统稳定运行,WEB/数据库服务器一台、FMS媒体服务器一台、客户端PC机、局域网网络。
2.1.2测试项目和方法
2.2 响应时间测试
测试终端各个功能模块的响应时间
2.2.1测试环境
系统稳定运行,WEB/数据库服务器一台、FMS媒体服务器一台、客户端PC机,单用户/多用户登陆,局域网/广域网网络。
2.2.2测试项目和方法
2.2.3测试预期结果
2.3 系统并发能力
测试系统在不同数目用户登陆的情况下,系统的运行能力
2.3.1测试环境
使用loadruner模拟多路用户登陆的情况下,同时使用相同功能点的情况下,系统的运行能力
2.3.2测试方法
多用户相同功能点操作的的情况下的操作系统状况、网络状况、数据库状况。测试内容包括
a、服务器状态包括:
ü 进程/线程交换率:进程和线程之间每秒交换次数
ü CPU利用率:即CPU占用率(%)
ü 系统CPU利用率:系统的CPU占用率(%)
ü 用户CPU利用率:用户模式下的CPU占用率(%)
ü 磁盘交换率:磁盘交换速率
ü 中断速率:CPU每秒处理的中断数
b、网络状态包括:
ü 吞吐量:单位时间内网络传输数据量
ü 冲突率:在以太网上监测到的每秒冲突数
c、数据库状态:
ü 数据库I/O的流量大小
ü 数据库锁资源的使用数量
ü 数据库的并发连接数:客户端的最大连接数
2.3.3测试结果
执行每个场景时记录以下相应的数据
APP服务器主机上的CPU利用率:
在数据库(Oracle)服务器上主机上的CPU利用率:
IO和CPU利用率对照表如下:
APP服务器监控的网络流量:
DB服务器上监控的网络流量:
运行的并发用户数目:
测试中完成各操作的平均响应时间:(单位:秒)
测试中每秒的点击率如下:
交易的吞吐率(每秒处理数据量):
2.4网络运行能力
2.4.1测试环境
2.4.2 测试方法
2.4.3 测试预期结果
2.5容错能力
2.5.1 测试环境
2.5.2 测试方法
2.5.3 测试预期结果
五、XXX性能测试计划进度
六、XXX性能测试风险分析
七、XXX性能测试结果记录
八、附录
第二篇:Web系统性能测试实施过程
第28卷第lo期
V01.28
计算机工程与设计
ComputerEngineering
2007年5月
May
2007
No.10
andDesign
Web系统性能测试实施过程
杨志,
关
昕,
马
力
(华北计算技术研究所,北京100083)
摘
要:软件,陛能测试是软件质量保证的重要元素,是理解软件系统对不同负载反应能力的方法.Web系统应用对并发服务
性能的严格要求决定了对其进行性能测试的必要性,但是,不对Web系统性能测试过程进行科学有效的控制,则无法保证测试结果的客观性和针对性。从对Web系统结构和Web?If能测试的特点分析入手,重,最讨论了Web系统性能测试的过程,包括测试的目的、测试时机、测试策略和测试工具等;提供了一个合理的性能测试流程.关键词:Web系统;性能测试;测试过程;测试工具;测试方法中图法分类号:TP311.56
文献标识码:A
文章编号:1000.7024(2007)10.2284.03
Web
applicationperformancetestingflow
ⅧGZhi.
(North
Abstract:Software
GUANXin.
MALi
ChinaInstituteofComputing
one
Technology,Beijing100083,China)
anapproachtounder-
bytherequirementon
systemper-
performancestestingis
oftheimportmentelementsinsoftwarequalityassurance,alsois
standinghowthesoftwaresystemreactsundervariousworkloads.The
performance
testessentialis
determined
concurrentservice
forwebapplication.However,withoutscientificeffectivecontrol,thenotbe
objectivityandpertinenceofweb
formance
test
Call
guaranteed.Beginningwiththeanalysis
emphasis
on
ofwebsystemarchitectureandthecharacteristicsofthewebtheweb
system
performancetest.Thenthediscussionwithparticular
opportunity,teststrategy,andtesttools.And
Keywords:web
a
performance
test
processis
made,including
test
objects,test
reasonabletestprocessisrepresented.
application;performance
test;testflow;testtools;teststrategy
0
引言
重要。只有当所进行的Web性能测试符合被测系统要求时,测试的结果才是可靠的,测试的结论才是正确的。
1
软件开发和应用已经进入了一个史无前例的快速发展和增长阶段。无论是计算机本身计算能力的提高,还是业务复杂程度与各式各样需求的产生,使得软件的开发与应用越来越成为企业业务发展的重要保障。特别是随着Interact的迅速发展,许多传统的项目也已经由早期的单机系统发展为基于网络的B/S模式的大型应用系统,其基本特征就是服务器同时为成千上万的用户提供服务,网上银行、电子政务、电子商务等都是比较典型的例子。这导致用户对系统的性能要求越来越高。
然而,在提供了强大的功能和灵活性的同时,这些系统变得难以测试。传统的单用户测试主要侧重于系统组件的功能和用户界面,而系统的性能则需要通过对应用程序整个系统的性能进行测试。同时,传统的或手工的测试方法无法满足对系统进行并发测试的要求。虽然可以构建一个许多用户同时使用系统的环境,手动测试整个系统;然而,这种手动测试方法具有很多缺陷,例如成本高、无法使多个测试人员协调和同步等。因此对Web性能测试进行科学的设计和控制,尤为
收稿日期:2006—04-28
E-mail:yangzhi__yzh@yahoo.tom.cn
Web性能测试概述
Web性能测试通过搭建与实际系统相类似的测试环境,
模拟实际用户的操作在不同的负载条件下,客户端和服务器端的资源使用情况。一个完整的性能测试解决方案必须:
(1)测试一个组合了各种软件应用程序和硬件平台的系统;(2)确定服务器与任何给定应用程序的适应性;
(3)模拟多个客户端与单个服务器应用程序之间进行交互的环境:
“)在几十、几百甚至是上千个用户的负载情况下测试应用程序。
在进行XXX项目性能测试过程中,对性能测试的过程进行了有效的管理,取得了满意的结果。本文结合在XXX项目中性能测试的实施情况,对性能测试的过程进行了概述。
为了保证应用程序的性能测试能够覆盖系统性能指标及对测试结果的客观性得到保障,性能测试应该遵循科学的规范和流程。性能测试的一般流程如图1所示。
作者简介:杨志(1981一),男,河北石家庄人,硕士研究生,研究方向为软件可靠性、软件测试方法和过程;管理和软件测试;?——2284?——
马力,女。研究员,硕士生导师,研究方向为软件工程化理论和质量控制。
关听,女,研究方向为软件项目
万方数据
响响应时间的其它网络组件、前端客户端与后端服务器之间的中间件配置和应用程序服务器。2.1.2定义测试目标
开始测试之前,应精确的定义想要实现的目标。在参考文献[4】中,给出了一组常规应用程序测试目标,如表l所示。
表1常规应用程序性能测试目标
目标
度量最终用户的响应时间定义最优的硬件配置
回答问题
完成‘个业务流程需要多长时间哪一种硬件配置可以提供最佳性能系统无错误或无故障运行的时问长度
升级对性能或可靠性有何影响应选择那些服务器硬件或软件在没有显著性能下降的前提下,系统能
够处理多大的负载那些岗素会延长响应时间
图l性能测试流程
检查可靠性检查硬件或软件升级
2
Web性能测试过程
评估新产品
度量系统容量
2.1制定测试计划
明确的测试计划将确保制定的测试方案能完成客户要求的性能测试目标,它有助于构建能够精确地模拟工作环境的测试方案、了解测试需要的资源和以可度量的指标定义测试成功条件。
2.1.1分析测试需求和被测系统
分析被测系统,应该对硬件和软件组合、系统配置以及典型的使用模型有一个透彻的了解。应用程序分析可以确保使用测试工具创建的测试环境能够在测试中精确的反映应用程序的环境和配置,以及系统性能瓶颈所在。
根据软件设计文档分析软件的系统结构。如果要测试的应用程序是一个较大的网络系统的一部分,应该确定要测试的系统组件。确保分析包括了所有的系统组件,例如客户端、网络、中间件和服务器。
图2说明了一个典型的Web三层应用架构。客户通过不同的浏览器连接到Web服务器;同时,Web客户端又通过Web服务器与同一个数据库服务器进行交互,完成业务处理。
(1)用户组件(客户端)是用户接口部分,它担负着用户与应用间的对话功能;由Servlet或者JSP页面构成;
(2)业务服务组件(服务器)接受客户的请求,并向数据服务器提交数据操作,并将操作结果返回给请求者;
(3)数据服务组件(服务器)存储业务数据。
客户端
。——
确定瓶颈
具体的性能测试目标可以从任何可以得到的关于项目的文档描述中、用户的业务要求要求以及个人经验中得到,特别是从软件需求分析说明书中得到。同时,性能测试目标的确定必须要与客户进行良好的沟通。对最终的测试目标需要用户的正式认可。
2.1.3分析用户使用模型
性能测试实施是通过对一系列场景的执行来完成的,但不是所有的功能模块都需要进行性能测试。而是通过分析用户使用模型,定义系统的典型使用方式,并确定需要重点测试的点。需要考虑到那些用户使用系统、每种类型用户的数量,以及每个用户的典型任务。此外,还应考虑任何可能影响系统响应时间的后台负载。
例如,假定每天早上8点钟左右会有100个用户要在30分钟内登录XXX系统,并且该系统此时有固定的后台负载:20名用户已经登录系统,开始查询当天可能进行的业务交易信息。除了定义常规用户使用模型外,还应该查看用户所执行的任务的分布情况。这有助于为后文的设计实施方案时提供依据。2.1.4确定测试时间
性能测试应贯穿于整个产品的生命周期。表2说明了在产品生命周期的各个阶段有那些类型的测试与之有关。
但是,最根本的性能测试假定应用程序稳定、可靠的运行,因此在测试中消除尽可能多的变数很重要。要精确的比较不同性能测试的结果,应用程序必须正确的工作。如果调整过程中修改了组件的实现,则应该重新测试应用程序的功能:应用程序必须经过功能测试后才可以进行性能测试;除了
服务器服务器
圃
器
田
酿
邕D
稚
m
蛰嚣
‘~
掴
≥
萨占
敞...——.一
应用程序改动外,硬件、网络通信量、软件配置、系统服务等诸多因素也会发生意外的更改,控制应用程序的更改很重要。
实际中,开发者所能组织起来的测试人员数量是很有限
图2典型三层应用架构
通过分析,针对测试需求需要掌握的信息有:连接到系统的用户数、应用程序客户端计算机的配置情况(内存、硬盘、操作系统、软件、开发工具等)、使用的数据库和Web服务器的类型、服务器与应用程序客户端之问的通信方式、通信设备的吞吐量以及每个设备可以处理的并发用户数。可能影
计划和设计评估新产品
表2软件开发周期过程中的性能测试
开发度量响应时间
部署检查可靠性度量响应时间度量系统容量
生产度量响应时间确定瓶颈
升级
检测软件或硬件升级
度董系统容量
度量响应时间检测最优的硬件配置
检测硬件或软件升级
检杏可靠性
‘——2285?——
万方数据
的,其数量往往远远小于应用程序所能承受的数量;并且通常要求Web系统要保证其功能首先被正确的实现。因此,Web系统的测试一般安排在系统发布前期,也就是系统试运行阶段,这样才能保证不因软件的功能错误影响系统性能。
如果用户希望在系统运行以后评估系统的性能,也可以安排进行性能测试。在某些极端情况下,如果运行阶段系统出现了性能问题,也有进行性能测试的需要。2.1.5选择测试工具
采用人工的方式模拟成千上万的用户进行性能测试几乎是不可能实现的。所以一般采用专门的性能测试工具来完成此任务。
目前,性能测试工具有很多,像OpenSTA、OpenLoad、OALoad、LoadRunner等,那么应该如何选择一个适合的性能测试工具呢?一般来说,需要从3个方面综合考虑:
(1)首先要弄清楚对性能测试的需求,如:软件开发环境、性能测试的目的;
(2)了解在性能测试工具上能够承受的投入;
(3)熟悉和比较各种性能测试工具,包括:工具的功能、性能、价格、售后服务等。
综合以上考虑,选用了MI(mercuryinteractive)公司的LoadRunner。LoadRunner是一种预测系统行为和性能的测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。它适用于各种体系架构的自动负载测试,测试对象是整个系统。此外,LoadRunner还支持广泛的协议和技术,能为特殊的环境提供特殊的解决方案。2.1-6设计工具实现策略
在测试计划过程中,应该确定如何使用测试工具来实现测试目标。可以通过使用LoadRunner来度量应用程序不同点的响应时间。根据测试目标确定在那里运行Vuser以及运行哪些Vuser。
比如:度量端到端的响应时间,可以在前端运行脚本以度量典型用户的响应时间:度量服务器响应时间,可以通过在与服务器直接相连的计算机上运行Vuser,就可以度量服务器性能;如果可以访问中间件及其API,可以使用中间件API创建Vuser,以度量中间件到服务器的性能。
定义Vuser活动。根据对Vuser类型的分析,Vuser执行的任务和客户的测试目标,来创建Vuser脚本,由Vuser模拟典型的用户操作,因此Vuser脚本应当包含典型的最终用户任务。例如,要模拟银行客户端,应该创建一个执行典型银行任务的Vuser脚本。可以登录系统,查询业务等。
根据测试目标确定要衡量的任务,并定义这些任务为事务。这些事务度量服务器响应由用户提交的任务所花费的时间(端到端时间)。此外还可以通过设置脚本中的集合点来模拟峰值期活动。集合点指示多个Vuser在同一时刻执行任务。例如,您可以定义一个集合点,以模拟70个用户同时更新账户信息,
硬件和软件应该具有足够的性能和足够快的运行速度,以模拟所需数量的虚拟用户。因此,在确定计算机的数量和正确的配置时,应考虑到:
?——2286?——
万
方数据(1)建议在一台单独的计算机上运行LoadgunnerController;(2)每个GUIVuser需要一台单独的Windows计算机;(3)测试计算机配置应尽量与实际用户的计算机配置相同。可以结合工具自身的要求来选择计算机。比如,在测试XXX系统的过程中选择了3台CPU处理速度为P4
2.8
G,内
存容量为512M,硬盘容量为40G的测试机以保证测试软件可以顺畅的运行。
2.2设计测试脚本和方案
2.2.1
测试脚本的开发与修改
脚本录制的业务要根据在测试计划阶段对典型用户的分
析来选择。
通过LoadRunner的VuGen记录业务的操作流程来创建脚本。例如,在数据库应用程序中,VuGen会监控数据库的客户端,并跟踪发送到数据库服务器和从数据库服务器接收的所有请求。用VuGen创建的每个Vuser脚本都可以通过执行对服务器API的调用来直接与服务器通信,而不需要依赖客户端软件。这样,便可以使用Vhsef来检查服务器性能(甚至在客户端软件的用户界面完全开发好之前)。
当然,可以通过对录制后的脚本添加事务、集合点、参数等来强化脚本。2.2.2设计测试方案
脚本建立后,则需要设定测试方案。方案包含有关如何模拟实际用户的信息:虚拟用户组、Vuser将运行的脚本、以及用于运行脚本的负载生成器计算机。用LoadRunner的Con-troller,能很快组织起多用户的测试方案。Controller的Rendez-VOUS功能提供了一个互动的环境,在其中既可以建立起持续且循环的负载,又能管理和驱动负载测试方案,利用它的日程计划来定义用户在什么时候访问系统以产生负载。这样就能将测试过程自动化。同样还可以用Controller来限定不同的负载方案,在这个方案中所有的用户同时执行一个动作,如登录到系统,来模拟峰值负载的情况。另外,还能监视系统架构中各个组件的性能来帮助客户决定系统的配置。
比如:测试XXX系统登陆功能的性能,模拟了500个虚拟用户,并使这500个虚拟用户以每间隔1秒钟递增50个,逐步启动来与服务器建立连接。由于模拟的用户数目比较多,为了减少在客户端对性能结果的影响,我们使用了5台PC,每台PC上模拟100个虚拟用户,并且设定为每1秒钟递增lO个。2.3执行测试
运行方案时,工具会为用户组分配负载生成器并执行它们的Vuser脚本。图3概述了脚本的运行安排情况。
控制器安装在一台控制工作站上,使用VuGen录制的脚本,负责控制测试场景中运行的所有虚拟用户及负载策略。
当执行一个测试场景时,控制器把虚拟用户脚本分布到各台测试主机上,测试主机通过执行这些脚本来模拟实际用户的行为。远程命令启动和Agent安装在每一台测试主机上,Agent负责控制器和主机之间的通信。同时,Agent还负责把虚拟用户的状态数据和测试结果数据传回控制器;分析器负责处理测试场景执行过程中所收集的测试结果,并且生产图表和报告来帮助分析被测系统的性能。
(下转第2290页)
2.1.7选择测试硬件和软件
本分析引擎返回的多维文本视图和文档展示给用户。3.3该模型的特点
(1)采用元搜索引擎搜索页面。元搜索引擎的设计思想是首先对用户查询请求预处理,然后向各个搜索引擎发送查询请求,各个搜索引擎搜索的结果经过处理,最后向用户返回经过处理后的检索结果。元搜索引擎利用了多个搜索引擎的搜索结果,提高了检索的查全率。
(2)以XML为基础,首先将半结构或无结构的Web页面模型化,然后利用XML抽取技术模型化的数据进行转化、合并,统一化格式后,为Web文本挖掘提供统一的数据源。
(3)建立了挖掘方法库,各挖掘方法以插件的方式组织存放,另外还提供给用户一个增加新方法的链接,使得用户可以把新方法加入到挖掘方法库中。
“)引入文档立方体和多维文本分析引擎技术,为用户提供关于文档的多维视图。
参考文献:
【1】
关冰.基于XML的Web数据挖掘技术系统框架的设计【J】.研究与开发,2004,23:66.68.[2】
徐振航,刘莉芹.XML与面向Web的数据挖掘技术[J】.软件世界,2000,(10):120-122.
【3】
杨鲲,孟波.一种基于XML的Web数据挖掘方法【J】.计算机应
用,2003,23(06):160.161.
.
[4】龚汉明,周长胜.一种Web挖掘的框架[J】.计算机工程与设计,
2005,26(8):2128-2130.
[5】MargaretHDunham.数据挖掘教程[M】.北京:清华大学出版社,
2005.
【6】朱丽红,赵燕平.Web挖掘研究综述[J】.情报技术,2004,(7):2-5.易高翔.Web文本挖掘研究与实现[D】.武汉:武汉科技大学硕士学位论文。2004.
【7】
4结束语
本文在研究和分析Web文本挖掘和XML技术的基础上提出了一种基于XML的Web文本挖掘模型,利用XML技术解决了当前Web文本挖掘中存在的一些问题。Web文本挖掘还有很多值得研究的方向,如:Web文本挖掘模型的实现和挖掘参数的实践优化研究;应用XML技术,开展更加智能化的Web文本挖掘应用研究;Web文本挖掘与其它Web信息提取技术结合,改进或发现更好算法;利用Web文本挖掘技术,促进Web多媒体数据挖掘。
【8】
?
冶红.基于数据挖掘的Web挖掘系统的研究[D】.沈阳大连:大连理工大学硕士学位论文,2003.
李雄飞,李军.数据挖掘与知识发现【M】.北京:高等教育出版社,
2003.
[9】
【10]唐菁,张前,陈泓婕,等.基于Web的文本挖掘【J】.计算机工程与
应用,2002,21;198.200.
【11】邹志文,朱金伟.数据挖掘算法研究与综述[J】.计算机工程与
设计,2005,26(9):2304.2307.
[12】沈洁,薛贵荣.一种基于XML的Web数据挖掘模型[J】.系统工
程理论与实践,2002,(9):74-77.
(上接第2286页)
3结束语
Web系统性能测试是一项复杂的工作。本文根据在XXX项目中的性能测试实施情况,对系统性能测试过程给以了概述。实践证明,此过程是行之有效的。
参考文献:
[1】HungQ
Nguye,Bob
Johnson,MichaelHacker.Testingapplica-
tionsontheweb[M].SecondEdition.北京:电子工业出版社,2005.
图3
LoadRunner脚本运行安排
[2】MICorporation.Loadrunnercontroller
tain
user's
guide[M].Moun-
View,USA:MercuryInteractiveCorporation,2003.
test
2.4分析测试结果
在性能测试脚本的执行过程中,会收集到大量的测试数据,包括脚本中定义的事务的持续时间,脚本执行过程中的错误、警告和通知信息等。同时可以通过LoadRunner联机运行时、事务、Web资源、系统资源、网络延迟、Web服务器资源、Web应用程序服务器资源等监视器来监视方案的执行。这些工具记录的数据都会成为进行分析的第一手数据。将实际测试结果逐一与系统的性能指标进行对比,得出结论。
除此之外,还需要分析测试环境对测试结果的影响。比如不同的网络环境,不同的原始数据量都会对测试结果产生影响。
?——2290?——
【3】MarkFcwstcr,DorothyGraham.Softwareautomation[M].北
京:电子工业出版社,2000.[4】JohnD.Musa.Software
业出版社,2003.【5】
RogerSPressman.Softwareengineering:A
reliability
engineering[M].北京:机械工
practitioner's印?
proach[M】一E京:机械工业出版社,2002.[6】MI
Corporation.Loadtesting
to
predictwebperformance[M].
MountainView,USA:MercuryInteractiveCorporation,2003.
【71蔡立志,杨根兴.软件系统性能测试方法初探【J】-软件工程与标准化,2005,(7):44.50。
【8】
啄木乌部落加何选择性能测试工具[J】彳呈序员,2003,(9):113.115.
万方数据
Web系统性能测试实施过程
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
被引用次数:杨志, 关昕, 马力, YANG Zhi, GUAN Xin, MA Li华北计算技术研究所,北京,100083计算机工程与设计COMPUTER ENGINEERING AND DESIGN2007,28(10)5次
参考文献(8条)
1.啄木鸟部落 如何选择性能测试工具 2003(09)
2.蔡立志;杨根兴 软件系统性能测试方法初探[期刊论文]-软件工程与标准化 2005(07)
3.MI Corporation Load testing to predict web performance 2003
4.Roger S Pressman Software engineering:A practitioner's approach 2002
5.John D Musa Software reliability engineering 2003
6.Mark Fewster;Dorothy Graham Software test automation 2000
7.MI Corporation Loadrunner controller user's guide 2003
8.Hung Q Nguye;Bob Johnson;Michael Hackett Testing applications on the web 2005
引证文献(5条)
1.李艳芹.陈跃华.郭松柏 基于Web应用系统的性能测试综述[期刊论文]-电脑知识与技术 2010(28)
2.尹颖禹.徐小平 大规模分布式Web负载测试系统的设计[期刊论文]-计算机工程与设计 2009(9)
3.张辉.陈祖爵.郭晓俐 Pet Shop和Duwamish复合架构性能测试与对比分析[期刊论文]-计算机工程与设计 2009(8)
4.钟元生.黄梅.刘细发 国家精品课程网站的负载压力测试实践[期刊论文]-中国教育信息化·高教职教 2009(4)
5.兰景英.王永恒 Web系统性能测试研究[期刊论文]-计算机技术与发展 2008(11)
本文链接:http://d..cn/Periodical_jsjgcysj200710012.aspx