压力测试工具_第1页
压力测试工具_第2页
压力测试工具_第3页
压力测试工具_第4页
压力测试工具_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

1、SINYEE1压力测试工具压力测试工具-LoadrunnerSINYEE2OutlineOutline脚本录制和回放脚本录制和回放常见问题及解决常见问题及解决方案方案数据归属关系数据归属关系动态变量动态变量制定计划制定计划录制脚本录制脚本定制事务定制事务参数化参数化增加检查点增加检查点设计测试场景设计测试场景SINYEE基于Web应用的压力测试概述SINYEE44理解理解Web应用的压力测试中所面临的问题应用的压力测试中所面临的问题4明确一个明确一个LoadRunner专家的职责专家的职责4学习利用学习利用LoadRunner进行压力测试进行压力测试目标目标SINYEE5vWeb应用失败的代价

2、是巨大的应用失败的代价是巨大的 决不仅仅是手指点几下而已v增强应用部署的信心增强应用部署的信心 通过压力测试可以保证应用在真实环境下的性能和功能为什么要对为什么要对WebWeb应用执行压力测试应用执行压力测试? ?SINYEE6功能测试功能测试压力压力测试测试执行提交后检查业务处执行提交后检查业务处理程序是否正确理程序是否正确功能性功能性举例举例目标目标检查检查2000个并发的点击个并发的点击是否会导致系统崩溃?是否会导致系统崩溃?系统稳定系统稳定性性事务处理的响应时间是事务处理的响应时间是否符合需求规范?否符合需求规范?系统性能系统性能检查系统在大负载情况检查系统在大负载情况下业务处理流程是

3、否正下业务处理流程是否正确确大负载下系统大负载下系统的功能性的功能性举例举例目标目标WebWeb应用的功能测试和性能测试应用的功能测试和性能测试SINYEE7测试人测试人员员压力产生压力产生被测系统被测系统是否有足够的测试资源是否有足够的测试资源? 测试人员测试人员 客户机客户机如何调度和同步测试用户如何调度和同步测试用户?如何搜集和分析测试结果如何搜集和分析测试结果?如何完成回归测试如何完成回归测试?分析分析?123.20所有人注意所有人注意:点击按钮:点击按钮Web serverDatabase server调度员调度员手动测试存在的问题手动测试存在的问题SINYEE8被测系统被测系统We

4、b serverDatabase server压力产生压力产生Vuser 主机主机解决测试资源的限制解决测试资源的限制 利用图表工具分析测试结果利用图表工具分析测试结果 利用录制的脚本进行回归测试利用录制的脚本进行回归测试AnalysisController 运行大量的运行大量的“Virtual Users”在不同的机器上在不同的机器上 利用利用 “Virtual Users”代替实际测试人员代替实际测试人员 通过通过“Controller”管理管理“ Vusers”LoadRunner LoadRunner 的解决方案的解决方案SINYEE9LoadRunner LoadRunner 的解决

5、方案的解决方案支持多种协议和支持多种协议和APISINYEE10LoadRunner LoadRunner 的解决方案的解决方案Vuser 类型分为下列类别: 所有协议:按字母顺序排列的所有可支持协议的列表。 应用程序部署解决方案:适用于 Citrix 协议。 客户端L 服务器:适用于 MS SQL、ODBC、Oracle (两层)、DB2 CLI、Sybase Ctlib、Sybase Dblib、Windows Sockets 和 DNS 协议。 自定义:适用于 C 模板、Visual Basic 模板、Java 模板、Javascript 和VBscript 类型脚本。 分布式组件:适用

6、于 COM/DCOM、Corba-Java 和 Rmi -Java 协议。SINYEE11LoadRunner LoadRunner 的解决方案的解决方案 电子商务:适用于 FTP、LDAP、Palm、SOAP、Web (HTTP/HTML) 和双Web/Winsocket 协议。 Enterprise Java Bean:适用于 EJB 测试和 Rmi-Java 协议。 ERP/CRM:适用于 Baan、Oracle NCA、Peoplesoft-Tuxedo、Peoplesoft 8Web 多语言、SAPGUI、SAP-Web 和 Siebel (Siebel-DB2CLI、Siebel-

7、MSSQL、Siebel-Web 和 Siebel-Oracle)协议。 传统:适用于终端仿真 (RTE)。 邮件服务:Internet 邮件访问协议 (IMAP)、MS Exchange (MAPI)、POP3和 SMTP。 中间件: Jacada 和 Tuxedo (6、7)协议。 流:适用于 MediaPlayer 和 RealPlayer 协议。 无线:适用于 i-Mode、VoiceXML 和 WAP 协议。SINYEE12LoadRunner LoadRunner 的解决方案的解决方案能够对多种能够对多种Server和资和资源进行监控源进行监控vWeb serversvWeb ap

