版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
loadrunnerv12测试案例性能分析软件测试已逐渐成为软件开发过程中的必不可少的环节,随着功能测试的必要性被普遍认同,自动化测试以及性能测试也逐渐崭露头角。性能测试是指在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。目前常用于功能测试的工具有:HPLoadRunner(简称LR,商用软件):是一款适用于各种体系架构的自动化性能测试工具。LR的测试对象是整个企业的系统,通过模拟实际用户的操作行为和实时性能监控,来帮助你更快地查找和发现性能瓶颈。IBMRationalPerformanceTester(简称RPT,商业软件):也是一款性能测试工具,适用于基于Web的应用程序的性能和可靠性测试。RPT将易用性与深入分析功能相结合,从而简化了测试创建、负载生成和数据收集,以帮助确保应用程序具有支持数以千计并发用户并稳定运行的性能。ApacheJMeter(开源软件):基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器等。相比于其他测试工具,LoadRunner能支持更广泛的协议和技术,能测试各种IT基础架构,为用户的特殊环境提供特殊的解决方案。本文将以当前最新的LoadRunner12社区版来进行阐述。相比于之前版本,LoadRunner12社区版主要有以下新特性:支持50个免费虚拟用户。支持基于云平台的负载生成器。支持HTML5及SPDY协议的脚本录制。支持IE11、Chrome以及Firefox浏览器,支持Win8.1及Win2012Server操作系统。性能测试工具Loadrunner点击下载本文将从如下几个方面阐述LoadRunner的优势LoadRunner组件LoadRunner工作原理基于LoadRunner的测试案例LoadRunner组件可以迭代多次。vuser_end:与vuser_init相对应的收尾工作,如退出登录操作,只会运行一次。开始录制脚本后,可以在recording界面进行执行插入事务、插入集合点、插入注释以及结束录制等命令。完成录制后,脚本通常会包含web_url()等函数。VuserScript脚本中常用函数有:web_add_cookie():负责为Vuser脚本添加一个cookie信息。web_url():可以模拟用户的HTTPGet请求。web_submit_form():基于页面表单模拟用户的HTTPPost请求。该函数会自动检测在当前页面上是否存在form表单,然后将表单中数据进行传送。web_submit_data():无需页面form支持就可以模拟用户的HTTPPost请求。web_custom_request():可以模拟用户的HTTPGet以及Post请求。紧接着,点击replay按钮进行回放验证。我们可以把服务器返回的响应内容保存为参数,在请求时使用该参数,可实现动态数据。如常见的系统登录功能,在登录后服务器会返回SeesionID,登录后的操作都需要提交该SessionID以确认身份。使用Vugen录制脚本时,将会记录服务器返回的SessionID并在下一个请求中发给服务器。事务函数可以标记完成该业务所需要的操作内容。通过在业务操作开始前添加一个事务开始的计数器,在业务操作结束后添加一个事务结束的计数器,VuGen可以自动计算出函数间的时间差,即事务响应时间。添加事务主要涉及以下2个函数:事务开始函数:lr_start_transaction(“事务名”)事务结束函数:lr_end_transaction(“事务名”,LR_AUTO)另外事务还支持事务嵌套:lr_start_sub_transaction(“子事务名”,“父事务名”)lr_end_sub_transaction(“子事务名”,“父事务名”)一般地,录制得到的脚本都会包含思考时间。思考时间是LoadRunner提供的用于模拟用户等待的方式。在性能测试时只有启用思考时间,才能真正地按照用户的操作速度来完成请求,得到真实情况下的负载数据;否则则是全负载下的理论峰值数据。思考时间函数:lr_think_time()集合点函数能让虚拟用户集合在同一时间点上来进行操作,帮助生成有效可控的事务并发。集合点有以下三种集合策略,一般可以使用c策略来明确指定并发数。a.当百分之多少的用户到达集合点时继续执行脚本b.当百分之多少的运行用户到达集合点时继续执行脚本c.当多少个用户到达集合点时继续执行继续集合点函数:lr_rendezvous()当我们录制完脚本后,需要对脚本进一步改进,通过参数化来确保脚本能够动态运行,从而更加真实地模拟真实用户操作。参数化的步骤主要包括:选择要参数化的内容;设置参数取值以及参数更新方式;回放脚本验证参数值等。参数更新方式有顺序取值、随机取值、唯一取值三种类型,这里就不一一介绍了。选择要参数化的内容,右键菜单选择“ReplacewithaParameter”,点击“CreateNewParameter”。设置参数取值,参数类型可以是File类型、Table类型、RandomNumber类型、Date/Time类型等。这里使用Table类型,同一行中列名为username及password的记录将作为表单中用户名和密码的动态参数值。除了手动添加参数值外,也可以通过ODBC方式从DB中获取参数值。参数化后,脚本中的username及password字段取值已经不是静态值了,而是由“{}”包围起来的动态参数值。2.场景设计与监控当VuserScript开发完成后,使用Controller将这个执行脚本的用户从单人转化为多人,从而模拟大量用户操作以形成系统负载。场景是一种模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,监控系统的各项性能指标。通过对场景的设计,可以生成和用户需求相同的真实负载。场景分为目标场景和手动场景。一般地,我们使用使用自动场景来进行验收测试,使用手动场景来定位性能瓶颈。通过设置一个运行目标,Controller会自动逐渐增加负载,测试系统能否稳定达到预期目标。如果达标则说明系统的性能符合测试目标,否则提示无法达标。自动场景是定性型性能测试,我们只关心最后性能测试的结论是否符合性能需求。自动场景中提供了5种目标。手动场景中,可以通过增减Vuser来模拟真实的用户请求,完成负载的生成。手动场景是定量型性能测试,通过观察在负载增加过程中系统各个组件的变化情况,来定位性能瓶颈。完成场景设计后,点击Run标签页切换到场景监控主界面。在左侧ScenarioGroups中列举了所有Vuser的运行状态;在右侧ScenarioStatus中列举了当前场景的运行情况;在下方AvailableGraphs中列举了所有可监控的计数器类型,通过添加计数器实例可以让LR监控其性能数据(如CPU、内存使用率等)。我们可以监控本地服务器或远程Windows/Linux/AIX服务器(监控Linux/AIX需要先安装rstatd组件)以及Weblogic/WebSphere等应用服务器的性能数据。点击StartScenario按钮执行场景,可以看到交互计划图开始变化,监控主界面的Vuser状态开始变化,RunningVuser开始增加,TransactionGraphs等计数器开始显示数据。点击Vusers按钮可以查看当前所有Vuser的状态,并可以在执行过程中通过AddVuser及StopVuser来动态调整负载情况。选中Vuser,右键选择ShowVuser可以查看该Vuser真实的运行情况。3.数据分析待场景执行完毕后,点击Results->AnalyzeResults来启动数据收集分析器,如图31。它会导入场景数据并生成性能测试报告。SummaryReport包括了场景统计信息、事务摘要、HTTP响应摘要等信息;Graphs默认只包含最基本的一些计数器数据图,可以通过右键AddNewItem->AddNewGraph来添加你需要的计数器。在Analysis中经常需要和各种Graphs打交道,这就涉及到图的设置,常用设置包括:SetFilter/GroupBy:对图形设置过滤规则;SetGranularity:设置数据采样点的间距,以秒为单位;ViewRawData:打开图形对应的原始数据;Comments:在图中添加注释;DisplayOptions:设置图形显示样式;MergeGraphs:对图形进行合并,来直观的获取相关计数器之间的关联关系;AutoCorrelate:自动分析该图形与其他计数器的关联性,通过它可以发现数据之间的相互依赖性,从而定位性能瓶颈。CollrelationMatch代表关联性的强弱程度,数值越大说明关联性越强。通过本文的案例,我们可以看到LoadRunner在高度模仿真实用户行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级语文上册同步学-《创造宣言》分层提分练习题(含答案)
- 信息上报员基孔肯雅热疫情上报测试题库单选题及答案解析
- 2025年西藏阿里地区员额检察官遴选考试真题及答案
- 2025年山西省吕梁市员额检察官遴选考试真题及答案
- 第12届中国金融风险经理论坛流程
- 综合医院基孔肯雅热疫情处置测试题库单选题及答案解析
- 多乐囤临期食品折扣运营
- 2026年电力电缆作业员题库及答案
- 2025浙江宁波国际会议中心管理有限公司招聘2人笔试历年难易错考点试卷带答案解析
- 2025河南郑州牟中发展投资有限公司招聘国企正式人员4人笔试历年难易错考点试卷带答案解析
- 上海市浦东区2026届初三下学期月考(4月)化学试题含解析
- 4.1版本YJK抗震性能化设计专题-牟善鑫
- 装配式装修行业深度研究报告
- 离婚协议书 2026年民政局标准版
- 2026及未来5年中国英语培训行业市场现状调查及发展前景研判报告
- 2026年春季小学信息科技(甘肃版2021)四年级下册教学计划含进度表
- 工程建设标准强制性条文(房屋建筑部分)
- 建筑与小区雨水控制及利用工程技术规范
- 冲压检验制度及规范
- 湿地公园知识宣传课件
- 初中信息技术教育中生成式AI辅助教研决策的实践研究教学研究课题报告
评论
0/150
提交评论