模版_性能测试计划_第1页
模版_性能测试计划_第2页
模版_性能测试计划_第3页
模版_性能测试计划_第4页
模版_性能测试计划_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网通系统压力测试方案微软(中国)有限公司编建日期2002年4月9日编制人冯江、谢华芳网通压力测试方案版本控制版本日期作者备注vl.O2002-4-9冯江、谢华芳第3页网通压力测试方案目录一、 概述41.1项目背景和测试目的 41.2被测系统介绍41.3测试可接收条件 5二、 测试需求5三、 测试方法53.1测试方法53.2测试案例93.3测试流程93.4数据文件准备 93.5测试脚本说明 10四、 测试环境104.1网络拓扑图104.2环境配置10五、 测试实施115.1试资源与进度 115.2 测试机构和人员职责 12六、 试存储管理规范 136.1存储内容、地点、命名规则 136.2存储目

2、录结构 146.3备份14附录 1: Env_Check_list15附录2:测试工具原理 16第4页网通压力测试方案亠、概述1.1项目背景和测试目的为了保障网通即将建设的综合营帐系统能够顺利实施, 网通希望在项目正式 实施前了解未来系统是否可以使用目前已经选用的技术进行搭建, 即了解项目技 术的可行性。另外,网通还希望了解使用不同技术实现的差异。1.2被测系统介绍本次被测系统是针对网通项目的一个前期实验系统。系统逻辑结构图如下:整个系统分为三个主要部分,主要功能包括:1. 系统A系统A是整个系统的数据入口,可以将客户请求传给Biztalk或者直接传给系统B。系统A可以通过两种方法接收客户请求

3、传给系统。一种通过Tuexdo(A)接收用户请求,另一种可以直接通过WebLogic(A)接收用户请求。2. BiztalkBiztalk是整个系统的中心,负责连接系统A和B,主要目的是同步处理系统 消息。另外,由于测试需要,Biztalk本身可以接收用户请求(Http)。3. 系统B可以看作系统的服务端。接收Biztalk的请求,并返回结果。1.3测试可接收条件1、每次测试交易成功率在90%以上2、用户每个请求的响应时间低于 2秒每次测试,以上条件必须同时满足,方视为本次测试通过。1、测试需求本次测试的需求包括:1、Biztalk系统的处理能力2、整个系统能够支持多少用户同时访问3、不同技术

4、间实现的差异三、测试方法3.1测试方法测试过程采用自动测试工具进行。目前暂时决定使用Mercury In teractive公司的测试产品:LoadRu nner。1、测试Biztalk系统的处理能力:.-BiztalkHttp/XML101AIC/channel、Httpportzx第7页网通压力测试方案第#页网通压力测试方案图2、测试Biztalk系统的处理能力模拟多个Web类型的虚拟用户,同时向 Biztalk系统发送HTTP请求,之后 记录每个虚拟用户的响应时间。2、整个系统能够支持多少用户同时访问方法一:模拟多个Web类型的虚拟用户,同时向WebLogic(A)发送HTTP请求,之后

5、 记录每个虚拟用户的响应时间。第#页网通压力测试方案第#页网通压力测试方案图3、测试整个系统能够支持多少用户同时访问(方法一)第#页网通压力测试方案方法二:模拟多个Tuxedo类型的虚拟用户(即模拟Tuxedo客户端),同时向Tuxedo(A) 的服务发送Tuxedo请求,之后记录每个虚拟用户的响应时间。图4、测试整个系统能够支持多少用户同时访问(方法二)3、不同技术间实现的差异方法一:模拟多个Tuxedo类型的虚拟用户(即模拟Tuxedo客户端),同时向Tuxedo(A) 的服务发送Tuxedo请求,并且Tuxedo(A)发送的请求,不经过 Biztalk系 统,之后记录每个虚拟用户的响应时

6、间。第8页网通压力测试方案Tuxedo(A)AServiceTuxedoHttp/XML图5、测试不同技术间实现的差异(方法一)方法二:模拟多个 Web类型的虚拟用户,同时向WebLogic(A)的发送HTTP请求,并 且WebLogic( A)发送的请求,不经过 Biztalk系统,之后记录每个虚拟用户的 响应时间。第9页网通压力测试方案第#页网通压力测试方案Http/XML图6、测试不同技术间实现的差异(方法17二Tuxedo(A)WTC> servle.WebLogic(A)第10页网通压力测试方案3.2测试案例测试目的虚拟用户 类型Case No.并发用户数交易循环 次数测试Bi