8、plication serversvDatabase serversvSystem resourcesSINYEE13LoadRunner LoadRunner 的解决方案的解决方案Virtual User Generator产生压力和搜集测试结果产生压力和搜集测试结果生成用于生成用于“Controller”部署的部署的“ Vusers”通过图表分析工具来编译和显通过图表分析工具来编译和显示测试结果示测试结果LoadRunner ControllerLoadRunner AnalysisSINYEE14系统性能调优系统性能调优LoadRunner LoadRunner 工作流程工作流程分析测试

9、结果分析测试结果阶段 5LoadRunnerV U G E NLoadRunnerC O N T R O L L E R & A N A L Y S I S执行场景执行场景阶段 4设计测试场景设计测试场景阶段 3创建创建 Web Virtual Users阶段 2阶段 1制定压力测试制定压力测试方案方案NOTE: 这是这是LR的一个典型工作流程。为便于理解这个流程,有些步骤将按的一个典型工作流程。为便于理解这个流程,有些步骤将按照照 不同的顺序来介绍。不同的顺序来介绍。SINYEE15压力测试的人员分工压力测试的人员分工人员人员/角色角色主要职责主要职责提供被测系统业务流程方面的建议提

10、供被测系统业务流程方面的建议 Database性能专家性能专家数据库性能调优数据库性能调优LoadRunner 专家专家Web Server 性能专性能专家家项目经理项目经理业务专家业务专家web server性能调优性能调优管理管理Web站点的执行站点的执行在被测系统上产生大用户量的负载在被测系统上产生大用户量的负载SINYEE16NOTE: “Action files” 将在下面讨论将在下面讨论通过回放一个或多个录制好的通过回放一个或多个录制好的“Action files”(业务流程文件业务流程文件)来模拟一个真实用户的来模拟一个真实用户的操作操作 Virtual User“Vusers”

11、是利用是利用 LoadRunner 执行压力测试执行压力测试的核心。的核心。关键词关键词SINYEE17为了完成一项业务所需要执行的一系列业务为了完成一项业务所需要执行的一系列业务操作操作 。通常我们把它称作。通常我们把它称作 “transaction(事务)。事务)。”业务流程业务流程NOTE: 我们会频繁的提到这个关键词我们会频繁的提到这个关键词关键词关键词SINYEE压力测试方案制定SINYEE19 目标目标v 压力测试前需要搜集和准备哪些资料压力测试前需要搜集和准备哪些资料 v 这些资料可以从什么地方获取这些资料可以从什么地方获取v 这些资料的组织技巧这些资料的组织技巧v 在制定测试方

12、案时如何运用这些资料在制定测试方案时如何运用这些资料SINYEE20LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优 分析测试结分析测试结果果 执行测试场执行测试场景景 设计测试场景设计测试场景 创建创建 Web 虚拟用户虚拟用户阶段阶段 1制定压力测试制定压力测试方案方案阶段 2阶段 3阶段 4阶段 5制定压力测试方案制定压力测试方案1.1 获得系统使用信息获得系统使用信息 1.2 准备业务流程文档准备业务流程文档1.3 确定参数化内容确定参数化内容1.4 准备测试数据准备测试数据SINYEE211.1 1.1 获得系统使用信息获得系统使用信息目的目的:v

13、 确认需要模拟的业务流程的优先级确认需要模拟的业务流程的优先级v 为实施压力测试提供必要的信息为实施压力测试提供必要的信息可以从下列文件中获得和显示系统使用信息可以从下列文件中获得和显示系统使用信息:v 任务分配图任务分配图v 事务统计文件事务统计文件v 用户统计文件用户统计文件SINYEE22系统使用信息的分析系统使用信息的分析v 任务分配图任务分配图 有哪些任务? 同一时间内有多少次操作?v 事务统计文件事务统计文件 事务平均值、和峰值是多少? 数据库连接是多少? 如果任务失败会产生多少业务风险?v 用户统计文件用户统计文件 每个真实用户会执行多少任务? 不同任务在每个真实用户中的分配比例

14、?SINYEE23获得系统使用信息获得系统使用信息网上书店网上书店 (一天一天, 几千用户几千用户)浏览购物浏览购物管理流程管理流程*发票处理发票处理*系统备份系统备份业务流程业务流程搜索标题搜索标题结帐结帐创建新帐户NightDayNight11505050501802101501301001502001701401000120060040304075121222446688101012ampm需要模拟的需要模拟的时间时间*非非Web任务任务例: 任务分配图SINYEE24内部订单处理流程内部订单处理流程 (高峰日高峰日, 600 用户用户) 获得系统使用信息获得系统使用信息*非非Web任务

