厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.性能测试精讲梳理Day14云层厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.性能测试技术概述序号类型详细描述1用户行为模拟低成本且具有可行性,模拟大量用户操作的一种技术,借助这种技术将被测试系统在测试阶段运行起来,以检测系统工作是否正常不同用户使用不同的数据多用户并发操作用户请求间的依赖关系及请求间的延时时间2性能指标监控通过上面技术模拟用户的行为,在系统运行中需要监控各项性能指标,并分析指标的正确性请求响应时间监控服务器处理能力监控服务器资源利用率监控3性能调优通过指标的监控发现系统存在的性能缺陷,利用分析工具,定位修正性能问题厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.“用户行为模拟”Loadrunner实现录制脚本•参数化•关联•事务修改脚本创建场景执行场景VuGenController+LoadGenerator厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.“性能指标监控”Loadrunnner实现配置服务器端监控环境添加服务器地址和计数器监控结果数据统计显示ControllerAnalysisAnalysis仅提供监控数据(原始数据、统计数据和图表)和分析工具,数据分析需要人工完成厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.LoadRunner简介•LoadRunner是业界标准的压力测试工具,占有全球77%的市场份额。•支持最广泛的应用标准,如WEB,RTE,Tuxedo,SAP,Oracle,Sybase,Email,Winsock等,拥有近五十种虚拟用户类型。•自动分析压力测试结果,自动产生word文档的报告,保障了结果的真实性。•界面友好,易于使用,通过图形化的操作方式使用户在最短的时间内掌握LoadRunner。•无代理方式性能监控器,无需改动生产服务器,即可监控网络,操作系统,数据库,应用服务器等性能指标。•全面中文版本支持。厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.LoadRunner性能测试工具架构性能测试工具的组成部分有如下几个:脚本生成器VuGen压力调度和监控系统Controller结果分析工具Analysis厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.LoadGeneratorLoadRunner中央控制器WebServer1AppserverDatabaseserverLoadbalancerWebServer2脚本脚本LoadGenerator1虚拟用户虚拟用户LoadGenerator2厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.性能测试预览用户行为录制•选择协议•录制用户交互•编辑脚本生成场景负载•设计场景•监控获得性能测试数据•定位性能瓶颈•生成测试报告厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.VuserScript录制流程创建脚本选择协议设置录制选项开始录制插入命令停止录制厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.VuserScript录制流程创建脚本选择协议设置录制选项开始录制插入命令停止录制Category协议分类单协议多协议厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.VuserScript录制流程•选择协议–LoadRunner针对不同的网络协议,提供对应类型的Vuser–只有选择正确的协议类型,才能正确录制脚本–从协议列表中选择被测试系统所使用的网络协议•确定系统协议方法–向开发人员询问协议类型–使用网络监控工具,如SnifferPro,进行协议分析来确定创建脚本选择协议设置录制选项开始录制插入命令停止录制厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.VuserScript录制流程•录制等级HTML-basedURL-based创建脚本选择协议设置录制选项开始录制插入命令停止录制厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.创建脚本选择协议设置录制选项开始录制插入命令停止录制VuserScript录制流程Applicationtype:应用类型URLAddress:输入被测试系统的URLRecordintoAction:默认或者使用“New…”新建Action备注:不同的协议类型此窗口不同厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.创建脚本选择协议设置录制选项开始录制插入命令停止录制VuserScript录制流程新建Action插入事务、集合点、注释等修改录制选项厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.创建脚本选择协议设置录制选项开始录制插入命令停止录制VuserScript录制流程RecordingLogGenerationLog左图为VuGen自动生成的脚本厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.WEB_LINK与WEB_URL•Web_link如何处理链接•Web_link如何处理同名链接•Web_url如何应用•何时使用Web_link何时使用Web_url厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.执行VuserScript•运行选项设置•RuntimeSettings(快捷键:F4)•GeneralOptions中关于脚本运行的设置•运行(Run):F5•单步执行(RunStepByStep):F10•停止(Stop):Ctrl+F5•设置/取消断点(Breakpoint):F9厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.RuntimeSettings•RunLogic•Iteration•Block•如何脱离Block•运行方式•顺序•随机厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.RuntimeSettings•Log•标准日志•扩展日志厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.GeneralOptions(运行)•Tools--GeneralOptions厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.脚本运行常见错误处理•脚本录制成功但是无法正确回放•VuserScript是否完全录制用户操作?•是否存在动态数据?•系统原因?•业务规则?厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.参数化介绍参数化目的:模拟真实的用户操作和创建现实的结果录制参数化真实用户不同的输入VuserScript静态输入真实用户不同的输入厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.参数化步骤确定需要参数化的数据选择数据,鼠标右键选择“Replacewithaparameter”ParamList中设置参数值和参数更新方式厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.ParamList•参数列表的配置厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.参数取值方式•参数取值方式介绍和演示•Selectnextrow•Sequential•Random•Unique•Updatevalueson•Eachinteration•Eachoccurrence•Once厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.参数的调试•在VuGen验证参数是否正确•使用lr_eval_string()读取参数•通过日志检查•Controller中多用户并发情况下,参数是否正确•在场景中运行一次脚本•通过日志检查参数取值厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.参数化高级应用•生成大量参数数据方法:•从生产环境导入数据•编程生成•使用数据生成工具厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.参数与变量•定义•参数定义•lr_save_string(“51testing”,”param”);•变量定义•Intx;//遵守C语言规范•调用方法•参数需要双引号•lr_eval_string(“{param}”);•变量直接调用,不能使用双引号,否则做字符串处理•作用域•参数为全局•变量默认为局部,可以定义全局变量厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.关联方法VuGen:•手工关联•录制后自动关联•录制过程自动关联厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.手工关联•确定要捕获数据•发现要捕获的数据的文本左右边界•脚本添加函数(web_reg_save_param)•LB/RB选项•Search选项•Ord选项•验证正确的执行•参数的检查厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.录制后自动关联•回放脚本•点击ScanScriptforCorrelations•自动扫描需要关联的内容•点击Correlation确认关联厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.录制过程自动关联•在录制选项中设置Correlation•添加应用及关联规则厦门云层天咨软件技术有限公司XiamenclouditsConsultingSoftwareTechnologyCo.Ltd.响应时间•响应时间组成•响应时间测试方法•客户端测量:事务(Transaction)•lr_start_transaction(Login);•lr_end_transaction(Login,LR_AUTO);•各个环节时