7、ztalk系统的处理能力WEB001002003004整个系统能够支 持多少用户同时 访问WEB005006007008TUXEDO009010011012不同技术间实现 的差异WEB013014015016TUXEDO0170180190203.3测试流程正式测试过程如下:1确认被测环境正常(Env_Check_list)2、确认测试环境设置(Env_Check_list)3、 开始测试一 一4、存储测试结果5、系统调试6、应用调试7、环境维护3.4数据文件准备数据文件名称包含内容说明数据量第12页网通压力测试方案3.5测试脚本说明脚本名称描述(TranNo.:Tran 名称:解释)参数说明

8、(参数:说明)数据(参数:文件:方法)四、测试环境4.1网络拓扑图被测系统'I网络-1控制台测试系统图7、测试网络拓扑图4.2环境配置类型配置软件被测系统服务器1服务器2服务器3测试系统测试机控制台网络五、测试实施5.1试资源与进度项目 阶段任务分解任务内容完成标准责任人资源与 时间项目 启动设立项目项目定义,规划项目运作模式, 编制项目计划,组建项目班子与 实施队伍输出项目计划测试经理0.5人天测试 计划 和测 试设 计测试需求 调研明确测试需求、测试目标、界定 测试范围、任务和具体内容双方就测试需求达 成共识测试人员 微软负责人0.5人天制定测试 万案细化测试方案,定义测试范 围,

9、并定义各项测试活动和步 骤,具体安排测试实施过程及测 试进度输出测试方案 (初稿)测试经理2人天测试方案 评审对测试方案定义的功能、性能测 试范围、测试策略、测试组织实 施过程、测试进度等进行评审输出测试方案 (讨论稿),对测试 方案中涉及的各项 内容达成共识微软负责人 测试经理1人天测试准备工作搭建应用 运行环境搭建应用所需的环境,并建立测 试数据库应用正常运行微软负责人搭建测试运行环境搭建测试所需的环境,包括测试 工具软件、性能监控软件等各测试软件正常运 行测试人员1人天准备测试 数据准备必要的功能及压力测试所 需的测试数据输出测试数据准 备清单,并准备好 测试数据测试人员 微软开发人员1

10、人天测试开发开发压力 测试脚本按照压力测试案例设计,开发测 试脚本输出可执行的测试 脚本测试人员1人天第ii页网通压力测试方案测试执行预测试证明测试脚本可用,证明测试流 程可用证明测试环境配置合理证明测试数据准备充分按照预期可接收条件:运行2x2场景成功运行25x25场景成功微软负责人 微软开发人员 测试经理1天系统调优使系统运行在最佳状态运行500或1000并发用户场景,测试 经理和项目经理直 到认为测试停止微软负责人 微软开发人员 测试经理2天极限测试测试系统究竟能够承受的业务 量按照预期可接收条 件,系统已经不能 承受测试人员1天压力测试 评估按照测试评估策略对性能进行 评估,并对系统性

11、能进行分析输出性能测试评 估报告测试评估总结总结输出项目报告、相关文档归档, 安排后续工作输出项目报告测试人员5.2测试机构和人员职责角色任务网通项目经理测试策略制定,管理协调测试项目经理:测试组织、管理协调测试组测试执行并协助进行结果分析开发专豕业务指导,调优指导测试专豕测试工具支持,测试方案审核系统专家系统恢复、系统问题顾问网通项目经理测试项寸经理专家组测试组开发专家测试专家系统专家图8测试组织结构图六、试存储管理规范6.1存储内容、地点、命名规则存储内容:a)测试脚本b)测试场景c)测试结果d)相关文档e)数据文件 存储地点:运行控制台的主机硬盘上,存储结构见下面 图9 命名规则:a)测

12、试脚本LTscr_App_SubApp_version说明:LTsc: Load Test ScriptApp:业务名称SubApp:子业务名称(可选)Versio n:脚本的版本号b)测试场景LTsce_App_SubAppConCurrUser_lteration说明:LTsce Load Test Seenario App:业务名称SubApp:子业务名称(可选)ConCurrUse:并发用户数 Iterati on:每个用户循环次数c)测试结果LTres_ App_SubAppConCurrUser_lteration _time说明:LTres Load Test ResultApp