15、任务夜晚夜晚白天白天夜晚夜晚111418021022018017040403022025021010121590907020251640601012503050121222446688101012ampm*系统备份系统备份生成订单生成订单更新订单更新订单登陆登陆创建帐户创建帐户订单发送订单发送*批量处理帐单批量处理帐单*批量结算批量结算任务任务需要模拟的需要模拟的时间时间例:任务分配图SINYEE25 获得系统使用信息获得系统使用信息哪些业务流程可以进行自动化测试哪些业务流程可以进行自动化测试?风险级风险级别别业务流程业务流程订单发送订单发送典型工作日典型工作日 20/hr高峰工作日高峰工作日

16、30/hrWeb server 连接状况连接状况ModerateModerateModerateHigh40/hr90/hrHeavyHighDatabase 连接状况连接状况3 3订单生成订单生成订单更新订单更新创建新帐户创建新帐户130/hr180/hrModerateModerateMod.10/hr15/hrModerateModerateLow3 33 33 3登陆登陆70/hr3 33 33 33 33 3210/hrHeavyLightHigh选择标准选择标准:高数据库高数据库I/O3 3大流量大流量3 3高风险任务高风险任务 (即可能导致整个业务流程的失败即可能导致整个业务流程

17、的失败)3 3事务统计文件SINYEE26v 决定哪些业务流程能够执行自动化测试决定哪些业务流程能够执行自动化测试v 了解哪些业务是相互关联的了解哪些业务是相互关联的 (数据关联数据关联) v 确定每天的压力峰值的时间确定每天的压力峰值的时间 峰值持续时间 每月、每季度或每年压力峰值的天数v 决定需要模拟的业务流程和用户决定需要模拟的业务流程和用户Virtual Users: ?信息的使用 获得系统使用信息获得系统使用信息SINYEE27系统性能调优系统性能调优分析测试结分析测试结果果执行测试场景执行测试场景设计测试场景设计测试场景创建创建 Web 虚拟用户虚拟用户阶段阶段 1制定压力测制定压

18、力测试方案试方案阶段 2阶段 3阶段 4阶段 5制定压力测试方案制定压力测试方案1.1 获得系统使用信息获得系统使用信息 1.2 准备业务流程文档准备业务流程文档1.3 确定参数化内容确定参数化内容1.4 准备测试数据准备测试数据LoadRunner LoadRunner 工作流程工作流程SINYEE28LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优分析测试结分析测试结果果执行测试场景执行测试场景设计测试场景设计测试场景创建创建 Web 虚拟用户虚拟用户阶段阶段 1制定压力测制定压力测试方案试方案阶段阶段2阶段阶段3阶段阶段4阶段阶段5制定压力测试方案制定

19、压力测试方案1.1 获得系统使用信息获得系统使用信息 1.2 准备业务流程文档准备业务流程文档1.3 确定参数化内容确定参数化内容1.4 准备测试数据准备测试数据SINYEE29v 搜集和分析系统使用信息搜集和分析系统使用信息 任务分配图 事务统计文件v 准备准备Web应用的业务逻辑文档应用的业务逻辑文档v 确定可以执行自动化测试的业务流程确定可以执行自动化测试的业务流程总结总结SINYEE创建虚拟用户: ACTION FILESSINYEE31目标目标v 基于测试方案设计基于测试方案设计“Vuser”v 创建创建“ action file”v 回放回放“Vuser”和检查运行结果和检查运行结

20、果SINYEE32关键字关键字录制一个业务流程,通过回放模拟真实用录制一个业务流程,通过回放模拟真实用户业务操作。户业务操作。 Action FileSINYEE33VuGen 获取HTTP协议创建虚拟用户WEB服务器服务器数据库服务数据库服务器器WEB浏览浏览器器公网公网/外网外网/内网内网HTTPHTTPVuGenSINYEE34LoadRunner 工作流程系统性能调优系统性能调优 分析测试结分析测试结果果 场景运行场景运行 场景设计场景设计 创建创建Web虚拟虚拟用户用户阶段1 制定测试方案制定测试方案阶段阶段 2阶段 3阶段4阶段5创建创建 WEB 虚拟用户虚拟用户2.1录制用户操作

21、脚本录制用户操作脚本2.2 增加增加 LoadRunner 事务事务2.3参数化数据参数化数据2.4增加确认检查增加确认检查2.5确认正确执行确认正确执行SINYEE35录制用户操作脚本v 启动启动VuGen工具工具v 点击点击“录制录制”按钮按钮v 输入输入URL,选择,选择“OK”SINYEE36 录制用户操作脚本-简单说明vVuGen 中的脚本分为三部分:中的脚本分为三部分:vuser_init、vuser_end 和和Actionv其中其中vuser_init 和和vuser_end 都只能存在一个,都只能存在一个,不能再分割,而不能再分割,而Action 还可以分成无数多个部分还可以

