性能测试loadrunner详细讲解_第1页
性能测试loadrunner详细讲解_第2页
性能测试loadrunner详细讲解_第3页
性能测试loadrunner详细讲解_第4页
性能测试loadrunner详细讲解_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

性能测试培训培训目的了解常用的性能测试工具了解Loadrunner目录了解Loadrunner的用户行为模拟相关操作Loadrunner解惑与经验培训内容常用的性能测试工具介绍Loadrunner目录分析Loadrunner用户行为模拟VuGen简介及录制流程界面介绍录制基本的用户行为完善测试脚本开发Runtimeset单机运行脚本其它

1常用的性能测试工具_开源工具OpenSTA:开源项目,功能强大,自定义功能设置完备,但设置通过Script来完成。必须学习Script编写。WAS(WebApplicationStressTool):微软的工具,输出结果是纯文本的。1常用的性能测试工具_商业工具

工具名称LoadRunnerQALoadWebLoad出品公司MICompuwareRadview价格昂贵较贵一般安装配置复杂性简单简单一般操作性较复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用WebApplication支持平台windows,unix或linuxHP-UX,IBMAIX,SunSolaris,Linux,NT/2kUnixWindows支持数据库DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc功能点创建虚拟用户,创建真实的负载,定位性能问题,分析结果以精确定位问题所在,重复测试保证系统发布的高性能等预测系统性能、通过重复测试寻找瓶颈问题、从控制中心管理全局负载测试、快速创建仿真的测试、验证应用的可扩展性。强大的专业网站性能测试,虚拟多用户虚拟用户数量成千上万成百上千理论上无限,不过受机器的限制,同时运行太多影响结果的准确性2loadrunner目录分析AnalysisTemplates----分析模板,可以自己建一个Bin-----可执行程序,注意里面的CHM帮助文档bincerts--安全证书classes--可能用到的一些jar包dat--备份文件和配置信息ejbcomponent--ejb用的一些组件,相关的jar包help--帮助中心。2loadrunner目录分析include--头文件(可以编写自定义函数,保存为.h的头文件格式,并放在这个目录,以后只需要调用这个头文件就可以正常使用了)samples---一些实例,有java的tutorial---快速入门的实例,可以直接使用WebTours--实例网站template--这个目录好像好多东西。winpcap--一个网络协议驱动的安装程序3.Loadrunner用户行为模拟内容VuGen简介及录制流程界面介绍录制基本的用户行为完善测试脚本开发插入事务插入集合点插入注释参数化输入插入函数插入检查点Runtimeset单机运行脚本其它3.1Loadrunner用户行为模拟简介VirtualUserGenerator是一种基于录制回放的工具,loadrunner拥有各种Vuser类型,每一种类型都适合于特定的负载测试环境。性能测试的第一步也是最重要的一步就是生成虚拟用户脚本(VuserScript)。在VuGen中录制得到用户的行为就好比虚拟了一个用户的行为,所以我们称该模拟的用户为Vuser,这个脚本称为VuserScript。注意:Vuser仅能录制Windows平台上的会话,但录制的Vuser脚本既可以在Windows平台上运行,也可以在UNIX平台上运行3.1用户行为模拟流程通常使用VuGen进行用户行为模拟的流程如图所示。创建用户脚本需要用到VuGen。提示:运行VuGen最好在1024*768的分辨率下,否则有些工具栏会看不到。3.2VuGen界面介绍内容容界面简介选择协议类型型Task模式式3.2VuGen界面介绍新建一个脚本本,选择Web(HTTP/HTML)协议后,即即可得到开发发界面。在VuGen中提供了两种种脚本视图方方式(Script/Tree),可以通过过菜单栏的对对应按钮进行行切换,也可以通过View菜单下的选项项进行切换。。Tree图形化模式脚本模式界面介绍在Tree图形化模式下,左侧会列列出该脚本使使用的函数((双击可以直直接使用图形形化修改函数数),右侧提提供了该请求求对应的截图图(自行编写写的脚本和部部分协议不会会带有Snapshot截图)。一般般通过这种视视图来检查录录制是否正确确或进行某些些函数的图形形化修改。在脚本模式界面中,左侧侧是脚本Action的列表,右侧侧是代码部分分。从开发方方便的角度来来说,一般使使用这个模式式的情况多一一些。界面介绍在屏幕的下方方提供了OutputWindow,包含录制、回回放、关联等等相关信息的的输出管理。。选择录制协议议1:默认的新建建单协议版本本---(所以协议选选择非常重要要)可以查看所有有协议或按类类型来查看对对应的可用协协议。2:新建多协议议版本创建多协议Vuser脚脚本,VuGen显示所所有的可用协协议,指定录录制所需要的的几组协议即即可。3:使用最近使使用过的协议议创建脚本协议类型说明明3.2.3Task模式式LoadRunner中的Task(称为“任务栏”或“工作流”),用于指导导新手一步步步按照标准的的流程录制测测试、编辑测测试、回放运运行测试,最最后得到测试试结果并进行行分析。从View菜单单选择task,加载task模式式。录录制基本的用用户行为启动VisualUserGenerator后,通过菜菜单录录制基本的用用户行为新建一个用户户脚本,选选择系统通讯讯的协议。录录制基本的用用户行为这里我们主要要需要测试的的是Web应用,所以以我们需要选选择Web(HTTP/HTML)协议,确定定后,进入主主窗体。录录制基本的用用户行为直接进入录入入选项页,启启动脚本录制制。在此处选选择应用的类类型,浏览器器类型,测试试地址,以及及工作目录等等。选择要把录制制的脚本放到到哪一个部分分,默认情情况下是“Action”。录录制基本的用用户行为也通过菜单,,来启动录录制脚本的命命令。录录制基本的用用户行为这里简单说明明一下:VuGen中的脚本分为为三部分:vuser_init、vuser_end和Action。其中vuser_init和vuser_end都只能存在一一个,不能能再分割,而而Action还可以分成无无数多个部分分(通过点击击New按钮,新建建ActionXXX)。注意:在重重复执行测试试脚本时,vuser_init和user_end中的内容只会会执行一次,,重复执行行的只是Action中的部分。录录制基本的用用户行为“Recordtheapplicationstartup””默认情况下是是选中的,说说明应用程程序一旦启动动,VuGen就会开始录制制脚本;如如果没有选中中,应用程程序启动后,,VuGen出现以下对话话框,并且且暂时不会开开始录制脚本本,用户操操作应用程序序到需要录制制的地方,按按下“Record”按钮,VuGen才开始录制。。录录制基本的用用户行为点“Options”按钮,进入入录制的设置置窗体,这这里一般情况况下不需要改改动。录录制基本的用用户行为RecordingOptions标签页:默认情况下选选择“HTML-basedScript”,说明脚本中采采用HTML页面的形式来来表示,这这种方式的Script脚本容易维护护,容易理理解,推荐荐这种方式录录制。

“URL-basedScript”说明脚本中的的表示采用基基于URL的方式。选选择哪种方方式录制,有有以下参考考原则:1基于浏览器的的应用程序推推荐使用HTML-basedScript

2不是基于浏览览器的应用程程序推荐使用用URL-basedScript。3如果基于浏览览器的应用程程序中包含了了JavaScript并且该脚本向向服务器产生生了请求,比比如DataGrid的分页按钮等等,也要使使用URL-based方式录制4基于浏览器的的应用程序中中使用了HTTPS安全协议,使使用URL-based方式录制录录制基本的用用户行为Advanced标签页:一一般取默认情情况即可。录录制基本的用用户行为Correlation标签页:这这里的内容比比较重要,需需要定制,,主要是为为了在录制过过程中设置自自动关联。注意:在录制制过程中,不不要使用浏浏览器的“后后退”功能能,LoadRunner支持不好!录录制基本的用用户行为录制过程中,,在屏幕上上会有一个工工具条出现。。

下面我我们简单介绍绍一下各个按按钮的功能。。录录制基本的用用户行为录制完成后,,按下“结结束录制”按按钮,VuGen自动生成用户户脚本,退退出录制过程程。脚本参参考下页的图图。3.4完善测测试脚本当录制完一个个基本的用户户脚本后,在在正式使用用前我们还需需要完善测试试脚本,增增强脚本的灵灵活性。一一般情况下,,我们通过过以下方法来来完善测试脚脚本。插入事务插入集合点插入注释参数化输入插入函数插入检查点插插入事务事务(Transaction):为了衡衡量服务器的的性能,我我们需要定义义事务。比比如:我们们在脚本中有有一个数据查查询操作,为为了衡量服服务器执行查查询操作的性性能,我们们把这个操作作定义为一个个事务,这这样在运行测测试脚本时,,LoadRunner运行到该事务务的开始点时时,LoadRunner就会开始计时时,直到运运行到该事务务的结束点,,计时结束束。这个事事务的运行时时间在结果中中会有反映。。插入事务操操作可以在在录制过程程中进行,,也可以以在录制结结束后进行行。LoadRunner运行在脚本本中插入不不限数量的的事务。3.4.1插入事务务事务(Transaction):为了了衡量服务务器的性能能,我们们需要定义义事务。比比如:我我们在脚脚本中有一一个数据查查询操作,,为了衡衡量服务器器执行查询询操作的性性能,我我们把这个个操作定义义为一个事事务,这这样在运行行测试脚本本时,LoadRunner运行到该事事务的开始始点时,LoadRunner就会开始计计时,直直到运行到到该事务的的结束点,,计时结结束。这这个事务的的运行时间间在结果中中会有反映映。插入事务操操作可以在在录制过程程中进行,,也可以以在录制结结束后进行行。LoadRunner运行在脚本本中插入不不限数量的的事务。3.4.1插入事务务具体的操作作方法如下下:在需需要定义事事务的操作作前面,通通过菜单单或者工具具栏插入。。出现以下对对话框:输入该事务务的名称。。注意::事务的的名称最好好要有意义义,能够够清楚的说说明该事务务完成的动动3.4.1插入事务务插入事务的的开始点后后,下面面需要在需需要定义事事务的操作作后面插入入事务的““结束点””。同样样通过菜单单或者工具具栏插入。。默认情况下下,事务务的名称列列出最近的的一个事务务名称。一一般情况况下,事事务名称不不用修改。。事务的的状态默认认情况下是是LR_AUTO。一般情情况下,我我们也不不需要修改改,除非非在手工编编代码时,,有可能能需要手动动设置事务务的状态。。3.4.2插入集合合点插入集合点点是为了衡衡量在加重重负载的情情况下服务务器的性能能情况。在在测试计计划中,可可能会要要求系统能能够承受1000人同时提交交数据,在在LoadRunner中可以通过过在提交数数据操作前前面加入集集合点,这这样当虚虚拟用户运运行到提交交数据的集集合点时,,LoadRunner就会检查同同时有多少少用户运行行到集合点点,如果果不到1000人,LoadRunner就会命令已已经到集合合点的用户户在此等待待,当在集集合点等待待的用户达达到1000人时,LoadRunner命令1000人同时去提提交数据,,从而达达到测试计计划中的需需求。注意:集集合点经常常和事务结结合起来使使用。集集合点只能能插入到Action部分,vuser_init和vuser_end中不能插入入集合点。。3.4.2插入集合合点具体的操作作方法如下下:在需需要插入集集合点的前前面,通通过菜单或或者工具栏栏操作。。出现对话框框输入该该集合点的的名称。如:SubmitQueryData注意:集集合点的名名称最好要要有意义,,能够清清楚的说明明该集合点点完成的动动作。代码码如下:3.4.3插入注释释注释的作用用就不多说说了,不不过插入注注释最好是是在录制过过程中。具具体的操操作方法如如下:在在需要插入入注释的前前面,通通过菜单或或者工具栏栏操作。3.4.3插入注释释出现对话框框脚本中注释释的代码如如下:3.4.4参数化如果用户在在录制脚本本过程中,,填写提提交了一些些数据,比比如要增增加数据库库记录。这这些操作作都被记录录到了脚本本中。当当多个虚拟拟用户运行行脚本时,,都会提提交相同的的记录,这这样不符符合实际的的运行情况况,而且且有可能引引起冲突。。为了更更加真实的的模拟实际际环境,需需要各种种各样的输输入。参数数化输入是是一种不错错的方法。。用参数表示示用户的脚脚本有两个个优点:①①可可以使脚本本的长度变变短。②②可以以使用不同同的数值来来测试你的的脚本。参数化包含含以下两项项任务:①①在在脚本中用用参数取代代常量值。。

②设设置参数数的属性以以及数据源源3.4.4参数化参数化仅可可以用于一一个函数中中的变量。。你不能能用参数表表示非函数数参数的字字符串。假假如有有以上的一一个提交数数据的窗体体,我们们想参数化化高亮显示示的部分((31)。操作作方法很简简单,我我们只要选选中“31”,然后点点鼠标右键键3.4.4参数化选择“Replacewithaparameter.”,出现以下窗窗口:介绍一下参参数的类型型。DateTime:很简单单,在需需要输入日日期/时间的地方方,可以以用DateTime类型来替代代。属性设设置也很简简单,选选择一种格格式即可。。当然也也可以定制制格式。GroupName:暂时不不知道何处处能用到,,但设置置比较简单单。在实实际运行中中,LoadRunner使用该虚拟拟用户所在在的VuserGroup来代替。但但是在VuGen中运行时,,GroupName将会是None。。3.4.4参数化LoadGeneratorName:在实际运行行中,LoadRunner使用该虚拟拟用户所在在LoadGenerator的机器名来来代替。IterationNumber:在实际运行行中,LoadRunner使用该测试试脚本当前前循环的次次数来代替替。RandomNumber:随机数。很很简单。。在属性性设置中可可以设置产产生随机数数的范围UniqueNumber:唯一的数。。在属性性设置中可可以设置第第一个数以以及递增的的数的大小小。注意:使用用该参数类类型必须注注意可以接接受的最大大数。例如如:某个文文本框能接接受的最大数为99。当使用该该参数类型型时,设置置第一个数数为1,递增的数数为1,但100个虚拟用户户同时运行行时,第100个虚拟用户户输入的将将是100,这这样样脚脚本本运运行行将将会会出出错错。。注意意::这这里里说说的的递递增增意意思思是是各各个个用用户户取取第第一一个个值值的的递递增增数数,,每每个个用用户户相相邻邻的的两两次次循循环之之间间的的差差值值为为1。举举例例说说明明::假假如如起起始始数数为为1,递递增增为为5,那那么么第第一一个个用用户户第第一一次循循环环取取值值1,第第二二次次循循环环取取值值2;第第二二个个用用户户第第一一次次循循环环取取值值为为6,第第二二次次为为7;依依次次类类推推。。参参数数化化VuserID:设设置置比比较较简简单单。。在在实实际际运运行行中中,,LoadRunner使用用该该虚虚拟拟用用户户的的ID来代代替替,,该该ID是由由Controller来控控制制的的。。但但是是在在VuGen中运运行行时时,,VuserID将会会是是–1。File:需需要要在在属属性性设设置置中中编编辑辑文文件件,,添添加加内内容容,,也也可可以以从从现现成成的的数数据据库库中中取取数数据据((下下面面我我们们将将会会介介绍绍))UserDefinedFunction:从从用用户户开开发发的的dll文件件提提取取数数据据。。就就目目前前我我认认为为,,这这种种方方式式没没有有必必要要。。VuGen支持持C语言言的的语语法法,,在在VuGen中重重新新编编写写类类似似的的函函数数应应该该不不难难。。参参数数化化::取取随随机机数数点““Properties……..””按钮钮,,进进行行属属性性设设置置窗窗口口添入入随随机机数数的的取取值值范范围围为为((1-50),,选选择择一一种种数数据据格格式式。。在在UpdateValueon中有有以以下下几几个选选项项::EachOccurrence:在在运运行行时时,,每每遇遇到到一一次次该该参参数数,,便便会会取取一一个个新新的的值值Eachiteration:运运行行时时,,在在每每一一次次循循环环中中都都取取相相同同的的值值Once:运运行行时时,,在在每每次次循循环环中中,,该该参参数数只只取取一一次次值值这里里我我们们用用的的是是随随机机数数,,选选择择EachOccurrence非常常合合适适。。参参数数化化::参数数化化的的数数据据选择择要要参参数数化化的的数数据据,,右右键键,,选选择择““Replacewithaparameter.””,出出现现以以下下窗窗口口::注意意::参参数数的的文文件件名名不不要要使使用用con.dat、pm.dat或者者lpt*.dat等系系统统装装置置名名参参数数化化::参数数化化的的数数据据下面面我我们们将将会会连连接接数数据据库库,,从从数数据据表表中中选选择择用用户户名名。。点点““DataWizard”按按钮钮添入入连连接接字字符符串串和和SQL语句句后后,,点点Finish按钮钮,,出出现现查查询询结结果果。。参参数数化化::参数数化化的的数数据据提醒醒::在在参参数数数数据据显显示示区区,,最最多多只只能能看看到到100行,,如如果果数数据据超超过过100行,,只只能能点点““Edit”按钮钮,,进进入入记记事事本本看看。。参参数数化化“Selectnextrow”有以以下下几几种种选选择择::Sequential:按按照照顺顺序序一一行行行行的的读读取取。。每每一一个个虚虚拟拟用用户户都都会会按按照照相相同同的的顺顺序序读读取取。。Random:在在每每次次循循环环里里随随机机的的读读取取一一个个,,但但是是在在循循环环中中一一直直保保持持不不变变。。Unique:唯一的的数。注意:使使用该类类型必须须注意数数据表有有足够多多的数。。比如Controller中设定20个虚拟用用户进行行5次循环,,那么编编号为1的虚拟用用户取前前5个数,编编号为2的虚拟用用户取6-10的数,依依次类推推,这样样数据表表中至少少要有100个数据,,否则Controller运行过程程中会返返回一个个错误。。SameLineAs某个参数数(比如如Name):和前前面定义义的参数数Name取同行的的记录。。通常用用在有关关联性的的数据上上面。说明:一一般情况况下,我我们这里里取值Sequential即可。Advanceroweachiteration选中即可可,表示示每一次次循环都都往前走走一行。。3.4.5插入入函数VuGen中可以使使用C语言中比比较标准准的函数数和数据据类型,,语法和和C语言相同同。下面面简单介介绍一下下比较常常用的函函数和数数据类型型。1.控制脚本本流程if{}else{}for{}while{}………………总之C语言的控控制流程程的语句句这里都都可以直直接使用用3.4.5插入入函数2.字符串函函数由于在VuGen脚本中使使用最多多的还是是字符串串,所以以字符串串函数在在脚本中中使用非非常频繁繁。具体体的语法法请参考考帮助说说明。strcmp比较两个个字符串串strcat连接两个个字符串串strcpy拷贝字符符串注意:在在VuGen中,以char*声明的字字符串是是只读的的,如果果试图给给char*类型的字字符串赋赋值的话话,编译译会通过过,但在在运行时时会产生生“AccessViolation”的错误误。解决决这类问问题,就就是把字字符串声声明为字字符数组组,比如如char[100]。3.4.5插入入函数数3.输出函函数输出函函数在在调试试脚本本时非非常有有用。。lr_output_message输出一一条消消息4.LoadRunner提供的的标准准函数数lr_eval_string该函数数功能能是得得到参参数((参数数化输输入中中)当当前的的值exg:lr_output_message("temp=%s",lr_eval_string("{WCSParam2}"));lr_save_string该函数数功能能是把把一个个字符符串保保存到到参数数中exg:lr_save_string("439","WCSParam3");3.4.6插入入检查查点在进行行压力力测试试时,,为了了检查查Web服务器器返回回的网网页是是否正正确,,VuGen允许我我们插插入Text/Imag检查点点,这这些检检查点点验证证网页页上是是否存存在指指定的的Text或者Imag,还可可以测测试在在比较较大的的压力力测试试环境境中,,被测测的网网站功功能是是否保保持正正确。。检查查点的的含义义和WinRunner中的检检查点点功能能基本本上一一致,,这里里就不不再作作过多多的说说明。。VuGen在测试试Web时,有有两种种视图图方式式:TreeView/ScriptView。前面面我们们见到到的一一直都都是ScriptView。在插插入Text/Imag检查点点时,,我觉觉得用用TreeView视图会会比较较方便便。在在这种种视图图之间间切换换,可可以通通过菜菜单或或者工工具栏栏的方方式3.4.6插入入检查查点3.4.6插入入检查查点我们就就切换换到TreeView视图插入检检查点点的步步骤比比较简简单。。添加加Text/Imag检查点点,可可以在在录制制过程程中,,也可可以在在录制制完成成后进进行。。推荐最最好能能在录录制过过程中中添加加Text/Imag检查点点。3.4.6插入入检查查点先在树树形菜菜单中中选择择需要要插入入检查查点的的一项项,然然后点点鼠标标右键键,选选择将将检查查点插插到该该操作作执行行前还还是该该操作作执行行后。。如果果在该该操作作执行行前,,则选选择““InsertBefore”,否则则选择择“InsertAfter”。3.4.6插入入检查查点然后弹弹出对对话框框,如如下,,选择择“TextCheck”(这这里以以Text检查点点为例例说明明)出出现TextCheckProperties对话框框注意::这里里要搜搜索的的字符符串可可以使使用正正则表表达式式。3.4.6插入入检查查点然后切切换到到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论