LoadRunner培训PPT.ppt
《LoadRunner培训PPT.ppt》由会员分享,可在线阅读,更多相关《LoadRunner培训PPT.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习目标学习目标n学习目标学习目标p性能测试是什么p性能测试的类型pLoad Runner基础p性能测试的范畴p性能指标介绍p性能测试过程p性能调优介绍性能测试是什么?性能测试是什么?n定义p性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。p负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。n在线用户数在线用户数p在线用户数是指同时登录应用系统的用户数量
2、。p该数据可通过检查系统应用与数据库连接取得。p对于已投产系统,该数量一般通过系统跟踪监控获取。p新投产系统通过经验值估算。性能测试是什么?性能测试是什么?n并发用户数并发用户数n并发主要是针对服务器而言,是否并发的关键是看用户操作是否对服务器产生了影响。因此,并发用户数量的正确理解为:在同一时刻与服务器进行了交互的在线用户数量,这种交互既可以是单向的传输数据,也可以是双向的传送数据。并发用户数是指系统运行期间同一时刻进行业务操作的用户数量。该数量取决于用户操作习惯、业务操作间隔和单笔交易的响应时间。使用频率较低的应用系统并发用户数一般为在线用户数的5%左右。使用频率较高的应用系统并发用户数一
3、般为主线用户数的10%左右。n交易交易p交易分为业务层面和技术层面两种定义。p业务层面交易是指完成一次完整的业务操作,如进行一次查询、转账。p技术层面交易是指进行一次应用程序至应用程序、或者应用程序至数据库的系统操作。p一般的一笔业务交易由多笔技术交易组成。根据业务交易的复杂度和系统应用架构的不同,其比例大致为1:2 -1:10性能测试类型性能测试类型n负载测试负载测试 n压力测试压力测试 n疲劳强度测试疲劳强度测试 n大数据量测试大数据量测试 性能测试类型性能测试类型n负载测试负载测试(Load Test)(Load Test)通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能满
4、足性能指标的情况下指标的情况下,系统所能承受的最大负载量的测试。 n压力测试压力测试(Stress Test)(Stress Test)通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态处于失效状态,并以此来获得系统能够提供的最大服务级别的测试。 压力测试是一种特定类型的负载测试。性能测试类型性能测试类型n疲劳强度测试疲劳强度测试通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以反映出系统的性能问题,例如内存泄漏等。 n
5、大容量测试大容量测试(Volume Test)(Volume Test)对特定存储、传输、统计、查询业务的测试。LoadRunnerLoadRunner基础基础nLoadRunnerLoadRunner常用的版本有哪些?常用的版本有哪些?l V7.8 V8.0 V8.1 V9.0 V9.1 V9.5 V11nLoadRunnerLoadRunner是那个公司的产品?是那个公司的产品?l Mecury公司,现为HP收购 世界500强的企业中,有75%的企业使用其产品l Test Director 9.0版本称为QC(Mercury Quality Center)l Win Runner l Lo
6、ad Runner l Quick Test Professional (QTP)nLoadrunnerLoadrunner支持哪些常用的插件?支持哪些常用的插件?l .net 和JBuilder 两种插件 nLoadrunnerLoadrunner常用的开发语言是什么?常用的开发语言是什么?l CLoadRunnerLoadRunner基础基础LoadrunnerLoadrunner常用组件常用组件pVirtual User Generator(Vugen) 创建脚本pController 设计和运行场景pAnalysis 分析场景pTuning Console(LoadRunner8.0以
7、上) 调优LoadRunnerLoadRunner基础基础pLoadrunnerLoadrunner支持哪些常用协议?支持哪些常用协议? Web(HTTP/HTML) Sockets .net 协议 web services 常用数据库协议(ODBC,ORACLE,SQLSERVER 等) 邮件(SMTP、pop3) 其它协议思考问题思考问题:n为什么LR录完之后VuGen里产生不了脚本?nB/S结构的一定选择WEB(HTTP/HTML)?nC/S结构的一定是WinSocket协议?nJAVA 开发的C/S选择什么 协议,C开发的B/S如何选择协议?LoadRunner协议选择n如何选择协议?
8、很多人使用很多人使用loadrunner录制脚本时都得不到理想的结果,出现这种情况大多是由于录录制脚本时都得不到理想的结果,出现这种情况大多是由于录制脚本时选择了不当的协议。那我们在录制脚本前如何选择合适的通信协议呢?用单制脚本时选择了不当的协议。那我们在录制脚本前如何选择合适的通信协议呢?用单协议还是双协议?协议还是双协议?nLoadRunner属于应用在客户端的测试工具,在客户端模拟大量并发用户去访问服务器,从而达到给服务器施加压力的目的。所以说LoadRunner模拟的就是客户端,其脚本代表的是客户端用户所进行的业务操作,即只要脚本能表示用户的业务操作就可以。n1.LR支持多种协议,请大
9、家一定要注意,这个地方协议指的是你的Client端通过什么协议访问的Server,Client一般是面向最终使用者的,Server是第一层Server端,因为现在的体系架构中经常Server层也分多个层次,什么应用层,什么数据层等等,LR只管Client如何访问第一层Server. n2.特别要注意某些应用,例如一个Web系统,这个系统是通过ActiveX控件来访问后台的,IE只是一个容器,而ActiveX控件访问后台是通过COM/DCOM协议的,这种情况就不能使用Web协议,否则你什么也录制不到,所以,LR工程师一定要了解应用程序的架构和使用的技术。3. 象HTTPS,一般来讲一定要选择多协
10、议,但在选择具体协议的时候一定只选Web协议,这时候才能作那个端口映射。LoadRunner协议选择n通常协议选择1.对于常见的B/S系统,选择Web(Http/Html) 2.测一个C/S系统,根据C/S结构所用到的后台数据库来选择不同的协议,如果后台数据库是sybase,则采用sybaseCTlib协议,如果是SQL server,则使用MS SQL server的协议,至于oracle 数据库系统,当然就使用Oracle 2-tier协议。3.对于没有数据库的C/S(ftp,smtp)这些可以选择Windwos Sockets协议。4.至于其他的ERP,EJB(需要ejbdetector
11、.jar),选择相应的协议即可. 5. 一般可以使用Java vuser协议录制由java编写的C/S模式的软件, ,当其他协议都没有用时,只能使用winsocket协议LoadRunnerLoadRunner基础基础p设置设置Recording Options Recording Options 选项选项?(以单协议http/html为例)p菜单tools-Recording Options进入录制的设置窗体pRecording标签页:选用哪种录制方式pBrowser标签页:浏览器的选择pRecording Proxy 标签页:浏览器上的代理设置 pAdvanced 标签页:可以设置录制时的
12、think time,支持的字符集标准等1.Correlation标签页:手工设置关联,通过关联可在测试执行过程中保存动态值。使用这些设置可以配置 VuGen 在录制过程中执行的自动关联的程度。LoadRunnerLoadRunner基础基础nHTML-Based scrptHTML-Based scrpt 和和URL-Based scrptURL-Based scrpt 录制的区别录制的区别?p基于浏览器的应用程序推荐使用HTML-Based scrpt。p不是基于浏览器的应用程序推荐使用URL-Based scrpt。p如果基于浏览器的应用程序中包含了Java scrpt并且该脚本 向服务
13、器产生了请求,比如DataGrid的分页按钮等,也要使用URL-Based scrpt方式录制。p基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-Based scrpt方式录制。p录制过程中不要使用浏览器的“后退”功能,LoadRunner对其支持不太好。LoadRunnerLoadRunner基础基础n创建脚本操作步骤:创建脚本操作步骤:p启动VuGen:选择需要新建的协议脚本,可以创建单协议,或是多协议脚本p点击Start Record按钮,输入程序地址,开始进行录制p使用VuGen进行录制:创建的每个 Vuser 脚本都至少包含三部分:vuser_init、一个或多个 Act
14、ions 及vuser_end。录制期间,可以选择脚本中 VuGen 要插入已录制函数的部分。运行多次迭代的Vuser 脚本时,只有脚本的Actions部分重复,而vuser_init和vuser_end部分将不重复LoadRunnerLoadRunner基础基础n完善脚本完善脚本p插入事务插入事务 p插入集合点插入集合点 p模拟用户思考时间模拟用户思考时间p参数化输入参数化输入 p插入插入Text/Imag Text/Imag 检查点检查点 pRun-Time SettingRun-Time Setting选项选项LoadRunnerLoadRunner基础基础n插入事务插入事务(Trans
15、action)(Transaction)p事务为衡量服务器的性能,需要定义事务。pLoadRunner 运行到该事务的开始点时,LR就会开始计时,直到运行到该事务的结束点,这个事务的运行时间在结果中会有反映。p插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LR 运行在脚本中插入不限数量的事务。p在菜单中单击InsertStart Transaction后,输入事务名称,也可在录制过程中进行,在需要定义事务的操作后面插入事务的“结束点”。默认情况下,事务的名称列出最近的一个事务名称。一般情况下,事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下,我们也不需要修改状态的
16、LoadRunnerLoadRunner基础基础n插入集合点插入集合点( (RendezvousRendezvous) )n集合点:如果脚本中设置集合点,可以达到绝对的并发,但是集合点并不是并发用户的代名词,设置结合点和不设置结合点,需要看你站在什么角度上来看待并发,是整个服务器,还是提供服务的一个事务;p插入集合点是为了衡量在加重负载的情况下服务器的性能情况。p在测试计划中,可能会要求系统能够承受1000 人甚至更多同时提交数据,在LR 中可以通过在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,LR 就会检查同时有多少用户运行到集合点,从而达到测试计划中的需求。p具体的操作
17、方法如下:在需要插入集合点的前面,点击菜单InsertRendezvous,也可在录制时按插入集合点按钮p注意:集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点。LoadRunnerLoadRunner基础基础n模拟用户思考时间模拟用户思考时间p用户在执行两个连续操作期间等待的时间称为“思考时间”。pVuser 使用lr_think_time 函数模拟用户思考时间。录制 Vuser 脚本时,VuGen 将录制实际的思考时间并将相应的 lr_think_time 语句插入到 Vuser 脚本。p可以编辑已录制的 lr_t
18、hink_time 语句,也可在 脚本中手动添加更多lr_think_time 语句。p以秒为单位指定所需的思考时间LoadRunnerLoadRunner基础基础n参数化参数化p如果用户在录制脚本过程中,填写提交了一些数据,这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。为了真实的模拟实际环境,需要各种各样的输入。p录制业务流程时,VuGen 生成一个包含可以用参数替换已录制的值。这被称为脚本参数化。p参数化包含以下两项任务:p 在脚本中用参数取代常量值。p 设置参数的属性以及数据源。p注意:不是所有的函数都可以参数化的
19、。也可以将参数化的内容进行还原LoadRunnerLoadRunner基础基础n创建参数化创建参数化p选中需要参数化的内容,点击右键,选择 Replace with a parameterp在“参数名”框中键入参数的名称,或从列表中选择一个现有的参数名。p在从“参数类型”列表中选择参数类型。p点击属性,设置参数属性1.也可以点击菜单:VuserParameter List,进行添加参数,设置相应的属性LoadRunnerLoadRunner基础基础n参数的类型介绍参数的类型介绍p数据文件:文件(现有文件或者用 VuGen 或 MS Query 创建的文件)中包含的数据p分配内部数据:Vuser
20、 内部生成的数据。这包括日期/ 时间、组名、迭代编号、负载生成器名、随机编号、唯一编号和 Vuser IDp用户定义的函数:使用外部 DLL 函数生成的数据LoadRunnerLoadRunner基础基础n参数化设置属性界面参数化设置属性界面LoadRunnerLoadRunner基础基础n参数属性设置参数属性设置p定义选取列:表示指定选取哪一列的值p定义“列分隔符:用来分隔表格中的列的字符p选取下一个值的方式:表示在 Vuser 脚本执行期间如何选择表格数据。选项包括:“顺序”、“随机”和“唯一”。p从“更新值的时间”列表中选择更新选项。选项包括“每次迭代”、“每次出现”和“一次”。参数选项
21、说明参数选项说明n1.参数更新方法:n 每次出现:指示Vuser在每次参数出现时使用新值。当使用同一个参数的几个语句不相关时,该方法非常有用。例如,对于随机数据,在该参数每次出现时都使用新值可能是非常有用的。每次迭代:指示Vuser为每次脚本迭代使用新值。如果一个参数在脚本中出现了若干次,则Vuser为整个迭代中所有出现的该参数使用同一个值。当使用同一个参数的几个语句相对时,该方法非常有用。一次:指示Vuser在方案运行期间仅对参数值更新一次。Vuser为所有出现的该参数和所有迭代使用同一个参数值。当使用日期和时间时,该类型可能会非常有用。参数选项说明参数选项说明n2.“文件”类型参数选择分配
22、方法顺序: 顺序地向Vuser分配参数值。当正在运行的Vuser访问数据表格时,它将会提取下一个可用的数据行。如果在“更新 值的时间”列表框中指定了“每次迭代”,则Vuser将为每一次迭代从数据表格中提取下一个值。如果在“更新值的时间”列表框中指定了“每次出现”,则Vuser将为每一次参数的出现从数据表格中提取下一个值,即使它在同一次迭代中。如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的值就会在每个Vuser接下来所有的迭代中使用。 随机:当测试开始运行时,“随机”方法为每个Vuser分配一个数据表格中的随机值。如果在“更新值的时间”列表框中指定了“每次迭代”,则Vuser
23、将会为每一次迭代从数据表格中提取一个新的随机值。如果在“更新值的时间”列表框中指定了“每次出现”,则Vuser将为每一次参数的出现从数据表格中提取一个新的随机值,即使它在同一次迭代中。如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的随机值就会在该Vuser的所有迭代中使用。唯一:为每一个Vuser的参数分配一个唯一的属性值。如果在“更新值的时间”列表框中指定了“每次迭代”,则Vuser将为每一次迭代从数据表格中提取下一个唯一值。如果在“更新值的时间”列表框中指定了“每次出现”,则Vuser将会为每一次参数的出现从数据表格中提取一个新的唯一的值,即使它在同一次迭代中。如果在“更
24、新值的时间”列表框中指定了“一次”,则第一次迭代中分配的唯一值就会在每个Vuser的所有接下来的迭代中使用。LoadRunnerLoadRunner基础基础n从现有数据库中导入数据从现有数据库中导入数据p通过 LoadRunner,可以从数据库中导入数据以用于参数化。您可以用下列两种方法中的一种导入数据:p 新建查询p 指定 SQL 语句pVuGen 提供一个指导您完成从数据库中导入数据的过程的向导。在该向导中,您可以指定如何导入数据(通过 MS Query 新建查询或者指定 SQL 语句)。p导入数据之后,它被另存为一个扩展名为.dat 的文件,并且存储为常规参数文件。LoadRunnerL
25、oadRunner基础基础n插入插入Text/Image Text/Image 检查点检查点p在进行压力测试时,为了检查Web 服务器返回的网页是否正确,这些检查点验证网页上是否存在指定的Text 或者Image,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。p操作步骤:1、可以将视图切换到TreeView 视图2、在树形菜单中选择需要插入检查点的一项,然后点鼠标右键,选择将检查点插到该操作执行前(Insert Before)还是执行后(Insert After)。3、在弹出对话框中选择web Checks 下面的Image Check 或是 Text Check4、对需要检
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 培训 PPT
限制150内