13、:业务名称SubApp:子业务名称(可选)ConCurrUse:并发用户数 Iterati on:每个用户循环次数 Time:第几次测试6.2存储目录结构DF_LoadTestScriptSeen arioPre_TestTestResultDate( MM_DD_YYYY)Doeume ntDataFile图9、测试存储结构图说明:Script:存储测试脚本 Seenario存储测试场景Result:存储测试结果Doeume nt:存储相关文档DataFile:存储数据文件录,全部备份到6.3备份测试结果每天在测试结束后备份一次,将“ D:LoadTest”磁带机或 “ AnyPCC: Lo

14、adTest_bak'第17页网通压力测试方案附录 1: Env_Check_list日期:2002年 月 日 时 分测试结果名称:检查内容如下:检查项检杳人结论备注被测试系统:Web Server清除Cache和临时文件Web Server重新启动Application Server 清除 Cache和临时文件Application Server 重新启动DB Server清除新生成的记录和临时文件DB Server重新启动确认应用可以正常运行测试系统:测试机清除临时文件测试机重新启动控制台机器清除临时文件控制台机器重新启动测试机LoadRunner RCL已经启动确认测试机临时空间

15、大于 1GIteration次数设置正确不写log确认Proxy设置Simulate browser Cache en ableDownl oad non-HTML resources en ableSimulate a new user each iterati on en able参数方法正确DNS Cache en ableKeep-Alive en ableCon cure nt conn ecti ons = 4测试监督签字:附录2:测试工具原理Mercury Interactive公司的客户机/服务器系统的压力测试工具 LoadRunner,其工作原理为:通过一个中心控制点,在一个

16、或几个主机上同时 模拟成百上千的实际用户的操作,从而生成一致的、可测量的及可重复的系统负载,并记录特定交易操作的响应时间。概要地说:首先录制应用程序的操作过程, 测试工具会自动生成可执行的脚本,该脚本运行起来,从服务器端看,就如同一个实际的用户在进行操作,我们称为虚拟用户。然后,通过中心控制点 (Co ntroller)设置测试场景,控制许多个虚拟用户在多台 Age nt机器上同时运行, 监控运行状态,收集响应时间等性能数据。使用虚拟用户(Vuset)替代实际用户每个模拟的用户即为一个虚拟用户,其实就是一个运行的测试脚本。LoadRunner在PC上主要有两种Vuser:非图形用户界面 的虚拟

17、用户 (Non-GUI Vuser)和图形用户界面虚拟用户(GUI Vuser)。Non-GUI Vuser是直接通过 API调用和 Web/Application/DB服务器进行交互 的,它的脚本是直接向服务器提交请求的类C语言程序。多个Non-GUI Vuser可运行于一台主机上。 Vuser可通过Virtual User Generator来录制生成,在录制 脚本中可以标明某一活动(transaction)的开始和结束点,用于具体度量这一活 动的响应时间及性能,还可以在某一操作之前定义集结点(rendezvous,用于测试这一操作的多用户并发。GUI Vuser模拟实际用户运行应用程序进

18、行操作的情况,它的脚本记录了客 户机上所有的界面操作。GUI Vuser可通过Mercury In teractive公司的功能测试 工具WinRunner来录制生成。由于本次压力测试的目的是检验服务器对压力的承载能力,因此建议通过在一台主机上运行多个Non-GUI Vuser来模拟多用户的活动进行压力测试。测试脚本的参数化测试脚本反映的是录制时输入的数据的情况。 但由于录制操作可能引起原输 入数据状态的变化,因此要修改测试脚本中的输入数据及与其相关的数据;而且为了更准确地模拟真实系统的运作,输入的数据及与其相关的数据就必须参数 化,并且为该参数建立一个包含所有数据的参数文件。这样当模拟多用户

19、进行压 力测试时,就可控制每个虚拟用户使用参数文件中的不同数据。通过中心控制点(Controller)管理虚拟用户在中心控制点,定制测试场景,即将要在测试会话中发生的事件。定制包括 模拟的用户个数、模拟用户所在的主机、模拟用户的动作等。在中心控制点控制场景的运行,管理所有虚拟用户的活动,监控虚拟用户的状态,也可以无人照料地运行。场景执行完后,可通过Controller的性能分析图形和报表对结果数据进行分析。代理程序必须安装在参与测试的每一台主机上,当场景开始运行,代理程序 负责Controller与主机之间的通讯。C lient使用自动生成的图表和报表分析测试结果在每个测试场景运行完后,Con

20、troller自动收集服务器、网络及客户端的性 能数据,并以图形和报表的形式显示。其中包括服务器响应Vuser以及transaction 提交的请求和任务的时间;在运行期间的基于活动 Vuser数目的transaction性能时间;服务器磁盘I/O、CPU使用情况,网络延迟等数据。测试方法及步骤1、建立虚拟用户(生成测试脚本)在LoadRunner的Virtual User Generator中录制测试脚本,建立虚拟用户,一 般一个业务操作录制成一个测试脚本,步骤如下:1)根据应用软件的体系结构、中间件、数据库或客户端与服务器之间的协议,选择对应的虚拟用户类型,如:WEB、Oracle、Tux

