loadrunner性能测试脚本开发
- 格式:docx
- 大小:2.48 MB
- 文档页数:22
Load Runner 使用说明一、组件:(一) VuGen:用于捕获最终用户业务流程和创建怎动化性能测试脚本。
1. 录制脚本:(1) 集合点Rendezvous(2) 验证点Check Point:文本验证点Text Check、图片验证点Image Check(3) 事务Transaction:事务开始Start Transaction、事务结束End Transaction(4) 注释与消息Comment & Message:/***/2. 增强并编辑Vuser脚本(1) 参数化:在Select next now中的参数:Sequential顺序、Random随机、Unique唯一在Update value on 参数:Each iteration每次迭代、Each occurrence每次出现、Once 一次(2) 从数据库中导入数据3. 配置动行时设置Runtime settings(运行时设置)(1) Number of Iterations:迭代次数(2) 在Preferences中的Enable image and text check在脚本中添加验证点时必须选中。
4. 在独立模式下运行Vuser脚本5. 集成Vuser脚本(二) Controller:用于组织、驱动、管理和监控负载测试。
1. 创建方案(1) 创建手动方案(2) 创建百分比模式方案(3) 创建面向目标的方案2. 计划方案(1) 开始时间(2) 方案运行设置:加压Ramp Up、持续时间Duration、减压Ramp Dowm3. 运行方案4. 监视方案(1) RuntimeGraphs(运行时图)A. Running Vusers运行时图:Running正在运行的Vuser总数、Ready完成脚本初始化部分、即可以运行的Vuser数、Finished结束运行的Vuser数,包括通过的和失败的、Error执行时发生的错误VuserB. Transaction Graphs事务监视图:Trans Response Time事务响应时间、Trans/Sec(Passed)每秒事务数(通过)、Trans/Sec(Failed/Stopped)每秒事务数(失败、停止)、Total Trans/Sec(Passed)每秒事务总数(通过)。
LoadRunner的使用流程1. 简介LoadRunner是一款市场上广泛使用的性能测试工具,可以帮助开发人员和测试人员对系统进行负载测试。
通过模拟多用户同时访问系统的行为,可以评估系统的性能指标,识别瓶颈,并提供优化建议。
2. 安装和配置在使用LoadRunner之前,首先需要进行安装和配置。
以下是安装和配置的步骤: - 下载LoadRunner安装包,并按照安装向导进行安装。
- 配置LoadRunner 的运行环境,包括设置系统变量、配置服务器和代理等。
3. 创建测试脚本测试脚本是LoadRunner的核心部分,它描述了用户的行为以及与系统之间的交互。
以下是创建测试脚本的步骤: - 打开LoadRunner工具,选择新建脚本的选项。
- 选择脚本类型,根据系统的特点选择不同的录制方式,包括录制脚本、使用模板创建脚本或手动编写脚本。
- 开始录制或编写脚本,描述用户的操作和与系统的交互过程。
4. 参数化和提取在进行性能测试时,通常需要模拟多个用户同时访问系统的情况。
为了模拟真实场景,可以使用参数化和提取技术。
以下是参数化和提取的步骤: - 选择需要参数化的请求或数据,例如用户名、密码、搜索关键字等。
- 使用LoadRunner的参数化功能,将这些值设置为参数。
- 在脚本中使用参数化的值,使每个虚拟用户都有不同的值。
- 如果需要提取响应中的数据,可以使用LoadRunner的提取函数将响应中的关键字提取出来,用于后续的验证和分析。
5. 设置场景和调整负载在LoadRunner中,场景是模拟用户在特定时间段内的行为和负载情况。
以下是设置场景和调整负载的步骤: - 在LoadRunner中创建场景,并设置虚拟用户数目、持续时间等参数。
- 使用LoadRunner提供的负载模型,设置每个虚拟用户的行为模式,例如Ramp-Up(逐渐增加用户数)、Peak Load(达到峰值负载)等。
- 调整场景的负载,根据系统的需求和预期的负载情况,适当增加或减少虚拟用户的数目,以模拟真实的负载情况。
使用LoadRunner的流程1. 简介LoadRunner是一款性能测试工具,可用于模拟并测试不同负载条件下的应用程序性能。
它是业界著名的性能测试工具之一,广泛应用于软件开发和测试领域。
本文将介绍使用LoadRunner的基本流程,包括录制脚本、编辑场景、运行测试、分析结果等内容。
2. 录制脚本使用LoadRunner进行性能测试的第一步是录制脚本。
脚本录制是指将用户对应用程序的操作记录下来,以便后续可以回放并模拟用户行为。
下面是录制脚本的步骤:•打开LoadRunner,选择录制模式。
•配置录制设置,包括选择要录制的应用程序和协议。
•启动录制,执行各项操作,包括登录、浏览网页、提交表单等。
•停止录制,保存录制的脚本文件。
3. 编辑场景录制完脚本后,需要对场景进行编辑和定制,以模拟真实的负载条件。
场景是指一组用户行为的集合,可以包括不同的用户数量、并发用户数量、用户的思考时间、延迟时间等。
以下是编辑场景的步骤:•打开LoadRunner,选择编辑场景模式。
•导入录制的脚本文件。
•配置场景参数,包括虚拟用户数量、并发用户数量、需模拟的业务负载等。
•设置运行时的动态参数,如需替换用户名、密码等敏感信息。
•配置场景的持续时间、循环次数、运行模式等。
4. 运行测试场景编辑完成后,可以开始运行性能测试。
在运行测试期间,LoadRunner将模拟多个虚拟用户并发访问目标应用程序,记录并分析系统的性能指标。
以下是运行测试的步骤:•打开LoadRunner,选择运行测试模式。
•配置测试设置,包括选择要运行的场景、设置测试目标等。
•启动测试运行,观察测试运行的过程。
•监控系统性能指标,如响应时间、吞吐量、服务器负载等。
5. 分析结果性能测试完成后,需要对测试结果进行分析。
LoadRunner提供了丰富的分析工具,用于分析各项性能指标,找出性能瓶颈并提供建议。
以下是分析结果的步骤:•打开LoadRunner的分析工具。
软件测试实验报告loadrunner引言软件测试是保证软件质量的重要手段,而性能测试则是其中的一部分。
在实际应用中,软件的性能往往是用户持续使用的关键因素。
本实验通过使用LoadRunner工具对一个Web应用进行性能测试,旨在评估系统的可扩展性和稳定性。
实验目的1. 了解性能测试的概念和一般流程;2. 掌握LoadRunner工具的基本使用方法;3. 学会分析性能测试结果并调优。
实验环境- 操作系统:Windows 10- 浏览器:Google Chrome- LoadRunner版本:12.55实验步骤步骤一:录制脚本1. 打开LoadRunner主界面,在“组织测试”中选择“录制脚本”;2. 输入脚本名称,选择协议为“Web HTTP/HTML”,点击“开始录制”按钮;3. 在弹出的浏览器中输入被测应用的URL,进入应用的登录页面;4. 按照测试用例的要求进行操作,录制脚本过程中可以对测试步骤进行注释和标记;5. 完成录制后,点击“停止录制”按钮。
步骤二:设计场景1. 在LoadRunner主界面,选择“组织测试”中的“设计场景”;2. 在“设计场景”界面中,将录制的脚本添加到“事务”中,可以设置事务的名称和模式;3. 将事务进行参数化,设置不同的参数取值,以模拟用户的不同行为;4. 可以设置事务之间的延迟时间,模拟用户的思考和操作过程。
步骤三:运行测试1. 在LoadRunner主界面,选择“执行测试”;2. 在“执行测试”界面中,选择要执行的场景,设置并发用户数、循环次数等参数;3. 启动测试并观察测试过程中的各项指标的变化情况,包括响应时间、吞吐量、错误率等;4. 完成测试后,查看测试报告,分析测试结果。
步骤四:优化调整1. 根据测试报告,可以发现系统的瓶颈和性能问题所在;2. 可以对系统进行优化调整,比如增加硬件资源、调整系统配置、修改代码逻辑等;3. 重新运行测试,对比测试结果,看优化效果。
使用LoadRunner 编写JAVA 测试脚本以前在使用loadrunner 的过程中,基本很少关注过手动编写测试脚本,这也与手头工作有一定的关系,平时难以接触到这方面的测试类型。
虽然这期间也看过,但是感觉当时的Loadrunner对JAVA语言脚本的支持较弱,JDK还是1.1、1.2的版本,显然太不合时宜了,于是也就放弃了。
昨晚,在网上看了看Loadrunner8.1版本,已经支持到了JDK1.5版本,结合目前手头测试工作,觉得有必要细看一下。
要使得Loadrunner8.1版本能够支持JAVA语言脚本,以下几点需要注意:1.JDK的版本必须是5.0(我机器上原先装的是JDK6.0,折腾了好长一段时间,总是报ERROR loading javai.dll的错,最后没办法只能装5.0 ,Loadrunner对jdk的支持有点弱智)。
设置好java 环境。
2.Loadrunner 要支持JAVA语言必须,安装一个补丁。
(java_protocol_fixes_Feb_05 可以网上找一下,这儿没法上传)打开virtual user generator ,新建java vuser,看一下run-time settings,java environment setting 设置如下图打开java vuser的编辑界面import lrapi.lr;public class Actions{public int init() {return 0;}//end of initpublic int action() {return 0;}//end of actionpublic int end() {return 0;}//end of end}可以看到标准的java class 写法。
Actions 类包含三个方法:init、action 和end。
init 登录到服务器Vuser 已初始化(已加载)action 客户端活动Vuser 处于“正在运行”状态end 注销过程Vuser 完成或停止这时候完全可以理解loadrunner如何执行java 测试脚本代码了,在Actions 类中调用测试java类,然后在脚本中需要的地方加上loadrunner自带的一些函数方法等(比如事务函数、命令行分析函数、信息性函数、运行时函数),当然还能进行一些参数化的设置,最后在control上增加vuser数量(也就是增加线程)。
第3章LoadRunner脚本编写LoadRunner生成脚本的方式有两种,一种是自己编写手动添加或嵌入源代码;一种是通过LoadRunner提供的录制功能,运行程序自动录制生成脚本。
这两种方式各有利弊,但首选还是录制生成脚本,因为它简单且智能化,对于测试初学者来说更加容易操作。
但是仅靠着自动录制脚本,可能无法满足用户的复杂要求,这就需要手工添加函数,进行必要的手动关联或在函数中进行参数化来配合,增强脚本的实用性。
手写添加增强脚本的独特之处在于:1.可读性好,流程清晰,检查点截取含义明确。
业务级的代码读起来总比协议级代码更容易让人理解,也更容易维护,而且必要时可建立一个脚本库。
而录制生成的代码大多没有维护的价值,现炒现卖。
2.手写脚本比录制的脚本更能真实地模拟应用运行。
因为录制的脚本是截获了网络包,生成的协议级的代码,而略掉了客户端的处理逻辑。
3.手写脚本比录制脚本更能提高测试人员的技术水平。
LoadRunner提供了Java user、VB user、C user等语言类型的脚本,允许用户根据不同的测试要求自定义开发各种语言类型的测试脚本。
增强脚本的好坏关系到这个脚本是否能在实际运行环境中更真实地进行模拟操作。
至于具体使用哪种方式来生成脚本,还应该以脚本模拟程序的真实有效为准。
例如,有些程序只需要执行迭代多次操作,没有特殊要求,选择自动生成的脚本就可以了;有些程序需要加入参数化方可满足用户的要求,此时应该使用增强的手工脚本。
再就是结合项目进度、开发难易程度等因素综合考虑。
3.1 插入检查点在进行Web应用的压力测试时,经常会有页面间数据传递的操作,如果做性能测试时传递次数逐渐增多,页面间就会发生传递混乱的情况,或者客户端与服务端数据传输中断或不正确的现象。
为了解决这些问题,LoadRunner提供了在脚本中插入检查点的方法,就是检查Web服务器返回的网页是否正确。
在每次脚本运行到此检查点时,自动检查该处的网页是否正确,省去执行结束后人工检查的步骤和时间,进而加快了测试进度。
LoadRunner讲义1. 介绍LoadRunner是一款功能强大的性能测试工具,可以帮助开发人员评估和优化软件系统的性能。
本讲义将介绍LoadRunner的根本概念、使用方法以及常见的性能测试场景。
2. LoadRunner的概述LoadRunner是由Micro Focus公司开发的一款性能测试工具。
它可以模拟多种负载条件下的用户行为,从而测试软件系统在不同负载情况下的性能表现。
LoadRunner的核心组件包括虚拟用户生成器〔Virtual User Generator,简称VUGen〕、场景设计器〔Controller〕和分析器〔Analyzer〕。
通过这些组件,开发人员可以录制用户行为、设计测试场景以及分析测试结果。
3. LoadRunner的安装与配置要使用LoadRunner进行性能测试,需要先进行安装和配置。
在安装LoadRunner之前,需要确保系统满足最低硬件要求,并关闭杀毒软件等干扰性软件。
安装过程中,可以选择安装所需的组件和功能。
安装完成后,需要进行一些配置,包括设置代理效劳器、配置网络和浏览器等。
这些配置可以根据具体需求进行调整。
4. LoadRunner脚本录制与回放使用LoadRunner进行性能测试的第一步通常是录制用户脚本。
用户脚本定义了用户的行为,在测试过程中会被LoadRunner自动执行。
可以通过VUGen录制用户脚本,也可以手动编写脚本。
录制完成后,可以进行回放测试,即使用录制的用户脚本模拟多个用户并发访问系统。
通过回放测试,可以评估系统在多用户访问下的性能表现。
5. LoadRunner测试场景设计在LoadRunner中,可以设计各种不同的测试场景。
测试场景由多个虚拟用户组成,每个虚拟用户都有自己的行为和负载条件。
可以设定虚拟用户的数量、各自的执行顺序和持续时间等参数。
在设计测试场景时,需要根据实际情况模拟真实用户的行为。
可以设置不同用户的登录、搜索、购置等操作,以及各操作的时间间隔、持续时间等参数。
Loadrunner进⾏性能测试的步骤Loadrunner 11是⼀款免费的性能测试⼯具,他包含三个⼤模块•使⽤VuGen:创建脚本•运⽤Controller:设置⽅案•查看Analysis:分析测试结果结合软件测试的流程可以知道使⽤LoadRunner进⾏性能测试的过程如下:•规划测试:分析应⽤程序、定义测试⽬标、⽅案实施•创建Vuser脚本•创建⽅案:⽅案包括运⾏Vuser 的计算机的列表、运⾏Vuser 脚本的列表以及在⽅案执⾏期间运⾏的指定数量的Vuser 戒Vuser 组。
•运⾏⽅案:可以指⽰多个Vuser 同时执⾏任务,以模拟服务器上的⽤户负载。
可以通过增加戒减少同时执⾏任务的Vuser 的数量杢设置负载级别。
•监视⽅案:使⽤LoadRunner 联机运⾏时、事务、系统资源、Web 服务器资源、数据库服务器资源、⽹绚延时、流媒体资源、防⽕墙服务器资源、Java 性能等、应⽤程序部署和中间件性能监视器杢监视⽅案的执⾏•分析测试结果:在⽅案执⾏期间,LoadRunner 将记录丌同负载下的应⽤程序性能。
可以使⽤LoadRunner 的图和报告杢分析应⽤程序的性能。
根据性能测试计划,搭建好测试环境后,我们使⽤lr进⾏性能测试的步骤如下:1.使⽤VuGen录制vu要执⾏的测试脚本并完善精简。
录制过程可能有点⿇烦,所以录制成功后最好先做好备份,然后使⽤其中的⼀份进⾏完善脚本的操作,其中需要完善的项⽬有:参数化、关联、检查点、集合点、思考时间、事务等。
再完善了脚本后最后⼀步对脚本进⾏精简⼯作。
(录制的脚本回放时不出错不代表脚本是正确的,单⽤户运⾏脚本不出错也不代表多⽤户运⾏时不出错)录制:设置好录制选项和运⾏时选项,录制好脚本后做好备份⼯作。
参数化:a.为什么做参数化(需要⽤户提供不同的数据才能正常运⾏,这个是从脚本⾃⾝⾓度);b.哪些地⽅需要做参数化;3.怎么做参数化。
a.如果⽤户在录制脚本过程中,填写提交了⼀些数据,返些操作都被记录到了脚本中。
精通软件性能测试与loadrunner实战最新版LoadRunner性能测试实战内容介绍:很多使用LoadRunner的测试人员经常面临两个难题:脚本开发与性能测试分析。
本书就是基于帮助测试人员解决这两个问题而编写,致力于使读者学精LoadRunnner这一强大的性能测试工具。
全书共分为四部分:入门篇、基础篇、探索篇、实战篇。
第一篇入门篇的内容包括第1章和第2章,着重于讲解性能测试与LoadRunner的基础理论知识。
第二篇基础篇的内容包括第3章至第5章,是LoadRunner 的基本使用部分,着重讲解Virtual User Generator、Controller、Analysis的使用方法。
第三篇探索篇的... 第1部分入门篇............................................................... .. (1)第1章性能测试基础知识.. 31.1 性能测试基本概念 (4)1.1.1 什么是性能测试 (4)1.1.2 性能测试应用领域 (6)1.1.3 性能测试常见术语 (8)1.2 全面性能测试模型 (11)1.2.1 性能测试策略模型 (14)1.2.2 性能测试用例模型 (17)1.2.3 模型的使用方法 (20)1.3 性能测试调整基础 (21)1.4 如何做好性能测试 (24)1.5 本章小结 (28)第2章LoadRunner基础知识.. 292.1 LoadRunner简介 (29)2.1.1 LoadRunner主要特点 (29)2.1.2 LoadRunner常用术语 (31)2.2 LoadRunner工作原理 (32)2.3 LoadRunner测试流程 (33)2.4 LoadRunner的部署与安装 (35)2.5 本章小结 (41)第2部分基础篇............................................................... (43)第3章脚本的录制与开发.. 453.1 Virtual User Generator简介 (45)3.1.1 VuGen录制原理 (46)3.1.2 VuGen功能简介 (48)3.1.3 如何选择协议 (49)3.2 VuGen录制功能详解 (50)3.2.1 录制参数设置 (50)3.2.2 脚本录制与创建事务 (57)3.2.3 回放与调试脚本 (61)3.2.4 脚本录制的基本原则 (63)3.3 修改虚拟用户脚本 (64)3.3.1 参数化功能 (64)3.3.2 深入集合点 (71)3.3.3 巧用检查点 (72)3.3.4 关联 (78)3.4 配置虚拟用户脚本 (80)3.5 两个常用函数介绍 (84)3.6 本章小结 (86)第4章场景的创建与执行.. 87 4.1 Controller简介 (87)4.2 场景类型介绍 (88)4.2.1 手动测试场景 (88)4.2.2 面向目标的测试场景 (90)4.3 测试场景设计 (93)4.3.1 配置测试脚本 (93)4.3.2 配置Generator 944.3.3 配置Schedule. 954.3.4 集合点配置 (99)4.3.5 IP Spoofer配置 (100)4.3.6 其他设置场景 (106)4.4 执行测试场景 (108)4.4.1 启动测试场景 (108)4.4.2 控制用户与用户组 (108)4.4.3 查看场景与用户状态 (109)4.4.4 控制集合点 (110)4.4.5 查看运行数据图 (110)4.5 监控系统资源 (111)4.5.1 监控Windows系统资源 (112)4.5.2 监控Linux/Unix系统资源 (114)4.6 本章小结 (121)第5章性能测试结果分析.. 1235.1 如何分析性能测试结果 (124)5.1.1 性能分析基础知识 (125)5.1.2 Analysis使用基础 (127)5.1.3 一个视频网站例子 (135)5.2 如何从分析图中发现问题 (148)5.2.1 虚拟用户图 (148)5.2.2 事务图 (151)5.2.3 Web资源图 (160)5.2.4 网页细分图 (166)5.2.5 小结 (179)5.3 分析图的处理方法 (179)5.3.1 修改默认配置 (180)5.3.2 合并分析图 (187)5.3.3 自动关联 (188)5.3.4 场景运行比较 (191)5.4 Analysis分析报告 (193)5.4.1 事务活动报告(Activity Reports) (193)5.4.2 事务性能报告(Performance Report s) (196)5.4.3 HTML与Word报告 (199)5.5 本章小结 (206)第3部分探索篇............................................................... (209)第6章用Visual C++增强虚拟用户.. 211 6.1 认识LoadRunner动态链接库的调用功能 (211)6.1.1 动态链接库调用功能简介 (211)6.1.2 动态链接库调用功能适用范围 (212)6.2 创建与调用动态链接库 (212)6.2.1 用Visual C++创建Dll 2126.2.2 Dll调用方法 (215)6.2.3 载入头文件方法 (217)6.2.4 Dll调用需注意的问题 (220)6.3 UDP发包应用案例 (222)6.3.1 测试内容简介 (222)6.3.2 测试程序设计 (222)6.3.3 虚拟用户脚本 (223)6.3.4 测试场景设置 (224)6.3.5 测试结果分析 (225)6.4 本章小结 (226)第7章深入Java虚拟用户.. 2277.1 认识Java虚拟用户 (227)7.1.1 Java虚拟用户协议 (227)7.1.2 Java虚拟用户适用范围 (230)7.1.3 脚本开发环境配置 (231)7.2 Java脚本开发基础 (234)7.2.1 Java虚拟用户开发基础 (234)7.2.2 LoadRunner的Java API. 243 7.3 Java算法测试案例 (245)7.4 本章小结 (260)第8章深入.NET虚拟用户.. 2618.1 认识.NET虚拟用户 (261)8.1.1 .NET虚拟用户适用范围 (261)8.1.2 安装与配置.NET插件 (262)8.2 创建.NET虚拟用户 (264)8.2.1 创建虚拟用户项目 (264)8.2.2 参数、集合点、事务 (266)8.3 网站视频性能测试应用案例 (271)8.3.1 创建自定义的播放器类 (272)8.3.2 创建抽象虚拟用户类 (276)8.3.3 创建抽象并发测试类 (282)8.3.4 创建自定义虚拟用户脚本 (284)8.3.5 创建LoadRunner .NET虚拟用户 (2)878.3.6 案例总结 (290)8.4 本章小结 (290)第9章LoadRunner特殊协议应用.. 291 9.1 Windows Sockets协议应用 (291)9.1.1 录制Windows Sockets协议脚本 (2)929.1.2 增强Windows Sockets协议脚本 (2)949.2 WAP协议应用 (298)9.3 Web Services协议应用 (302)9.3.1 Web Services协议简介 (302)9.3.2 录制Web Services协议脚本 (303)9.4 FTP协议应用 (312)9.5 本章小结 (317)第4部分实战篇............................................................... (319)第10章电子商务平台测试案例.. 321 10.1 GBE测试项目简介 (321)10.1.1 项目背景信息 (321)10.1.2 系统功能简介 (322)10.1.3 项目测试计划 (323)10.2 性能测试规划与设计 (323)10.2.1 性能测试的种类、范围、目标 (324)10.2.2 人力资源、进度安排 (325)10.2.3 测试环境需求 (325)10.2.4 选择测试工具 (327)10.2.5 用户场景分析与设计 (328)10.2.6 性能测试计划 (333)10.2.7 测试用例设计 (334)10.2.8 其他事项 (341)10.3 性能测试准备 (341)10.3.1 测试环境 (341)10.3.2 系统使用培训 (342)10.3.3 测试数据 (343)10.3.4 虚拟用户脚本 (346)10.4 测试的实施与控制 (349)10.4.1 设计测试用例场景 (349)10.4.2 执行测试用例场景 (351)10.4.3 进度与变更控制 (359)10.5 测试结论与建议 (360)10.5.1 测试结果综述 (360)10.5.2 系统性能优化建议 (361)10.5.3 风险分析 (362)10.6 本章小结 (362)附录A LoadRunner性能测试常见问题.. 36 5附录B LoadRunner性能测试模板.. 373 B.1 性能测试计划模板 (373)B.1.1 项目背景简介 (373)B.1.2 测试方案简介 (373)B.1.3 测试环境与资源 (373)B.1.4 项目里程碑 (374)B.1.5 技能培训计划 (374)B.1.6 风险分析 (374)B.1.7 计划结束标准 (374)B.2 性能测试用例模板 (374)B.2.1文档介绍 (374)B.2.2 测试需求分析 (375)B.2.3 性能测试用例 (375)B.3 性能测试报告模板 (380)B.3.1 基本信息 (380)B.3.2 测试环境描述 (381)B.3.3 性能测试用例执行分析 (381)B.3.4 测试结果综合分析及建议 (381)B.3.5 测试经验总结 (381)后记.. 383前言在作者的另一作品《Web性能测试实战》中,曾经提到过“软件亚健康”这个概念。
使用LoadRunner进行性能自动化测试的方法和技巧LoadRunner是一款常用的性能测试工具,它可以模拟多种负载条件下的应用程序行为,帮助开发人员检测和解决性能问题。
本文将介绍使用LoadRunner进行性能自动化测试的方法和技巧,帮助读者更好地利用LoadRunner提升应用程序的性能。
一、LoadRunner简介LoadRunner是由Micro Focus公司开发的一款性能测试工具,它可以模拟多种负载条件下的应用程序行为,帮助开发人员评估应用程序的性能与稳定性。
LoadRunner提供了丰富的功能和工具,包括脚本录制、负载生成、性能监控和报告分析等,可用于测试各类应用程序,如Web应用、移动应用和企业应用等。
二、性能自动化测试的基本步骤1. 确定测试目标和需求:在进行性能自动化测试之前,需要明确测试目标和需求,例如确定负载要求、并发用户数、响应时间等指标,以便后续的测试设计和执行。
2. 脚本录制与回放:LoadRunner提供了脚本录制功能,可以通过录制用户在应用程序上的操作来生成测试脚本。
在录制完成后,可以使用脚本回放功能对录制的操作进行模拟,以验证应用程序在负载条件下的性能表现。
3. 参数化和数据驱动:在进行性能测试时,往往需要模拟多个用户的行为。
为了实现这一目标,可以通过参数化和数据驱动的方式来设置不同用户之间的差异。
LoadRunner提供了参数化工具和数据驱动功能,可以轻松地设置和管理测试数据。
4. 脚本调优和编辑:在录制和回放过程中,可能会出现一些不必要或重复的操作,这会影响测试的准确性和效率。
通过对脚本的调优和编辑,可以剔除不必要的操作,减少脚本的体积和执行时间。
5. 负载生成和分析:LoadRunner提供了多种负载测试模式,可以模拟不同负载条件下的应用程序性能。
通过调整负载模式和负载参数,可以对应用程序进行不同负载场景的测试。
测试完成后,可以使用LoadRunner提供的分析工具对测试结果进行统计和分析,以便找出性能问题和瓶颈。
第二部分性能测试脚本开发
第1章Virtual User Generator 脚本开发基础
注意:浏览器只是在脚本的录制时与LOADRUNNER有关联,录制完之后与浏览器再无关系,用什么浏览器无所谓。
脚本录制:
此处的删除不会产出录制的脚本,只是本次运行不去调用此脚本。
点击TOOL→recording options→general→recording→HTML-based script→script type→Web_url、web_sumbit_data。
第3章乱码解决方法
1、录制过程产生的乱码解决方法:
在tool→recording option→HTTP properties→advanced→support charset
2、运行过程产生的乱码解决方法:Vuser→ run time settings→internet protocol→options→general。
第4章参数化技术
1、建立参数
Vuser→Parameter List→new
先建两个参数“username”和“password”→然后点击Edit with Notepad对参数进行编辑(编写最后一个用户时需要有一个换行符);
2、修改action中的参数
在action 中,对于要调用设定的参数的,需要将其用“{}”括起来,LR才能识别。
第一种:直接在action中修改添加
;
第二种:点击要修改的,右击→replace with parameter
3、修改要执行的次数,按照参数列表设定的值。
Run-time setting→general→run logic→number of lteration→”参数次数”。
第5章唯一参数
只能取一次值,取多次程序会出错。
例如:QQ每个用户只能登录一次。
在Replay Log中显示结果的代码:lr_output_message(lr_eval_string(“{参数}”));
第6章其他参数类型
在tools→general options中可以定义参数分隔符
只关注输出值设置run-time settings→general→log→去掉Enabel logging前面的勾
下载MYSQL ODBC 5.1 driver,体现data wizard直接导入mysql里面的数据。
对于LoadRunner的关联,必须放在被查找的请求相应的Web_url的前面,然后使用关联函数:Insert→new step→services→web_reg_save_param。
寻找被查找的请求的关键词”dac170b0”的左边界
在全文查找左边界是否唯一
寻找被查找的请求的关键词”dac170b0”的右边界
由于C语言本身的分隔符是双引号,而我们查找的左边界字符串本身包含双引号,就相当于结束符了,为了解决这个问题,我们在双引号的前面加上反斜杠\进行转意
Tree和script可以在添加函数目录和脚本函数之间进行转换。
第8章关联原理
第9章关联应用
用关联查找我们需要内容的步骤:1、新建一个action;
2、插入发送get请求函数,web_url();→
方法:Insert→new step→url。
3、插入一个关联函数:web_reg_save_param();→
方法:Insert→new step→services→web_reg_save_param。
Match case表示使用通配符,use#for any digit表示左右边界变化的是数字为0-9一位数字,而我们实际的数字为30、31等等,故使用两个”##”号。
Use as a wildcard for (all所有,lowercase小写,uppercase大写) 左右边界变化的是字符。
Instance表示输出第几个值。
对于要搜索多个模块,而每个模块的左边界有点变化,如”课堂练习”、”成都大学”,此时我们需要用到“通配符”。
下图:要显示的课堂练习和成都大学的左右边界。
下图设置通配符的详情:
第10章关联数组
再看一次并操作
第11章事务transactions
1、开始事务功能:run-time setting→general→miscellaneous→auto tansactions
选择define each action as a transaction,则在tool→create controller scenario中显示的是每个action的响应时间。
选择define each step as a transaction,则在tool→create controller scenario中显示的是每个step 的响应时间。
2、自定义事务
在需要查看某一段请求的响应时间等其他的代码前面插入开始事务insert→start transaction;
在结尾插入结束事务insert→end transaction;然后在tool→create controller scenario中显示的是每个事务的响应时间。
第12章检查点------结合检查点,统计事务的成功率
LR_Auto是通过响应的状态码进行判断。
检查点函数:web_reg_find,从响应当中查找特定内容,特定标识符,来决定请求是否成功提交。
1、插入检查点函数,在请求响应的前面。
2、在请求响应代码段后面显示检查点统计总数:
atoi表示把字符串转换成整型,因为==两段数据类型要一样
3、在tool→create controller scenario中显示的是事务的成功率。
第13章思考时间----用户暂停发送请求的时间
函数:lr_think_time(); 例:lr_think_time(20); ---20s
思考时间在LR中的应用:1、需要设置思考时间,2、思考时间的大小应该不一样。
第14章集合点一
第15章集合点二函数:lr_rendezvous();
例:如果要给登陆同时并发很多用户,则在登陆函数前插入一个集合点,所有虚拟用户在此集合。
注意:现有集合点,在有事务,不然事务得包含集合点等待时间。
对集合点相关参数的设置页面,一般保持默认就好。