第11章 LoadRunner应用实践
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
脚本的录制
Logo
(1)启动Visual User Generator,如 图:
脚本的录制
Logo
(2)通过菜单新建一个用户脚本,如图:
LoadRunner进行性能测试的步骤
Logo
• 测试结果分析 压力运行结束后,Load Generaor将数据传送 到Controller中,由Controller对测试结果 进行汇总。测试人员利用数据分析工具 Analysis对性能测试数据进行分析,进而确 定瓶颈和调优方法。
插入Text/Image检查点
Logo
• 在进行压力测试时,为了检查服务器返回的 数据是否正确,VuGen允许插入Text/Image 检查点,这些检查点验证返回的数据是否存 在指定的Text或Image,还可以测试在比较大 的压力测试环境中,被测的网站功能是否保 持正确。 • VuGen在测试Web时,有两种视图方式: TreeView/Script View。在插入Text/Imag 检查点时,用TreeView视图会比较方便。
Logo
Logo
LoadRunner开发环境
• Task模式 • Recording Options选项 • Run-Time Settings选项
Logo
LoadRunner进行性能测试的步骤
Logo
• 脚本的录制与开发 确定需要测试的业务,通过用户操作和VuGen的录制 功能来记录并生成虚拟用户脚本。手工修改虚拟用 户脚本,确定脚本能够回放成功。 • 场景的创建与执行 在Controller中对场景进行配置后,就可以进行测 试了。测试过程中,由Controller控制Load Generaor对被测试系统的加压方式和行为。 Controller同时搜集被测试系统各个环节的性能数 据。各个Load Generaor会记录最终用户响应时间和 脚本执行的日志。
脚本的录制
Logo
(3)选择系统通讯的协议。这里我们测 试的是Web应用,所以选择 Web(HTTP/HTML)协议。
脚本的录制
Logo
(4)点击开始录制的按钮后,出现下图。
脚本的录制
Logo
在URL中填入要测试的Web站点地址,本节以 LoadRunner自带的MercuryWebTour为例,因此输入 http://127.0.0.1:1080/mercuryWebTours/。 VuGen中的脚本分为三部分:vuser_init、vuser_end 和Action。 其中vuser_init和vuser_end都只能存在一个,不能 再分割,而Action还可以分成无数多个部分。 通常,录制登录系统放到vuser_init中,把登录后的 操作部分放到Action中,把注销关闭登录部分放到 vuser_end中。
插入Text/Image检查点
Logo
• (1)先在树形菜单中选择需要插入检查点的 一项,然后点鼠标右键,选择将检查点插到 该操作执行前还是该操作执行后。如果在该 操作执行前,则选择“Insert Before”,否 则选择“InsertAfter”。
插入Text/Image检查点
Logo
• 注意:集合点经常和事务结合起来使用。 集合点只能插入到Action 部分, vuser_init 和vuser_end 中不能插入集 合点。具体的操作方法如下:在需要插 入集合点的前面,通过菜单或者工具栏 操作输入该集合点的名称。
插入事务
Logo
• 具体的操作方法如下:在需要定义事务 的操作前面,通过菜单或者工具栏插入 事务开始。
插入事务
Logo
• 在出现的对话框中输入该事务的名称。 插入事务的开始点后,下面需要在需要 定义事务的操作后面插入事务的“结束 点”。同样可以通过菜单或者工具栏插 入。 • 默认情况下,事务的名称列出最近的一 个事务名称。事务的状态默认情况下是 LR_AUTO。
性能测试流程
Logo
LoadRunner简介
Logo
• LoadRunner是一种预测系统行为和性能的负 载测试工具。通过以模拟上千万用户实施并 发负载及实时性能监测的方式来确认和查找 问题,它能够对整个企业架构进行测试,能 预测系统行为并优化系统性能。
LoadRunner中的几个术语
Logo
插入集合点
Logo
• 注意:集合点经常和事务结合起来使用。 集合点只能插入到Action 部分, vuser_init 和vuser_end 中不能插入集 合点。具体的操作方法如下:在需要插 入集合点的前面,通过菜单或者工具栏 操作输入该集合点的名称。
参数化
Logo
• 用户在录制脚本提交的数据都被记录到 了脚本中。但当多个虚拟用户运行脚本 时,都会提交相同的记录,这样不符合 实际的运行情况。为了更加真实的模拟 实际环境,需要各种各样的输入。参数 化输入是解决此问题的有效方法。 • 参数化包含以下两项任务:首先在脚本 中用参数取代常量值。其次,设置参数 的属性以及数据源。
性能测试
Logo
(2)压力测试是通过确定一个系统的瓶颈 或者不能接收的性能点,来获得系统能提供 的最大服务级别的测试。 (3)疲劳强度测试:疲劳强度测试是采用 系统稳定运行情况下能够支持的最大并发用 户数,持续执行一段时间业务,通过综合分 析交易执行指标和资源监控指标来确定系统 处理最大工作量强度性能的过程。 (4)容量测试:确定系统可处理同时在线 的最大用户数 。
软件测试
第11章 LoadRunner应用实践
ห้องสมุดไป่ตู้
目录
1 2 3 4 5 4 性能测试 LoadRunner简介 脚本的录制 插入各种操作 场景相关操作 测试结果分析
Logo
性能测试
Logo
• 性能测试的目的是验证软件系统是否能够达 到用户提出的性能指标,同时发现软件系统 中存在的性能瓶颈,优化软件,最后起到优 化系统的目的。 • 主要包括以下几个方面: (1)负载测试:通过负载测试,确定在各 种工作负载下系统的性能,目标是测试当负 载逐渐增加时,系统各项性能指标的变化情 况。例如响应时间、CPU负载、内存使用等 来决定系统的性能。
参数化
Logo
• 下面以用户登录名的参数化为例介绍。 (1)先看如下脚本,通过脚本录制找到用户登 录部分,如图所示:
参数化
Logo
(2)用鼠标选定登录名“jojo”,点鼠标右 键,选择“Replace with a parameter.”, 弹出对话框如图。
参数化
Logo
(3)输入参数名,可供选择的参数类型有: a) DateTime:很简单,在需要输入日期/时间的地方,可以 用DateTime类型来替代。其属性设置也很简单,选择一种格 式即可。当然也可以定制格式。 b) Group Name:暂时不知道何处能用到,但设置比较简单。 在实际运行中,LoadRunner使用该虚拟用户所在的Vuser Group来代替。但是在VuGen中运行时,Group Name 将会是 None 。 c) Load Generator Name:在实际运行中,LoadRunner使用 该虚拟用户所在Load Generator 的机器名来代替。 d) Iteration Number:在实际运行中,LoadRunner使用该 测试脚本当前循环的次数来代替。
脚本的录制与开发
1.脚本的录制 2.脚本的回放 3.脚本的优化 4.脚本的验证
Logo
脚本的录制
Logo
• 在LR中,主要是通过VuGen来完成测试 脚本的录制与开发工作。 • VuGen主要作用是模拟用户行为:先通 过录制或开发完成对单个用户行为的 模拟,然后通过参数化等功能来实现 多个用户间行为的差异化。
插入Text/Image检查点
Logo
• 默认情况下检查点是不打开的,需要在 Run-time中进行设置。
插入Text/Image检查点
Logo
• 默认情况下发生错误时是不继续执行的, 但一般要将其设置为继续执行。
场景的创建与执行
Logo
一个运行场景包括一个运行虚拟用户活动的 Load Generator 机器列表,一个测试脚本的 列表以及大量的虚拟用户和虚拟用户组。 (1)创建运行场景使用Controller 在开始菜单中,启动Controller 程序,如图:
插入集合点
Logo
• 集合点是为了衡量在加重负载的情况下服 务器的性能情况。 • 在测试计划中,可能会要求系统能够承受 1000人同时提交数据,可以在提交数据操 作前面加入集合点,如果虚拟用户不到 1000人,LoadRunner就会命令用户在此等 待,当在集合点等待的用户达到1000人时, LoadRunner命令1000人同时去提交数据, 从而达到测试计划中的需求。
插入事务
Logo
• 为了衡量服务器的性能,我们需要定义事务。比如: 在脚本中有一个数据查询操作,为了衡量服务器执 行查询操作的性能,我们把这个操作定义为一个事 务,这样在运行测试脚本时,LoadRunner运行到该 事务的开始点时就会开始计时,直到运行到该事务 的结束点,计时结束。这个事务的运行时间在结果 中会有反映。 • 插入事务操作可以在录制过程中进行,也可以在录 制结束后进行。LoadRunner 运行在脚本中插入不限 数量的事务。
场景的创建与执行
Logo
出现“New Scenario”窗口。如果没有出现, 可以在菜单或者工具栏中点击“New”。
场景的创建与执行
Logo
在新建场景的窗口,选择一种场景类型。下面对三 种类型进行简单的说明。 • 手动方案(Manual Scenario):完全手动的设置场 景。使用百分比模式在脚本间分配Vuser:该项只有 在“Manual Scenario”选中的情况下才能选择。选 择该项后,在场景中需要定义要使用的虚拟用户的 总数,然后为每一个脚本分配要运行的虚拟用户的 百分比。 • 面向目标的方案(Goal—Oriented Scenario):在 测试计划中,一般都包括性能测试要达到的目标。 选择该项后,LoadRunner 基于这个目标,自动为你 创建一个场景。在场景中只要定义好此次测试目标 即可。
参数化
Logo
e) Random Number: 随机数。很简单。在属性设置中可以 设置产生随机数的范围 f) Unique Number:唯一的数。在属性设置中可以设置第一 个数以及递增的数的大小。 提示:使用该参数类型必须关注可以接受的最大数。例如: 某个文本框能接受的最大数为99。当使用该参数类型时,设 置第一个数为1,递增的数为1,但100 个虚拟用户同时运行 时,第100个虚拟用户输入的将是100,这样脚本运行将会出 错。 注意:这里说的递增意思是各个用户取第一个值的递增数, 每个用户相邻的两次循环之间的差值为1。举例说明:假如起 始数为1,递增为5,那么第一个用户第一次循环取值1, 第 二次循环取值2; 第二个用户第一次循环取值为6, 第二次 为7; 依次类推。
脚本的录制
Logo
(5)然后点“OK”后,VuGen开始录制脚 本。录制完成后,按下“结束录制”按 钮,VuGen自动生成用户脚本,退出录制 过程。
脚本的回放
Logo
可单步回放(F10),也可全程回放(F5)。要注 意的是即使测试结果全部通过,也不代表代 码是完全通过的。
脚本的优化
Logo
当录制完一个脚本后,在正式使用前还 需要完善测试脚本,增强脚本的灵活性。 主要有以下几种方法: 插入事务 插入结合点 插入检查点 参数化输入
LoadRunner中的几个术语
Logo
• 负载发生器(Load Generaor):用来产生压 力的真实机器,受Controller控制,可以使 用户脚本在不同的主机上执行。在性能测试 工作中,通常由一个Controller控制多个 Load Generaor以对被测试系统加压。
LoadRunner工作原理
脚本的录制
Logo
如果需要在登陆操作设集合点,那么登陆 操作也要放到Action 中,因为 vuser_init中不能添加集合点。在其他情 况下,把操作部分放到Action中即可。注 意:在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次,重 复执行的只是Action中的部分。 可以点“Options”按钮,进入录制的设 置窗体,这里一般情况下不需要改动。
• 虚拟用户(Virtual User):对应于真实用户, 使用LoadRunner模拟的用户称为Virtual User。 • 控制器(Controller):是压力调度和监控中 心,负责将Virtual User Generator开发的 脚本在Load Generaor机器上运行。 • 场景(Scenario):即测试场景,主要工作有: 在Controller中选择虚拟用户脚本、设计虚 拟用户数量、配置虚拟用户运行时的行为、 选择负载发生器等。