22、分成无数多个部分(通过点击(通过点击New 按钮,新建按钮,新建ActionXXX)v在录制需要登陆的系统时,我们把登陆部分放到在录制需要登陆的系统时,我们把登陆部分放到vuser_init 中,把登陆后的操作部分放到中,把登陆后的操作部分放到Action 中,把注销关闭登陆部分放到中,把注销关闭登陆部分放到vuser_end 中中如果需要在登陆操作设集如果需要在登陆操作设集合点,那么登陆操作也要合点,那么登陆操作也要放到放到Action 中,因为中,因为vuser_init 中不能添加集中不能添加集合点合点在重复执行测试脚本时,在重复执行测试脚本时,vuser_init 和和vuser_en

23、d 中中的内容只会执行一次,重复的内容只会执行一次,重复执行的只是执行的只是Action 中的部分。中的部分。SINYEE37Optional itemOptional itemv 1 基于浏览器的应用程序推荐使用基于浏览器的应用程序推荐使用HTML-based Scriptv 2 不是基于浏览器的应用程序推荐使用不是基于浏览器的应用程序推荐使用URL-based Script。v 3 如果基于浏览器的应用程序中包含了如果基于浏览器的应用程序中包含了JavaScript 并且该并且该脚本向服务器产生了请求,比如分页按钮等,也要使用脚本向服务器产生了请求,比如分页按钮等,也要使用URL-base

24、d 方式录制方式录制v 4 基于浏览器的应用程序中使用了基于浏览器的应用程序中使用了HTTPS 安全协议,使用安全协议,使用URL-based 方式录方式录SINYEE38 录制用户操作脚本录制用户操作脚本SINYEE39 录制用户操作脚本录制用户操作脚本v 执行一个业务流程执行一个业务流程. . .SINYEE40录制用户操作脚本录制用户操作脚本v 执行一个业务流程执行一个业务流程. . .SINYEE41录制用户操作脚本录制用户操作脚本v 执行一个业务流程执行一个业务流程. . .SINYEE42录制用户操作脚本录制用户操作脚本v. . . 选择选择“停止停止”按钮,结束业务流程录制按钮,

25、结束业务流程录制SINYEE43Virtual User Virtual User 回放模式回放模式登陆登陆(recordingoptional)vuser_init.cUser Actions(业务流程业务流程)Action1.c, Action2.c, etc.(e.g., Create Order, Sumit Order)这部分在压力测试过程中将会循环执行这部分在压力测试过程中将会循环执行退出退出(recordingoptional)vuser_end.cSINYEE44关于用户操作文件关于用户操作文件v 每一步表式一个操作每一步表式一个操作 用户的实际操作 一个 LoadRunner

26、的 “事务*” 或者是 “确认检查点*”*NOTE: “事务事务”和和“检查点检查点”将在后续课程将在后续课程中讨论中讨论v 每一步都有一个每一步都有一个图标表示图标表示每个图标代表每个图标代表一个步骤一个步骤SINYEE45Think TimesThink Timesv 模拟用户在实际操作模拟用户在实际操作时使用的时间时使用的时间v 录制过程中由录制过程中由 VuGen 插入插入* 在在controller中,默认状态是中,默认状态是 “Play think times as recorded.”SINYEE46LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能

27、调优 分析测试压分析测试压 结果结果 执行场景执行场景 设计场景设计场景 创建创建 Web 虚拟用户虚拟用户阶段 1 制定测试方案制定测试方案阶段阶段 2阶段 3阶段 4阶段 5创建创建Web虚拟用户虚拟用户2.1录制用户业务操作录制用户业务操作2.2 增加增加 LoadRunner 事务事务2.3参数化参数化2.4增加确认检查点增加确认检查点2.5确认脚本正确回放确认脚本正确回放这一步在上述每个阶这一步在上述每个阶段完成后都要执行一段完成后都要执行一次次SINYEE47虚拟用户虚拟用户“ Run-timeRun-time” ” 设置设置v 回放时显示页面回放时显示页面v 提示结果保存目录提示

28、结果保存目录普通设置普通设置v 回放时保存关联信息回放时保存关联信息v 设置页面快照比较方式设置页面快照比较方式SINYEE48虚拟用户虚拟用户“ Run-timeRun-time” ” 设置设置v 建立一个结果日志文件建立一个结果日志文件v 将日志记录方式设置为标准将日志记录方式设置为标准“Run-Time”设置设置SINYEE49回放回放 Action FileAction Filev 点击工具栏上图标点击工具栏上图标SINYEE50确认虚拟用户正确执行确认虚拟用户正确执行SINYEE51Report TreepaneReportDetailspane确认虚拟用户正确执行确认虚拟用户正确执

29、行Results.qtpresult1login-test查看测试结果查看测试结果SINYEE52确认虚拟用户正确执行确认虚拟用户正确执行检查回放时访问的 Web 页面是否正确SINYEE53确认虚拟用户正确执行确认虚拟用户正确执行v 切换到日切换到日志执行窗志执行窗口口v 日志顺序显日志顺序显示每一步的示每一步的执行和结果执行和结果 检查执行日志SINYEE54总结总结v 用户所有的业务操作都记录在用户所有的业务操作都记录在“Action Files”中中 登陆和退出操作可以不包括在“Action Files” 多个“Action Files”可以由一个虚拟用户执行v 通过菜单中的通过菜单中

30、的“ Options Settings” 和和“Run-Time Settings ”来控制虚拟用户的操作。来控制虚拟用户的操作。v 可以在可以在“执行日志执行日志”和和“Result File ”中查看回放结中查看回放结果果SINYEE创建虚拟用户: 事务SINYEE56目标目标v “action file”的哪些地方需要加入事务的哪些地方需要加入事务v 如何执行如何执行 LoadRunner 事务事务v 在在“action file”中使用事务的重要性中使用事务的重要性v LoadRunner 中的事务的含义中的事务的含义SINYEE57LoadRunner LoadRunner 工作流程

31、工作流程系统性能调优系统性能调优分析测试结果分析测试结果执行场景执行场景设计场景设计场景创建创建Web虚拟虚拟用户用户阶段 1制定测试方案制定测试方案阶段阶段 2阶段 3阶段 4阶段 5创建创建Web虚拟用户虚拟用户2.1录制用户操作录制用户操作2.2 增加增加 LoadRunner 事务事务2.3参数化参数化2.4增加检查点增加检查点2.5确认正确执行确认正确执行SINYEE58在一个在一个action file中可以有一个或多个用户执行的中可以有一个或多个用户执行的度量单位。度量单位。LoadRunner Transaction关键词关键词SINYEE59v “Transactions”

32、是是 LoadRunner 度量系统度量系统性能指标的唯一手段性能指标的唯一手段v 用于度量高风险业务流程的性能指标用于度量高风险业务流程的性能指标v 能够度量在一组操作中每一步的性能指标能够度量在一组操作中每一步的性能指标v 实现了不同压力负载下的性能指标对比实现了不同压力负载下的性能指标对比v 帮助定位性能瓶颈帮助定位性能瓶颈为什么在为什么在 LoadRunner LoadRunner 中加中加Transactions?Transactions?SINYEE60 Transactions Transactions是度量什么的?是度量什么的?Transaction 3Transaction

33、2 Transaction 1“LoadRunner transaction”用于度量一个或者多用于度量一个或者多个业务流程的性能指标个业务流程的性能指标SINYEE61建立建立 LoadRunner TransactionsLoadRunner Transactions度量登陆度量登陆Transaction 1Transaction 2度量所有登陆后的操度量所有登陆后的操作作Transaction 3度量订单保存度量订单保存 一个基于一个基于数据库的操作,也是一个数据库的操作,也是一个主要的主要的“LoadRunner transaction”例子例子SINYEE62增加 Transacti

34、ons v 点击工具栏上点击工具栏上 Start Transaction 图标图标v输入输入 Transaction名称名称, 点击点击OK录制过程中SINYEE63增加 Transactions v 点击停止按钮点击停止按钮v 完成需要被度完成需要被度量的业务流程量的业务流程录制过程中SINYEE64增加 Transactions v LR_AUTO 自动自动检查事务的状态检查事务的状态v LR_PASS / LR_FAIL 通过通过增加代码手工检查增加代码手工检查事务状态事务状态选择事务状态SINYEE65增加 Transactions v 选择工具栏选择工具栏上的相应按上的相应按钮钮v

35、增加事务的步骤增加事务的步骤和录制过程中是和录制过程中是一致的一致的录制完成后SINYEE66LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优分析测试结果分析测试结果执行场景执行场景设计场景设计场景创建创建Web虚拟虚拟用户用户阶段 1制定测试方案制定测试方案阶段阶段 2阶段 3阶段 4阶段 5创建创建Web虚拟用户虚拟用户2.1录制用户操作录制用户操作2.2 增加增加 LoadRunner transactions2.3参数化参数化2.4增加检查点增加检查点2.5确认正确执行确认正确执行SINYEE67确认正确执行确认正确执行v 点击回放点击回放按钮按钮S

36、INYEE68Automatic TransactionsAutomatic Transactions步骤步骤12 sec1 sec9 sec12 sec1 sec21 sec19 sec4 sec交易完成交易完成过程过程总计总计1分分19秒秒v比较整个业务流程内的各个步骤的性能指标比较整个业务流程内的各个步骤的性能指标v度量每一步的性能指标度量每一步的性能指标v比较各个步骤之间的性能指标比较各个步骤之间的性能指标SINYEE69总结总结v使用使用LoadRunner事务可以度量事务可以度量: 业务流程中每一步所花费的时间 整个业务流程所花费的时间 业务流程中每一步的性能指标可以自动度量 v可

37、以在录制过程中和录制完成后增加可以在录制过程中和录制完成后增加LoadRunner事务事务v利用利用 “automatic LoadRunner transactions” 可以很方便的度量每一步的性能可以很方便的度量每一步的性能指标指标SINYEE创建虚拟用户:创建虚拟用户:参数化参数化SINYEE71目标目标v 参数化的好处参数化的好处v 如何进行参数化如何进行参数化v 如何使用数据文件如何使用数据文件v 脚本回放中可能会遇到的问题脚本回放中可能会遇到的问题 SINYEE72问题问题v虚拟用户回放失败v由于没有模拟真实条件,测试结果失去意义SINYEE73虚拟用户输入相同的数据虚拟用户输入

38、相同的数据数据库里已有数据库里已有订单订单 1234 !Server02/14/99 是昨是昨天天!数据已经在缓存里数据已经在缓存里!SINYEE74解决方法解决方法参数化参数化SINYEE75关键词关键词将脚本中录制下来的特定值用一个变量来将脚本中录制下来的特定值用一个变量来代替,该变量的值是可变的。例如登陆名代替,该变量的值是可变的。例如登陆名和登陆密码等和登陆密码等 参数化参数化SINYEE76参数化的目的参数化的目的脚本代码脚本代码Place order for item #A54552(quantitywith credit card)421234993234564Place ord

39、er for item #(quantitywith credit card参数化参数化)PLACEHOLDERPLACEHOLDERPLACEHOLDER447475385798345400320230230239409485726280349421234993234564423847495782716412353648765410432165498765421A5455C3401Z1120A0544B0033C8488G999311142106952SINYEE77LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优 分析测试结分析测试结果果 运行场景运行场

40、景 场景设计场景设计 创建创建Web虚拟虚拟用户用户阶段阶段 1 制定测试方案制定测试方案阶段 2阶段 3阶段 4阶段 5制定测试方案制定测试方案1.1 获得系统使用信息获得系统使用信息 1.2 准备业务流程文档准备业务流程文档1.3 确定参数化字段确定参数化字段1.4 准备测试数据准备测试数据SINYEE78确定参数化字段确定参数化字段v 哪些字段需要一个当前时间哪些字段需要一个当前时间?v 哪些字段要求是一个唯一值哪些字段要求是一个唯一值?v 哪些字段来自数据库哪些字段来自数据库?v 哪些字段的值受其他字段的约束哪些字段的值受其他字段的约束?SINYEE79违反时间约束的例子违反时间约束的

41、例子数据库服数据库服务器务器Order date 02/02/2006Web浏览器浏览器(客户端)(客户端)Order date 02/02/2006Order date 02/02/2006O.K.Order date 02/02/2006Expired DateWEB服务服务器器1 23457 89 10 11613 14 15 16 171219 20 21 22 231825 26 27 2824February1 23457 89 10 11613 14 15 16 171219 20 21 22 231825 26 27 2824FebruarySINYEE80O.K.时间的参数化

42、时间的参数化数据库服数据库服务器务器Order date 02/02/2006Web浏览器浏览器(客户端)(客户端)Order date 02/15/2006Order date 02/02/2006O.K.Order date 02/15/2006WEB服务服务器器1 23457 89 10 11613 14 15 16 171219 20 21 22 231825 26 27 2824February1 23457 89 10 11613 14 15 16 171219 20 21 22 231825 26 27 2824FebruarySINYEE81违反唯一性约束的例子违反唯一性约束的

43、例子数据库服数据库服务器务器Web浏览器浏览器(客户端)(客户端)Book order #00115Book order #00115违反唯一性违反唯一性约束约束WEB服务服务器器第一次运第一次运行行这个订单号是先前这个订单号是先前录制下来的录制下来的SINYEE82Book order #00975O.K.对唯一性约束的字段参数化对唯一性约束的字段参数化数据库服数据库服务器务器Book order #00975Web浏览器浏览器(客户端)(客户端)Book order #00233O.K.Book order #00233WEB服务服务器器第一次运第一次运行行第二次第二次运行运行SINYEE

44、83使用相同的数据将不能给系统施加预期的压力使用相同的数据将不能给系统施加预期的压力数据库服数据库服务器务器Find book title The Sun Also RisesWeb浏览器浏览器(客户端)(客户端)Find book title The Sun Also RisesFind book title The Sun Also Rises5 matches foundWEB服务服务器器5 matches foundServer not exercised缓存缓存第一次运第一次运行行第二次第二次运行运行SINYEE84通过参数化解决系统压力问题通过参数化解决系统压力问题数据库服数据库服

45、务器务器Find book title The Sun Also RisesWeb浏览器浏览器(客户端)(客户端)Find book title The Great GatsbyFind book title The Sun Also Rises5 matches foundWEB服务服务器器9 matches foundFind book title The Great Gatsby第二次第二次运行运行第一次运第一次运行行SINYEE85数据相互约束字段数据相互约束字段 未解决时未解决时数据库服数据库服务器务器Web浏览器浏览器(客户端)(客户端)Find authorShakespeare

46、45 matches foundDisplay match MacBethDisplay MacBethFind author ShakespeareFind author Dickens19 matches foundDisplay match MacBethDisplay MacBethFind author DickensWEB服务服务器器OK MacBeth not found第一次运第一次运行行第二次第二次运行运行SINYEE86相互约束字段的参数化相互约束字段的参数化数据库服数据库服务器务器Web浏览器浏览器(客户端)(客户端)Find authorShakespeare45 ma

47、tches foundDisplay match MacBethDisplay MacBethFind author ShakespeareFind author Dickens19 matches foundDisplay match Oliver TwistDisplay Oliver TwistFind author DickensWEB服务服务器器OKOK 第二次第二次运行运行第一次第一次运行运行SINYEE87参数化的决策参数化的决策对于每一个字段,都要问对于每一个字段,都要问一下一下 . . .是否需要是否需要当前时间当前时间?是否能从是否能从缓存中获缓存中获得得? 参数化参数化参

48、数化参数化参数化参数化是否需要是否需要唯一性约唯一性约束束?是否受其是否受其他字段的他字段的约束约束?参数化参数化不需要参数化不需要参数化NoYesNoNoNoYesYesYesSINYEE88LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优分析测试结果分析测试结果运行场景运行场景场景设计场景设计创建创建Web虚拟虚拟用户用户阶段阶段 1制定测试方案制定测试方案阶段 2阶段 3阶段 4阶段 5制定测试方案制定测试方案1.1获得系统使用信息获得系统使用信息 1.2准备业务流程文档准备业务流程文档1.3确定参数化字段确定参数化字段1.4准备测试数据准备测试数据S

49、INYEE8910/26/1999040498MondayTrueSmith, Wm.$230.59准备测试数据准备测试数据v 获得主要数据获得主要数据 从数据库提取v 创建合法的业务流程数据创建合法的业务流程数据 确定数据类型 通过业务专家获得SINYEE90数据库服务器数据库服务器从数据库提取数据从数据库提取数据47555333394844923564844440041012221Willamette169.0012/12/99C04410034548449SINYEE91LoadRunner 工作流程工作流程系统性能调优系统性能调优 分析测试结分析测试结果果 场景运行场景运行 场景设计场

50、景设计 创建创建Web虚拟虚拟用户用户阶段 1 制定测试方案制定测试方案阶段阶段 2阶段 3阶段 4阶段 5创建创建Web虚拟用户虚拟用户2.1录制用户操作录制用户操作2.2 增加增加 LoadRunner事务事务2.3参数化参数化2.4增加检查点增加检查点2.5确认正确执行确认正确执行SINYEE92关键字关键字脚本中录制下来的动态数据被一个变量替脚本中录制下来的动态数据被一个变量替代。代。参数参数SINYEE93参数化数据参数化数据2. 右键单击该步骤右键单击该步骤1. 定位需要参数化的数据定位需要参数化的数据 (在测试方案阶段应该已经在测试方案阶段应该已经完成完成)3. 选择选择 “Pr

51、operties”打开需要参数化的数据的属性对话框SINYEE94参数化数据参数化数据1. 单击需要参数化的数据单击需要参数化的数据2. 输入一个参数名称输入一个参数名称 (或者从下拉框中选或者从下拉框中选择择)3. 确认参数类型为确认参数类型为 File创建一个参数SINYEE95参数化数据参数化数据1. 单击单击“ Properties”按钮按钮2. 单击单击“ Create”按钮并确认数据文件已经被创建按钮并确认数据文件已经被创建打开参数化对话框SINYEE96参数化数据参数化数据v 选择选择“Edit”按按钮,文件会被写钮,文件会被写字板打开字板打开参数文件名参数文件名参数数据文参数数

52、据文件件.datv Parameter.dat 文件回保存在文件回保存在VUser的目录下的目录下打开数据文件SINYEE97VUSER DESIGN SPECIFICATIONFieldDatamtoyssearch_buttonqueryradishbeetcarrotrhubarbonion参数化数据参数化数据v 在写字板窗口输入新数据在写字板窗口输入新数据v 每输入一行数据后都要按每输入一行数据后都要按回车键回车键DATA参数名参数名v 保存数据并关闭写字板保存数据并关闭写字板添加数据到文件SINYEE98参数化数据参数化数据 v 表中的数据就是文件中的表中的数据就是文件中的数据数据v

53、 可以显示同一个数据文件可以显示同一个数据文件中的多列数据中的多列数据文件中的数据将显示在参数化属性对话框SINYEE99选择数据读取方式选择数据读取方式v 顺序顺序v 随机随机v 唯一唯一v 同其他行一样同其他行一样SINYEE100选择数据更新方式选择数据更新方式v每次循环时更新每次循环时更新 v每次发生时每次发生时 更新更新v只更新一次只更新一次SINYEE1011234VuserIterationVuser 1Vuser 2 Vuser 3 Vuser 4数据替换方式详解-SequentialaaaabbbbccccddddabcdabcdabcdabcdEach Iteration

54、Each Occurrence param1Once aaabbbbaeeeeffffhghghghgccccddddSINYEE1021234VuserIterationVuser 1Vuser 2 Vuser 3 Vuser 4数据替换方式详解数据替换方式详解-Unique-UniqueaeimbfjncgkodhlpabcdabcdabcdabcdEach Iteration Each Occurrence param1Once aqyzrjbiemu3fnv4hgpoxw65cks1dlt2SINYEE1031234VuserIterationVuser 1Vuser 2 Vuser

55、3 Vuser 4数据替换方式详解-Randomaeim1f2zcgkodhlpamq1amq1amq1amq1Each Iteration Each Occurrence param1Once aq4zrj5iemu3fnvc1gpbxgqvcks1h7t2SINYEE104LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优 分析测试结分析测试结 果果 运行场景运行场景 设计场景设计场景 创建创建Web虚拟虚拟用户用户阶段 1 制定测试方案制定测试方案阶段阶段 2阶段 3阶段 4阶段 5创建创建Web虚拟用户虚拟用户2.1录制用户操作录制用户操作2.2 增加

56、增加LoadRunner 事务事务2.3参数化参数化2.4增加检查点增加检查点2.5确认正确执行确认正确执行SINYEE105 确认正确执行对于顺序替换方式对于顺序替换方式, 循环数应该和数据行数相同循环数应该和数据行数相同 Run-Time Settings - IterationsSINYEE106确认正确执行Run-Time Settings - Log选择扩展日志选择扩展日志,选中选中 Parameter substitutionSINYEE107确认正确执行Execution Log参数化数据的参数化数据的替换过程将会替换过程将会在执行日志中在执行日志中显示显示SINYEE108总结

57、总结v 参数化的目的参数化的目的: 解决数据唯一性约束 解决当前时间约束 给服务器施加预期的压力 处理数据的相互约束v 准备输入数据准备输入数据: 来自数据库 来自业务专家v 通过通过“Run-Time Settings”控制虚拟用户的执行控制虚拟用户的执行 日志 循环数SINYEE场景:建立,运行和分析测试场景:建立,运行和分析测试结果结果SINYEE110v 完整压力测试的组成部分完整压力测试的组成部分目标目标v 如何创建和运行一个如何创建和运行一个 LoadRunner场景场景v LoadRunner场景的执行过程场景的执行过程v 如何分析测试结果如何分析测试结果SINYEE111关键字

58、关键字一个完整的压力测试由下面五个部分组成一个完整的压力测试由下面五个部分组成: LoadRunner Scenarioscriptsrun-time settingshostmachinesresultslocationvirtual usersDEFINITION SINYEE112Host 1Host 2Scenario Scenario 结构示意图结构示意图LoadRunnerControllerServer(s)VusersVusersScriptsScriptsSINYEE113LoadRunner LoadRunner 工作流程工作流程系统性能调优系统性能调优 分析测试结分析测试

59、结果果 运行场景运行场景 设计场景设计场景创建创建Web虚拟虚拟用户用户阶段 1 制定测试方案制定测试方案阶段 2阶段阶段 3阶段 4阶段 5场景设计场景设计3.1定义测试主机定义测试主机3.2 连接测试主机连接测试主机3.3定义虚拟用户脚本定义虚拟用户脚本3.4添加虚拟用户添加虚拟用户SINYEE114LoadRunner ControllerLoadRunner Controllerv 场景执行前场景执行前 场景设计 设置“ run-time configuration”v 场景执行期间场景执行期间 运行大量并发用户 控制每个虚拟用户 (初始化, 运行, 暂停, 停止) 显示每个虚拟用户的

60、状态 显示每个虚拟用户发出信息 监控服务器资源v 场景执行完毕场景执行完毕 搜集性能数据 运行结果分析工具 协助系统性能调优SINYEE115Controller Controller 负责控制负责控制 Vusers Vusers RemoteCommandLauncherInitializeVusersRunStopAgentSINYEE116添加虚拟用户添加虚拟用户Vusers Tab of the Controller Vusers Tab of the Controller Initialize/run VuserVuserstatusScriptNamesHostMachinesSINYEE

温馨提示

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

评论

0/150

提交评论