版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网通系统压力测试方案微软(中国)有限公司版本控制版本日期作者备注v1.02002-4-9冯江、谢华芳目录一、概述 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 存储目录结构 146.3 备份 14附录 1:Env_
2、Check_list 15附录 2:测试工具原理 16一、概述1.1 项目背景和测试目的为了保障网通即将建设的综合营帐系统能够顺利实施,网通希望在项目正式实施前了解未来系统是否可以使用目前已经选用的技术进行搭建,即了解项目技术的可行性。另外,网通还希望了解使用不同技术实现的差异。1.2 被测系统介绍本次被测系统是针对网通项目的一个前期实验系统。系统逻辑结构图如下:Laptop图 1、系统逻辑结构图整个系统分为三个主要部分,主要功能包括: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、Biztalk 系统的处理能力2、整个系统能够支持多少用户同时访问3、不同
4、技术间实现的差异三、测试方法3.1 测试方法测试过程采用自动测试工具进行。目前暂时决定使用 Mercury Interactive 公司的测试产品:LoadRunner。1、测试 Biztalk 系统的处理能力:HTTP图 2、测试 Biztalk 系统的处理能力模拟多个 Web 类型的虚拟用户,同时向 Biztalk 系统发送 HTTP 请求,之后记录每个虚拟用户的响应时间。2、整个系统能够支持多少用户同时访问方法一:模拟多个 Web 类型的虚拟用户,同时向 WebLogic(A)发送 HTTP 请求,之后记录每个虚拟用户的响应时间。HTTP图 3、测试整个系统能够支持多少用户同时访问(方法
5、一)方法二:模拟多个Tuxedo 类型的虚拟用户(即模拟 Tuxedo 客户端),同时向 Tuxedo(A)的服务发送 Tuxedo 请求,之后记录每个虚拟用户的响应时间。图 4、测试整个系统能够支持多少用户同时访问(方法二) 3、不同技术间实现的差异方法一:模拟多个Tuxedo 类型的虚拟用户(即模拟 Tuxedo 客户端),同时向 Tuxedo(A)的服务发送 Tuxedo 请求,并且 Tuxedo(A)发送的请求,不经过 Biztalk 系统,之后记录每个虚拟用户的响应时间。图 5、测试不同技术间实现的差异(方法一)方法二:模拟多个 Web 类型的虚拟用户,同时向 WebLogic(A)
6、的发送 HTTP 请求,并且 WebLogic(A)发送的请求,不经过 Biztalk 系统,之后记录每个虚拟用户的响应时间。HTTP图 6、测试不同技术间实现的差异(方法二)3.2 测试案例测试目的虚拟用户类型Case No.并发用户数交易循环次数测试 Biztalk 系统的处理能力WEB001002003004整个系统能够支持多少用户同时访问WEB005006007008TUXEDO009010011012不同技术间实现的差异WEB013014015016TUXEDO0170180190203.3 测试流程正式测试过程如下:1、确认被测环境正常(Env_Check_list) 2、确认测试
7、环境设置(Env_Check_list) 3、开始测试4、存储测试结果5、系统调试6、应用调试7、环境维护3.4 数据文件准备数据文件名称包含内容说明数据量3.5 测试脚本说明脚本名称描述(TranNo.:Tran 名称:解释)参数说明(参数:说明)数据(参数:文件:方法)四、测试环境4.1 网络拓扑图图 7、测试网络拓扑图4.2 环境配置类型配置软件被测系统服务器 1服务器 2服务器 3测试系统测试机控制台网络五、测试实施5.1 试资源与进度项目阶段任务分解任务内容完成标准责任人资源与时间项目启动设立项目项目定义,规划项目运作模式,编制项目计划,组建项目班子与实施队伍输出项目计划测试经理0.
8、5 人天测试计划和测试设计测试需求调研明确测试需求、测试目标、界定测试范围、任务和具体内容双方就测试需求达成共识测试人员 微软负责人0.5 人天制定测试方案细化测试方案,定义测试范围,并定义各项测试活动和步骤,具体安排测试实施过程及测试进度输出测试方案(初稿)测试经理2 人天测试方案评审对测试方案定义的功能、性能测试范围、测试策略、测试组织实施过程、测试进度等进行评审输出测试方案(讨论稿),对测试方案中涉及的各项内容达成共识微软负责人测试经理1 人天测试准备工作搭建应用运行环境搭建应用所需的环境,并建立测试数据库应用正常运行微软负责人搭建测试运行环境搭建测试所需的环境,包括测试工具软件、性能监
9、控软件等各测试软件正常运行测试人员1 人天准备测试数据准备必要的功能及压力测试所需的测试数据输出测试数据准备清单,并准备好测试数据测试人员微软开发人员1 人天测试开发开发压力测试脚本按照压力测试案例设计,开发测试脚本输出可执行的测试脚本测试人员1 人天测试执行预测试证明测试脚本可用,证明测试流程可用证明测试环境配置合理证明测试数据准备充分按照预期可接收条件:运行 2x2 场景成功运行 25x25 场景成功微软负责人 微软开发人员测试经理1 天系统调优使系统运行在最佳状态运行 500 或 1000 并发用户场景,测试经理和项目经理直到认为测试停止微软负责人 微软开发人员测试经理2 天极限测试测试
10、系统究竟能够承受的业务量按照预期可接收条件,系统已经不能承受测试人员1 天压力测试评估按照测试评估策略对性能进行评估,并对系统性能进行分析输出性能测试评估报告测试评估总结总结输出项目报告、相关文档归档,安排后续工作输出项目报告测试人员5.2测试机构和人员职责角色任务网通项目经理测试策略制定,管理协调测试项目经理:测试组织、管理协调测试组测试执行并协助进行结果分析开发专家业务指导,调优指导测试专家测试工具支持,测试方案审核系统专家系统恢复、系统问题顾问网通项目经理图 8、测试组织结构图六、试存储管理规范6.1 存储内容、地点、命名规则l存储内容:a)测试脚本b)测试场景c)测试结果d)相关文档e
11、)数据文件l存储地点:运行控制台的主机硬盘上,存储结构见下面图 9。l命名规则:a)测试脚本LTscr_App_SubApp_version说明:LTscr:Load Test Script App:业务名称 SubApp:子业务名称( 可选) Version:脚本的版本号b)测试场景LTsce_App_SubApp_ConCurrUser_Iteration说明:LTsce:Load Test Scenario App:业务名称 SubApp:子业务名称( 可选) ConCurrUser:并发用户数 Iteration:每个用户循环次数c)测试结果LTres_ App_SubApp_ConC
12、urrUser_Iteration _time说明:LTres:Load Test ResultApp:业务名称 SubApp:子业务名称( 可选) ConCurrUser:并发用户数 Iteration:每个用户循环次数 Time:第几次测试6.2 存储目录结构图 9、测试存储结构图说明: Script:存储测试脚本 Scenario:存储测试场景 Result:存储测试结果 Document:存储相关文档 DataFile:存储数据文件6.3 备份测试结果每天在测试结束后备份一次,将“D:LoadTest”目录,全部备份到磁带机或“AnyPCC: LoadTest_bak”附录 1:Env
13、_Check_list日期:2002 年 月 日 时 分测试结果名称: 检查内容如下:检查项检查人结论备注被测试系统:Web Server 清除 Cache 和临时文件Web Server 重新启动Application Server 清除Cache 和临时文件Application Server 重新启动DB Server 清除新生成的记录和临时文件DB Server 重新启动确认应用可以正常运行测试系统:测试机清除临时文件测试机重新启动控制台机器清除临时文件控制台机器重新启动测试机 LoadRunner RCL 已经启动确认测试机临时空间大于 1GIteration 次数设置正确不写 lo
14、g确认 Proxy 设置Simulate browser Cache enableDownload non-HTML resources enableSimulate a new user each iteration enable参数方法正确DNS Cache enableKeep-Alive enableConcurent connections = 4测试监督签字: 附录 2:测试工具原理Mercury Interactive 公司的客户机 / 服务器系统的压力测试工具 LoadRunner,其工作原理为:通过一个中心控制点,在一个或几个主机上同时模拟成百上千的实际用户的操作,从而生成一
15、致的、可测量的及可重复的系统负载,并记录特定交易操作的响应时间。概要地说:首先录制应用程序的操作过程,测试工具会自动生成可执行的脚本,该脚本运行起来,从服务器端看,就如同一个实际的用户在进行操作,我们称为虚拟用户。然后,通过中心控制点(Controller)设置测试场景,控制许多个虚拟用户在多台 Agent 机器上同时运行,监控运行状态,收集响应时间等性能数据。l使用虚拟用户(Vuser)替代实际用户每个模拟的用户即为一个虚拟用户,其实就是一个运行的测试脚本。LoadRunner 在 PC 上主要有两种 Vuser :非图形用户界面的虚拟用户(Non-GUI Vuser)和图形用户界面虚拟用户
16、(GUI Vuser)。Non-GUI Vuser 是直接通过 API 调用和 Web/Application/DB 服务器进行交互的,它的脚本是直接向服务器提交请求的类 C 语言程序。多个 Non-GUI Vuser可运行于一台主机上。Vuser 可通过 Virtual User Generator 来录制生成,在录制脚本中可以标明某一活动(transaction)的开始和结束点,用于具体度量这一活动的响应时间及性能,还可以在某一操作之前定义集结点(rendezvous),用于测试这一操作的多用户并发。GUI Vuser 模拟实际用户运行应用程序进行操作的情况,它的脚本记录了客户机上所有的界
17、面操作。GUI Vuser 可通过Mercury Interactive 公司的功能测试工具 WinRunner 来录制生成。由于本次压力测试的目的是检验服务器对压力的承载能力,因此建议通过在一台主机上运行多个 Non-GUI Vuser 来模拟多用户的活动进行压力测试。l 测试脚本的参数化测试脚本反映的是录制时输入的数据的情况。但由于录制操作可能引起原输入数据状态的变化,因此要修改测试脚本中的输入数据及与其相关的数据;而且为了更准确地模拟真实系统的运作,输入的数据及与其相关的数据就必须参数化,并且为该参数建立一个包含所有数据的参数文件。这样当模拟多用户进行压力测试时,就可控制每个虚拟用户使用
18、参数文件中的不同数据。通过中心控制点(Controller)管理虚拟用户在中心控制点,定制测试场景,即将要在测试会话中发生的事件。定制包括模拟的用户个数、模拟用户所在的主机、模拟用户的动作等。在中心控制点控制场景的运行,管理所有虚拟用户的活动,监控虚拟用户的状态,也可以无人照料地运行。场景执行完后,可通过 Controller 的性能分析图形和报表对结果数据进行分析。代理程序必须安装在参与测试的每一台主机上,当场景开始运行,代理程序负责 Controller 与主机之间的通讯。Clientl 使用自动生成的图表和报表分析测试结果在每个测试场景运行完后,Controller 自动收集服务器、网络
19、及客户端的性能数据,并以图形和报表的形式显示。其中包括服务器响应 Vuser 以及 transaction提交的请求和任务的时间;在运行期间的基于活动 Vuser 数目的 transaction 性能时间;服务器磁盘 I/O、CPU 使用情况,网络延迟等数据。测试方法及步骤1、建立虚拟用户(生成测试脚本)在 LoadRunner 的 Virtual User Generator 中录制测试脚本,建立虚拟用户,一般一个业务操作录制成一个测试脚本,步骤如下:1) 根据应用软件的体系结构、中间件、数据库或客户端与服务器之间的协议,选择对应的虚拟用户类型,如:WEB、Oracle、Tuxedo、Win
20、Socket等等;2) 指定要录制的可执行程序,开始录制;3) 在 Vuser init section 中记录登录应用系统的过程;4) 在 Actions section 中记录功能操作过程,适当加入事务(transaction)的开始与结束点(事务也可在脚本生成后,直接在脚本中加入)。当需要记录压力测试过程中某一操作的响应时间时,则在执行这一操作前定义事务的开始点,并给这一事务命名,在操作结束后定义该事务的结束点;5) 在 Vuser end section 中记录退出系统的过程;6) 回放测试脚本,检验测试脚本执行的正确性(有可能要恢复录制以前的数据状态,或进行必要的参数化)。2、 试脚
21、本的参数化测试脚本反映的是录制时输入的数据的情况,但为了更准确地模拟真实系统的运作,如模拟不同用户的登录,不同用户查询股票行情,不同用户在做不同的股票交易等情况,有些输入的数据必须参数化,并且为该参数建立一个包含所有可能的数据的参数文件。这样当模拟多用户进行压力测试时,就可控制每个虚拟用户使用参数文件中的不同数据。参数的选择、参数文件的定制具体根据应用软件的实际情况而定,但要保证录制的脚本能够顺利地执行回放,且完成相应的业务功能。3、 定制压力测试场景在 LoadRunner 的 Controller 中,定制压力测试场景,也就是模拟一个多用户并发的情况,包括:运行虚拟用户的测试主机、在测试机
22、上运行的虚拟用户数、虚拟用户运行的测试脚本、每个虚拟用户的循环次数等等。1) 虚拟用户并发数:定义执行某一测试脚本的虚拟用户并发数,则虚拟用户并发总数为各脚本虚拟用户并发数之和;由于在运行测试脚本时,忽略了 Think Time,因此一个虚拟用户的操作是非常连贯的,其强度远远大于一个实际用户的操作强度;另外,为了测试引起系统性能急剧下降的拐点和引起系统崩溃的崩溃点,并发的虚拟用户数需逐渐增加,每次增加的数量可视测试的具体情况而定。2) 测试主机:选择运行某一测试脚本的测试主机。3)虚拟用户执行的脚本:选择虚拟用户执行的测试脚本,即完成某一业务功能的测试脚本。4)Iteration Count:
23、虚拟用户运行测试脚本 Actions section 部分的循环次数,增加循环次数是为了保证在某一稍长的时间段内有一个稳定的负载,这样统计的结果才比较准确。需要注意的是,每台测试机上所支持的虚拟用户数,与测试机的配置和录制的应用程序的大小有关。每台测试机上运行的虚拟用户数不能太多,因为如果太多的话,性能瓶颈将会出现在客户端,那么测出的结果将毫无意义。4、 运行压力测试场景在 LoadRunner 的 Controller 中,运行压力测试场景,就可以控制测试机上的所有虚拟用户并发进行相应的操作。步骤为:1) 启动测试机的 Remote Command Launcher;2) 在 Control
24、ler 中使测试机处于“连接”状态;3) 在 Controller 中,对所有虚拟用户发出初始化(initialize)命令,测试主机的 RCL 启动 Agent,并将虚拟用户初始化,执行测试脚本中 Vuser init section 部分,使之登录系统;4) 在 Controller 中,对所有虚拟用户发出运行(run)命令,通过测试主机的 Agent 运行各虚拟用户,执行测试脚本中的 Actions section 部分,在 Controller 端监控虚拟用户的状态及执行结果;5) 每个虚拟用户按指定的循环次数执行测试脚本中的 Actions section 部分,然后执行 Vuser end section 部分,退出应用系统;6)当每一个虚拟用户运行完成后,整个测试场景运行结束。在压力测试场景执行过程中,Controller 会自动收集服务器、网络及客户端的性能数据,以及各事务的响应时间等。5、 监控系统性能在测试场景运行过程中,我们需要监控:1) 监控运行虚拟用户的客户端的资源使用情况,使用 Windows 的性能监视器监控客户端的 CPU、Memory 等资源使用情况,以防止性能瓶颈出现在客户端;另外,可以在进行压力测试的同时,在另外的客户端上运行应用程序,也就是在系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砂夹石回填施工方案
- 医疗技术准入、论证、监督及评估制度
- 2026零碳排放建筑技术路径成本核算及政策激励效果评估报告
- 2026铜箔在锂电池集流体中的技术演进路线分析报告
- 外墙维修施工工艺与质量保证措施
- 2026金属注射成形技术在小批量精密零件市场竞争力报告
- 2026边缘计算节点布局与行业应用价值评估报告
- 公路施工安全风险评估与防范措施
- 2住养老人押金管理制度
- 暖通空调系统安装施工详细流程
- 全国妇联所属在京事业单位招聘笔试真题2025
- 第1课《社戏》课件(内嵌视频) 2025-2026学年统编版语文八年级下册
- 2026年潍坊工程职业学院单招文化素质模拟试题及答案
- 2026年九江职业大学单招职业适应性测试题库含答案详解(研优卷)
- 2026届高三二轮复习全攻略:精准提分与高效备考
- 遗传学视角下的哮喘精准诊疗策略
- 网络数据中心运维规范手册(标准版)
- 法拍培训教学课件
- 鲁科版小学英语五年级下册Unit-2《Lesson-1-Lets-stop-and-wait》课件
- 【道法广角】成语故事会:立木为信
- 专题08 文言文简答题(导学案)-2023年高考一轮复习之文言文通关宝典(新高考版)
评论
0/150
提交评论