LoadRunner基础.ppt
《LoadRunner基础.ppt》由会员分享,可在线阅读,更多相关《LoadRunner基础.ppt(54页珍藏版)》请在三一办公上搜索。
1、LoadRunner基础培训,LoadRunner基础培训,性能测试简介,性能测试相关术语:响应时间、并发用户数、事务响应时间、吞吐量、TPS(每秒事务响应数)、性能计数器等。性能测试方法:负载测试、压力测试、配置测试、并发测试、可靠性测试等。应用领域:能力验证、规划能力、性能调优、缺陷发现。性能测试工具架构:一般包括以下部件:虚拟用户脚本产生器(Virtual User Generator)、压力产生器(player)、用户代理(Agent)、压力调度和监控系统(Conductor)、压力结果分析工具(Analysis)。,性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署
2、风险的一种手段。性能测试的主要思想是通过产生模拟真实业务的压力对被测系统进行加压,研究被测系统在不同压力情况下的表现,找出其潜在的瓶颈。,LoadRunner简介,LoadRunner是一种预测系统行为和性能的负载测试工具。它通过模拟实际用户的操作行为和实行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试的特殊环境提供特殊的解决方案。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。LoadRunner提供了3大主要模块,这3个模块既可以作为独立的工具分别完成各自的功能,又可以作
3、为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试。这3大模块分别是:Virtual User Generator 用于录制性能测试脚本 LoadRunner Controller 用于创建、运行和监控场景 LoadRunner Analysis 用于分析性能测试结果 LoadRunner的安装过程比较简单,运行setup.exe,点击“LoadRunner完整安装”,按照向导逐步安装就可以了。提示:建议安装过程关闭360等杀毒软件。否则可能出现安装后,用Controller创建场景报错:Failed to Connect to LoadRunner Controll
4、er,控制器无法使用。,LoadRunner简介,LoadRunner 常用术语:1.场景(Scenario):场景即测试场景。在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Load Generator)、设置执行时间等。2.负载发生器(Load Generator):用来产生压力的机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个Controller控制多个Load Generator以对被
5、测试系统进行加压。3.虚拟用户(Virtual User/Vuser):对应于现实中的真实用户,使用LoadRunner模拟的用户称为虚拟用户。性能测试模拟多个用户操作可以理解为:这些虚拟用户在跑脚本,以模拟多个真正用户的行为。4.虚拟用户脚本(Vuser script):通过Vuser Generator录制或开发的脚本。这些脚本用来模拟用户的行为。,LoadRunner简介,5.事务(Transaction):测试人员可以将一个或多个操作步骤定义为一个事务,可以通俗的理解事务为“人为定义的一系列请求(请求可以是一个或者多个)”。在程序上,事务表现为被开始标记和结束标记圈定的一段代码区块。L
6、oadrunner根据事务的开头和结尾标记,计算事务响应时间、成功/失败的事务数。6.思考时间(Think Time):即请求间的停顿时间。实际中,用户在进行一个操作后往往会停顿然后再进行下一个操作,为了更真实的模拟这种用户行为而引进该概念。在虚拟用户脚本中用函数lr_think_time()来模拟用户处理过程,执行该函数时用户线程会按照相应的time值进行等待。7.集合点(Rendezvous):设集合点是为了更好模拟并发操作。设了集合点后,运行过程中多个用户可以在集合点等待到一定条件后再一起发后续的请求。集合点在虚拟用户脚本中对应函数lr_rendezvous()。8.事务响应时间:事务响
7、应时间是一个统计量,是评价系统性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可以看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,以定位是否存在性能问题。,LoadRunner测试流程,第一步,第二步,第三步,第四步,第五步,规划测试(计划、用例),创建VU脚本,定义场景,运行场景,分析结果,LoadRunner测试流程,规划测试 确定测试要求,如并发用户数量、典型业务场景流程;测试计划;设计用例;创建Vuser脚本 使用Virtual User Generator录制、编辑和完善测试脚本。定义场景 使用LoadRunner Controller 设置测试场景。运
8、行场景 使用LoadRunner Controller 驱动、管理并监控场景的运行。分析结果 使用LoadRunner Analysis 生成报告和图表并评估性能。为了更好说明LoadRunner的功能以及测试流程,我们将在营销2.02进行一次简单的测试过程,过程中,将向您介绍如何使用LoadRunner组件(VuGen、Controller和Analysis)。,规划测试,好的测试规划,能够指导整个测试过程,以更好的收集到测试目标要求的性能数据。规划可以包括测试的计划、用例的设计、场景的设计、性能计数器设置的设计等。以下列出几点规划事项:1.测试用例:测试用例一般根据需要测试的功能进行设计,
9、这里测试过程的用例为:进入登录页面-填写用户名密码,登录-单击新增按钮-填写门店信息,保存。2.场景设计:一般情况会设计两种加压方式进行测试:瞬时加压(多人同时进行某项业务操作)与逐渐加压(多人先后进行某项业务操作,操作时间间隔根据计划设定)。这里不详细说明。3.性能计数器方面:可以收集CPU时间、内存、硬盘、网络、数据库参数、IIS参数等。这里不详细说明。,创建Vuser脚本准备,在录制脚本前,先确定性能测试各种文件的存储结构,以便后续可以清晰查找各种需要信息。使用相对路径,便于测试环境的迁移。暂未整理设置步骤,待研究 使用绝对路径(推荐放在C盘符下,理由如下:绝大多数windowns的操作
10、系统都有C盘符,更大限度的方便测试环境的迁移。但也要考虑到目标环境的C盘情况。)。如果使用绝对路径,推荐的存储结构为一个父目录存储所有当次性能测试的文件,比如这个目录名可以为“ProjectName_Perf”,然后在“ProjectName_Perf”下新建5个目录,分别存放脚本、参数文件、场景、场景运行结果、分析报告,名字分别为Test_Script、Test_Parameter_List、Test_Scenario、Test_Scenario_Result、Test_Report(这里的命名规律为:Test开头,然后加上该目录所存放内容的名称,每个单词大写字母开头,用下划线隔开)。,Lo
11、adrunner脚本开发步骤:录制基本脚本增强/编辑脚本配置运行时设置试运行脚本,创建Vuser脚本录制基本脚本,1.启动LoadRunner选择开始程序 HPLoadRunnerLoadRunner,打开HP LoadRunner11窗口。2.打开VuGen在LoadRunner Launcher窗格中,单击Create/Edit Scripts,链接启动Virtual user Generator起始页。,创建Vuser脚本录制基本脚本,3.创建一个空白Web脚本选择FileNew菜单,或点击 按钮,打开New Virtual User对话框,显示可供选择脚本的协议。,对于常用的应用软件,
12、我们可以根据被测应用是B/S结构还是C/S结构来选择协议。如果是B/S结构,就要选择Web(HTTP/HTML)协议。如果是C/S结构,则可以根据后端数据库的类型来选择,如MS SQL Server协议用于测试后台数据库为SQL Server的应用;对于没有数据库的WINDOWS应用,可以选择Windows Sockets协议。根据选择协议的不同,Virtual User Generator 会使用不同的方式和界面引导用户完成脚本的录制。我们测试环境的营销系统基于B/S结构,因此我们选择Web(HTTP/HTML)协议启动被测应用页面的对话框。,创建Vuser脚本录制基本脚本,4.录制前的设置
13、选择Web(HTTP/HTML),点击Create按钮,打开Start Recording对话框。选择的协议不同,打开的窗口就会不同,实例是针对Web录制的对话框。,Record into Action 实例可将登录营销系统存放在Vuser_init,新增门店存放在Action,注销存放在Vuser_end。,VuGen的脚本分为三个部分:Vuser_init,Action,Vuser_end。其中Vuser_init和Vuser_end都只能存在一个,而Action可分成无数多个部分,可以通过点击旁边的【new】按钮来创建Action。在迭代执行测试脚本时,Vuser_init和Vuser_
14、end中的内容只会执行一次,迭代的是Action部分。,创建Vuser脚本录制基本脚本,在Start Recording对话框,点击Options按钮,进入录制选项设置。一般要设置以下选项:,1)RecordingHTTP/HTML level中设置脚本的显示形式:URL_based script。,2)AdvancedSupport charset中设置编码格式:UTF-8;,基于浏览器的应用程序推荐使用HTML-based script。不是基于浏览器的应用程序推荐使用URL-based script。基于浏览器的应用程序中包含了JavaScript,并且该脚本向服务器发送了请求,比如Da
15、taGrid的分页按钮等,推荐使用URL-based script。基于浏览器的应用程序中使用了HTTPS安全协议,建议使用URL-based script。,提示:录制Web脚本时,生成的脚本中存在乱码该如何解决?新建脚本-选择协议(Http)-选项-高级-选择“支持字符集”并点选“UTF-8”。在回放脚本之前:Vuser-运行时设置-浏览器-浏览器仿真-更改-使用浏览器-语言下来选择“中文(中国)”。,创建Vuser脚本录制基本脚本,5.录制 在Start Recording对话框,点击OK按钮,开始录制。系统自动弹出IE,加载营销系统的登录界面。在录制的过程中,屏幕上有一个悬浮的录制工具
16、栏,是脚本录制过程中测试人员和VuGen交互的主要平台。,熟悉录制脚本工具栏:,创建Vuser脚本录制基本脚本,实例操作:登录系统新增门店注销 通过操作被测系统,操作的每一个步骤都被记录,在录制的过程中,可以在相应的步骤插入action、事务、检查点、集合点等信息。录制完成后单击 按钮,Loadrunner开始生成脚本,生成的脚本如图所示。,熟悉两种脚本查看方式:Script View 可以查看全部录制的脚本代码(左图)Tree View 可以查看每个URL获取来的页面(右图),创建Vuser脚本增强/编辑脚本,1.插入事务 插入事务是用于把功能分为若干部分,在统计性能指标时,可以对不同的事务
17、分别作统计。如果对脚本不是太熟悉,可以在录制的时候,逐步插入。也可以在录制完成之后,在脚本中插入。,在录制时插入操作为:录制某个功能开始前单击插入事务的起始点录制,直到某个功能结束插入事务的结束点。,在脚本的插入方式为:插入事务起始点:单击某个功能起始前的空白处右键鼠标insertstart transaction命名OK。系统自动在脚本语句中插入如下语句:lr_start_transaction(登录);,插入事务结束点:单击某个功能结束后的空白处右键鼠标insertend transaction命名(与起始点的名字一致)OK。系统自动在脚本语句中插入如下语句:lr_end_transact
18、ion(登录,LR_AUTO);,实例中可以分别设置两个事务:登录、新增门店。,创建Vuser脚本增强/编辑脚本,2.参数化 参数化的作用是在进行场景执行的时候,每个不同的虚拟用户可以按照参数的读取策略读取到参数值,以模拟不同用户在提交或者读取不同的数据。每个用户在界面上读取和提交的信息都不太相同,因此一般都需要参数化,其它与输入信息对应的比如用户id之类的信息也需要参数化;另外,录制环境绝大多数情况下与执行环境不一致,因此一般需要对IP、端口或者域名做参数化。,下面将分四部分来介绍参数化的方法和实施过程:确定需要参数化的常量 准备数据 对脚本进行参数化 还原初始字符串,创建Vuser脚本增强
19、/编辑脚本,确定需要参数化的常量,打开脚本后,首先要确定哪些常量需要参数化。例如我们的营销系统登录的脚本代码:,可以看出,在web_submit_data函数中,两条语句包含了两个常量:e号和密码。Name=txtUserNumber,Value=220999,ENDITEM,Name=txtPassword,Value=888888,ENDITEM,当我们想模拟多个不同的用户来运行登录脚本的时候,需要对Value=220999和Value=888888进行参数化。另外,新增门店的脚本代码中,门店名称具有必填+唯一的属性,也需要做参数化设置。其它还有哪些常量需要参数化,可以根据业务场景来确定。
20、,创建Vuser脚本增强/编辑脚本,准备数据 根据实例,我们需要准备e号、密码、门店名称这三个参数的数据。,对于e号和密码,我们准备下述可以直接登录系统(无需选择企业)的e号和密码:220999 888888210996 888888220995 888888210998 888888220990 888888220997 888888220991 888888210993 888888220994 888888220992 888888,对于门店名称,我们准备下述不同的名称:天河城东门店广百百货体育西路店正佳广场店天河城旗舰店体育西路门店石牌桥分店岗顶旗舰店天河北路分店体育东路店珠江新城总店
21、,创建Vuser脚本增强/编辑脚本,对脚本进行参数化,以e号参数化为例,参数化过程如下:1)选中220999右击鼠标在右键菜单上选择replace with a parameter。2)在弹出窗口填写参数名称,或选择一个已经存在的参数名。,常用的参数类型:Data/Time:使用当前日期/时间替换所选常量。Group Name:使用Vuser组的名称替换所选常量。Load Generator Name:使用Vuser脚本的负载发生器名替换所选常量。Iteration Number:使用当前的迭代编号替换所选常量。Random Number:使用一个随机生成的整数替换所选常量,可以通过参数属性设
22、定参数的范围。Unique Number:使用一个唯一编号替换所选常量,可以通过参数属性设定参数的第一个值和递增的规则。Vuser ID:使用运行脚本的虚拟用户ID来代替选择的常量。File:采用外部的数据来代替,可以使用单独的文件,也可以使用现成的数据库中获取数据。User Defined Function:从用户开发的dll文件中获取数据。,实例中填写参数名称:UserNumber;选择参数类型File,来写入已准备好的数据。,创建Vuser脚本增强/编辑脚本,3)单击窗口的properties按钮,设置parameter的properties。,文件File:参数化结束后,脚本保存的根目
23、录下会自动生成一个 以参数名称命名的 参数文件;也可以直接选择一个已准备好的参数文件。选择参数列Select Column:By number:以列号为参数列。By name:以列名为参数列。文件格式:Column:参数之间的分隔符:逗号、空格、Tab。First data:从第几行读取数据。选择参数分配方法Select next row:Sequential:顺序的分配Vuser参数值。当正在运行的Vuser访问数据表格时,它将会提取下一个可用的数据行。Random:当脚本开始运行时,“随机”的为每个Vuser分配一个数据表格中的随机值。Unique:为Vuser的参数分配一个“唯一”的顺序
24、值。注意,参数数量一定要大于等于“Vuser量*迭代数量”。选择参数更新方法Update value on:Each iteration:脚本每次迭代都顺序的使用数据表格中的下一个新值。Each occurrence:在迭代中只要遇到该参数就重新取值。Once:在所有的迭代中都使用同一个值。当超出范围时When out of values:(选择数据为unique时才可用到)Abort Vuser:中止。Continue in a cyclic manner:继续循环取值。Continue with last value:取最后一个值。,设置完成后,被参数化的值会被参数名代替。实例中设置参数名
25、为UserNumber,脚本原先220999部分变为了紫红色的UserNumber。,创建Vuser脚本增强/编辑脚本,4)如果其它地方也用到这个相同的参数,则可以进行替换。,方法一:选中需要被替换的常量右键鼠标use existing parameter选择已经存在的参数名。,方法二:选中这个设置好的参数,右键鼠标replace more occurrences逐个替换(如果确定所有都需替换可以全部替换)。,创建Vuser脚本增强/编辑脚本,还原初始字符串,通过VuGen,可以还原最初录制的字符串从而撤消参数化。方法为:在脚本视图中,右键单击该参数并选择“Restore original v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 基础

链接地址:https://www.31ppt.com/p-2932368.html