21、edo、Win Socket2)指定要录制的可执行程序,开始录制;3)在Vuser init section中记录登录应用系统的过程;4)在 Actions section中记录功能操作过程,适当加入事务(transaction的开始与结束点(事务也可在脚本生成后,直接在脚本中加入)。当需要 记录压力测试过程中某一操作的响应时间时,则在执行这一操作前定义事务的开始点,并给这一事务命名,在操作结束后定义该事务的结束点;5)在Vuser end section记录退出系统的过程;6)回放测试脚本,检验测试脚本执行的正确性(有可能要恢复录制以前的 数据状态,或进行必要的参数化)。2、试脚本的参数化测

22、试脚本反映的是录制时输入的数据的情况,但为了更准确地模拟真实系统 的运作,如模拟不同用户的登录,不同用户查询股票行情,不同用户在做不同的 股票交易等情况,有些输入的数据必须参数化,并且为该参数建立一个包含所有 可能的数据的参数文件。这样当模拟多用户进行压力测试时,就可控制每个虚拟 用户使用参数文件中的不同数据。参数的选择、参数文件的定制具体根据应用软件的实际情况而定,但要保证 录制的脚本能够顺利地执行回放,且完成相应的业务功能。3、定制压力测试场景在LoadRunner的Controller中,定制压力测试场景,也就是模拟一个多用户 并发的情况,包括:运行虚拟用户的测试主机、在测试机上运行的虚

23、拟用户数、 虚拟用户运行的测试脚本、每个虚拟用户的循环次数等等。1)虚拟用户并发数:定义执行某一测试脚本的虚拟用户并发数,则虚拟用 户并发总数为各脚本虚拟用户并发数之和;由于在运行测试脚本时,忽 略了 Think Time,因此一个虚拟用户的操作是非常连贯的,其强度远远 大于一个实际用户的操作强度;另外,为了测试引起系统性能急剧下降 的拐点和引起系统崩溃的崩溃点,并发的虚拟用户数需逐渐增加,每次 增加的数量可视测试的具体情况而定。2)测试主机:选择运行某一测试脚本的测试主机。3)虚拟用户执行的脚本:选择虚拟用户执行的测试脚本,即完成某一业务 功能的测试脚本。4)Iteration Count:

24、虚拟用户运行测试脚本 Actions sectior部分的循环次 数,增加循环次数是为了保证在某一稍长的时间段内有一个稳定的负载,这样统计的结果才比较准确。需要注意的是,每台测试机上所支持的虚拟用户数,与测试机的配置和录制 的应用程序的大小有关。每台测试机上运行的虚拟用户数不能太多,因为如果太 多的话,性能瓶颈将会出现在客户端,那么测出的结果将毫无意义。4、运行压力测试场景在LoadRunner的Controller中,运行压力测试场景,就可以控制测试机上的 所有虚拟用户并发进行相应的操作。步骤为:1)启动测试机的 Remote Command Launche;2)在Controller中使测

25、试机处于“连接”状态3)在Controller中,对所有虚拟用户发出初始化(initialize)命令,测试主 机的RCL启动Age nt,并将虚拟用户初始化,执行测试脚本中Vuser init section部分,使之登录系统;4)在Controller中,对所有虚拟用户发出运行(run)命令,通过测试主机的Age nt运行各虚拟用户,执行测试脚本中的Actions section部分,在Con troller端监控虚拟用户的状态及执行结果;5)每个虚拟用户按指定的循环次数执行测试脚本中的Actions section部分,然后执行Vuser end sectioi部分,退出应用系统;6)当每一个虚拟用户运行完成后,整个测试场景运行结束。在压力测试场景执行过程中,Controller会自动收集服务器、网络及客户端的性能数据, 以及各事务的响应时间等。5、监控系统性能在测试场景运行过程中,我们需要监控:1)监控运行虚拟用户的客户端的资源使用情况,使用Windows的性能监视 器监控客户端的CPU、Memory等资源使用情况,以防止性能瓶颈出现 在客户端;另外,可以在进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论