




已阅读5页,还剩111页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LoadRunner性能测试工具,VirtualUserGenerator虚拟用户生成器Controller场景控制器Analysis性能分析器,重点,第一部分,创建基于Web应用的自动化压力测试,第二部分,高级应用:问题和解决方案,脚本录制和回放,常见问题及解决方案,数据归属关系,动态变量,制定计划,录制脚本,定制事务,参数化,增加检查点,设计测试场景,系统性能调优,LoadRunner工作流程,NOTE:这是LR的一个典型工作流程。为便于理解这个流程,有些步骤将按照不同的顺序来介绍。,NOTE:“Actionfiles”将在下面讨论,关键词,NOTE:我们会频繁的提到这个关键词,关键词,压力测试方案制定,目标,压力测试前需要搜集和准备哪些资料这些资料可以从什么地方获取这些资料的组织技巧在制定测试方案时如何运用这些资料,LoadRunner工作流程,1.1获得系统使用信息,目的:确认需要模拟的业务流程的优先级为实施压力测试提供必要的信息,可以从下列文件中获得和显示系统使用信息:任务分配图事务统计文件用户统计文件,系统使用信息的分析,任务分配图有哪些任务?同一时间内有多少次操作?事务统计文件事务平均值、和峰值是多少?数据库连接是多少?如果任务失败会产生多少业务风险?用户统计文件每个真实用户会执行多少任务?不同任务在每个真实用户中的分配比例?,获得系统使用信息案例1,网上书店(一天,几千用户),浏览购物,*非Web任务,例:任务分配图,内部订单处理流程(高峰日,600用户),获得系统使用信息案例1,*非Web任务,例:任务分配图,获得系统使用信息案例1,哪些业务流程可以进行自动化测试?,选择标准:,事务统计文件,获得系统使用信息案例1,决定哪些业务流程能够执行自动化测试了解哪些业务是相互关联的(数据关联),确定每天的压力峰值的时间峰值持续时间每月、每季度或每年压力峰值的天数决定需要模拟的业务流程和用户,信息的使用,获得系统使用信息案例2,大部分项目是没有明确性能需求,只是要求做性能测试,没有具体测试要求,公司各项目现状:,这种情况要怎么获取业务流程?,1、系统的主要业务流程2、系统使用频率比较高的业务流程3、大数据量的业务流程,获得系统使用信息案例2,并发用户的计算方法:,(1)计算平均的并发用户数:C=nL/T(2)并发用户数峰值:CC+3根号C公式(1)中,C是平均的并发用户数;n是loginsession的数量;L是loginsession的平均长度;T指考察的时间段长度。公式(2)则给出了并发用户数峰值的计算方式中,其中,C指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的loginsession产生符合泊松分布而估算得到的。实例:假设有一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。则根据公式(1)和公式(2),可以得到:C=400*4/8=200C200+3*根号200=242,LoadRunner工作流程,总结,搜集和分析系统使用信息任务分配图事务统计文件准备Web应用的业务逻辑文档确定可以执行自动化测试的业务流程,创建虚拟用户ACTIONFILES,目标,基于测试方案设计“Vuser”,创建“actionfile”,回放“Vuser”和检查运行结果,关键字,VuGen获取HTTP协议创建虚拟用户,WEB服务器,数据库服务器,WEB浏览器,公网/外网/内网,HTTP,VuGen,LoadRunner工作流程,录制用户操作脚本,启动VuGen工具,点击“录制”按钮,输入URL,选择“OK”,录制用户操作脚本,启动VuGen工具,点击“录制”按钮,输入URL,选择“OK”,录制用户操作脚本-简单说明,VuGen中的脚本分为三部分:vuser_init、vuser_end和Action其中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New按钮,新建ActionXXX)在录制需要登陆的系统时,我们把登陆部分放到vuser_init中,把登陆后的操作部分放到Action中,把注销关闭登陆部分放到vuser_end中,如果需要在登陆操作设集合点,那么登陆操作也要放到Action中,因为vuser_init中不能添加集合点,在重复执行测试脚本时,vuser_init和vuser_end中的内容只会执行一次,重复执行的只是Action中的部分。,Optionalitem,1基于浏览器的应用程序推荐使用HTML-basedScript2不是基于浏览器的应用程序推荐使用URL-basedScript。3如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如分页按钮等,也要使用URL-based方式录制4基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based方式录,录制用户操作脚本,执行一个业务流程登录-订飞机票,VirtualUser回放模式,关于用户操作文件,每一步表式一个操作用户的实际操作一个LoadRunner的“事务*”或者是“确认检查点*”,*NOTE:“事务”和“检查点”将在后续课程中讨论,每一步都有一个图标表示,ThinkTimes,模拟用户在实际操作时使用的时间,录制过程中由VuGen插入,*在controller中,默认状态是“Playthinktimesasrecorded.”,LoadRunner工作流程,这一步在上述每个阶段完成后都要执行一次,虚拟用户“Run-time”设置,建立一个结果日志文件将日志记录方式设置为标准,“Run-Time”设置,回放ActionFile,点击工具栏上图标,确认虚拟用户正确执行,确认虚拟用户正确执行,查看测试结果,确认虚拟用户正确执行,切换到日志执行窗口,日志顺序显示每一步的执行和结果,检查执行日志,总结,用户所有的业务操作都记录在“ActionFiles”中登陆和退出操作可以不包括在“ActionFiles”多个“ActionFiles”可以由一个虚拟用户执行通过菜单中的“OptionsSettings”和“Run-TimeSettings”来控制虚拟用户的操作。可以在“执行日志”和“ResultFile”中查看回放结果,创建虚拟用户:事务,目标,“actionfile”的哪些地方需要加入事务如何执行LoadRunner事务,在“actionfile”中使用事务的重要性,LoadRunner中的事务的含义,LoadRunner工作流程,关键词,为什么在LoadRunner中加Transactions?,“Transactions”是LoadRunner度量系统性能指标的唯一手段用于度量高风险业务流程的性能指标能够度量在一组操作中每一步的性能指标实现了不同压力负载下的性能指标对比帮助定位性能瓶颈,Transactions是度量什么的?,“LoadRunnertransaction”用于度量一个或者多个业务流程的性能指标,建立LoadRunnerTransactions,度量登陆,Transaction1,Transaction2,度量所有登陆后的操作,Transaction3,度量订单保存一个基于数据库的操作,也是一个主要的“LoadRunnertransaction”,例子,增加Transactions,点击工具栏上StartTransaction图标,输入Transaction名称,点击OK,录制过程中,增加Transactions,选择工具栏上的相应按钮,增加事务的步骤和录制过程中是一致的,录制完成后,LoadRunner工作流程,AutomaticTransactions,比较整个业务流程内的各个步骤的性能指标,度量每一步的性能指标,比较各个步骤之间的性能指标,总结,使用LoadRunner事务可以度量:业务流程中每一步所花费的时间整个业务流程所花费的时间业务流程中每一步的性能指标可以自动度量可以在录制过程中和录制完成后增加LoadRunner事务利用“automaticLoadRunnertransactions”可以很方便的度量每一步的性能指标,创建虚拟用户:参数化,目标,参数化的好处如何进行参数化如何使用数据文件,脚本回放中可能会遇到的问题,问题,所有虚拟用户输入相同数据,虚拟用户回放失败由于没有模拟真实条件,测试结果失去意义,所有虚拟用户输入相同的数据,解决方法,参数化,所有虚拟用户输入相同数据,所有虚拟用户输入相同数据,关键词,LoadRunner工作流程,确定参数化字段,哪些字段需要一个当前时间?哪些字段要求是一个唯一值?哪些字段来自数据库?哪些字段的值受其他字段的约束?,参数化的决策,对于每一个字段,都要问一下.,是否需要当前时间?,是否能从缓存中获得?,参数化,参数化,参数化,是否需要唯一性约束?,是否受其他字段的约束?,参数化,不需要参数化,LoadRunner工作流程,10/26/1999040498MondayTrueSmith,Wm.$230.59,准备测试数据,获得主要数据从数据库提取,创建合法的业务流程数据确定数据类型通过业务专家获得,数据库服务器,从数据库提取数据,Willamette,169.00,12/12/99,C044,100345,48449,LoadRunner工作流程,关键字,参数化数据,2.右键单击该步骤,1.定位需要参数化的数据(在测试方案阶段应该已经完成),3.选择“Properties”,打开需要参数化的数据的属性对话框,参数化数据,1.单击需要参数化的数据,2.输入一个参数名称(或者从下拉框中选择),3.确认参数类型为File,创建一个参数,参数化数据,1.单击“Properties”按钮,2.单击“Create”按钮并确认数据文件已经被创建,打开参数化对话框,参数化数据,选择“Edit”按钮,文件会被写字板打开,Parameter.dat文件回保存在VUser的目录下,打开数据文件,参数化数据,在写字板窗口输入新数据,每输入一行数据后都要按回车键,参数名,保存数据并关闭写字板,添加数据到文件,参数化数据,表中的数据就是文件中的数据,可以显示同一个数据文件中的多列数据,文件中的数据将显示在参数化属性对话框,选择数据读取方式,顺序随机唯一同其他行一样,选择数据更新方式,每次循环时更新每次发生时更新只更新一次,数据替换方式详解-Sequential,EachIteration,EachOccurrence,Once,数据替换方式详解-Unique,EachIteration,EachOccurrence,Once,数据替换方式详解-Random,EachIteration,EachOccurrence,Once,LoadRunner工作流程,确认正确执行,对于顺序替换方式,循环数应该和数据行数相同,Run-TimeSettings-Iterations,确认正确执行Run-TimeSettings-Log,选择扩展日志,选中Parametersubstitution,确认正确执行ExecutionLog,参数化数据的替换过程将会在执行日志中显示,总结,参数化的目的:解决数据唯一性约束解决当前时间约束给服务器施加预期的压力处理数据的相互约束准备输入数据:来自数据库来自业务专家通过“Run-TimeSettings”控制虚拟用户的执行日志循环数,场景:建立,运行和分析测试结果,完整压力测试的组成部分,目标,如何创建和运行一个LoadRunner场景LoadRunner场景的执行过程如何分析测试结果,关键字,Scenario结构示意图,LoadRunner工作流程,Controller窗口中的“运行”选项卡是用来管理和监控测试的控制中心。“运行”视图包含五个主要部分:场景组,场景状态,可用图树,图查看区域和图例。,场景组:位于左上窗格中,可以查看场景组中的Vuser的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看单个Vuser的状态,并且可以手动添加更多的Vuser,从而增加场景运行期间应用程序上的负载。场景状态:位于右上窗格中,可以查看负载测试的概要,其中包括正在运行的Vuser数以及每个Vuser操作的状态。可用图树:位于中部左侧窗格中,可以查看LoadRunner图列表。要打开图,请在该树中选择一个图,然后将其拖动到图查看区域中。图查看区域:位于中部右侧窗格中,可以自定义显示以查看一至八个图(“View”“ViewGraphs”)。图例:位于底部窗格中,可以查看选定图中的数据。,Controller创建场景-Controller运行窗口概述,LoadRunnerController,场景执行前场景设计设置“run-timeconfiguration”场景执行期间运行大量并发用户控制每个虚拟用户(初始化,运行,暂停,停止)显示每个虚拟用户的状态显示每个虚拟用户发出信息监控服务器资源场景执行完毕搜集性能数据运行结果分析工具协助系统性能调优,Controller负责控制Vusers,RemoteCommandLauncher,Controller,Hostmachine,Initialize,Vusers,Run,Stop,Agent,添加虚拟用户VusersTaboftheController,ControllerTabs,Designtab场景设计区,主要包括:调度编辑虚拟用户生成机虚拟用户控制运行时设置,ControllerTabs,Runtab场景执行区,主要包括:虚拟用户控制监控资源设置实时监控显示,LoadRunner工作流程,场景执行过程,场景目标,具体含义,并发用户数,运行一个场景,1确认所有测试机上的Agent已经启动2确定保存测试结果的目录3初始化Vusers4运行Vusers,确认场景中的虚拟用户均能正常运行,概要分析,场景执行过程,场景目标,并发用户数,具体含义,关键字,TopTimetransactionsRun-timeSettings,ContentCheck,Log,点击Enableverificationchecks,选择Standardlog,点击Defineeachactionasatransaction点击Defineeachstepasatransaction,Miscellaneous,AutomaticTransactions只在LoadRunnerController的图表和报告中体现,VuGen的ExecutionLog不体现.,TopTimetransactions增加新的图表,TopTimetransactionsTransactionResponseTime-Percentile,“Action1_Transaction”度量的是整个的业务流程,因此“TopTimeTransactions”是“create_reservation”。,Action1_Transaction,create_reservation,场景执行过程,场景目标,并发用户数,具体含义,满载压力测试设置监控选项,选择发送错误消息到输出窗口(否则弹出对话框将会中断运行),满载压力测试设置监控工具,nmon资源统计工具:,Network,BrowserEmulation,checkEmulatemodemspeed,andenterexpectedspeed,checkSimulatebrowsercachecheckDownloadnon-HTMLresources,满载压力测试RuntimeSettings,Log,selectDisablelogging,checkDefineeachactionasatransactioncheckDefineeachstepasatransaction,Miscellaneous,写日志也会占用系统资源,因此会导致测试结果不够准确。,更加逼真的模拟实际工作环境,尽管内容检查非常有用,但是在压力测试中并不是必须的。,ContentCheck,uncheckEnableverificationchecks,满载压力测试WebServer资源图表,流量,点击分析总结报告中的链接,打开相应的图表。,满载压力测试WebServer资源图表,每秒点击率,满载压力测试TransactionsGraph,每秒事务数,满载压力测试TransactionsGraph,网站响应时间:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 潍坊职业学院《财务管理英语》2023-2024学年第二学期期末试卷
- 湖南高尔夫旅游职业学院《BIM原理及其应用》2023-2024学年第二学期期末试卷
- 西南财经大学《展示与陈设》2023-2024学年第二学期期末试卷
- 无锡科技职业学院《高频电子线路与实验》2023-2024学年第二学期期末试卷
- 长江师范学院《媒体制作》2023-2024学年第二学期期末试卷
- 保山学院《证券投资模拟》2023-2024学年第二学期期末试卷
- 合肥工业大学《设计基础色彩构成》2023-2024学年第二学期期末试卷
- 辽宁大学《测绘程序设计》2023-2024学年第二学期期末试卷
- 福建农业职业技术学院《机械精度设计与检测》2023-2024学年第二学期期末试卷
- 上海师范大学天华学院《大数据可视化W》2023-2024学年第二学期期末试卷
- 【米酒酿造工艺的优化探析(论文)6500字】
- 《〈红楼梦〉整本书阅读4:专题研讨:把握作品中的人物关系》教学设计
- 加油站应急救援管理制度
- 网络传播概论(第5版)课件 第八章 网络时代的传媒生态
- 高中政治必修四思维导图
- 数字化转型对木材行业的变革
- 机关食堂整体服务方案范文
- 球阀设计计算书
- CJJ 242-2016 城市道路与轨道交通合建桥梁设计规范
- 广东省深圳市2024年高一下学期期末调研考试英语试题含解析
- SH/T 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范(正式版)
评论
0/150
提交评论