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

下载本文档

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

文档简介

1、性能测试培训培训目的的了解常用用的性能能测试工工具了解Loadrunner目录了解Loadrunner的用户行为为模拟相相关操作作Loadrunner解惑与与经验培训内容容常用的性性能测试试工具介介绍Loadrunner目录分析析Loadrunner用户行行为模拟拟VuGen简介及录录制流程程界面介绍绍录制基本本的用户户行为完善测试试脚本开开发Runtime set单机运行行脚本其它1常用的性性能测试试工具_开源工工具OpenSTA:开源项目目,功能能强大,自定义义功能设设置完备备,但设设置通过过Script来完成。必须学学习Script编写。WAS(WebApplicationStress

2、Tool):微软的工工具,输输出结果果是纯文文本的。1常用的性性能测试试工具_商业工工具工具名称LoadRunnerQALoadWebLoad出品公司MICompuwareRadview价格昂贵较贵一般安装配置复杂性简单简单一般操作性较复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用Web Application支持平台windows,unix或linuxHP-UX, IBM AIX,Sun Solaris, Linux, NT/2kUnix Windows支持数据库DB2,SQLser

3、ver,Orcale,SybaseADO, DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc功能点创建虚拟用户,创建真实的负载,定位性能问题,分析结果以精确定位问题所在,重复测试保证系统发布的高性能等预测系统性能、通过重复测试寻找瓶颈问题、从控制中心管理全局负载测试、快速创建仿真的测试、验证应用的可扩展性。强大的专业网站性能测试,虚拟多用户虚拟用户数量成千上万成百上千理论上无限,不过受机器的限制,同时运行太多影响结果的准确性2 loadrunner目目录分析析AnalysisTemplates-分析模板板,

4、可以以自己建建一个Bin-可执行程程序,注注意里面面的CHM帮助文档档bincerts-安全证书书classes-可能用到到的一些些jar包dat-备份文件件和配置置信息ejbcomponent-ejb用的一些些组件,相关的的jar包help-帮助中心心。2 loadrunner目目录分析析include-头文件(可以编编写自定定义函数数,保存存为.h的头文件件格式,并放在在这个目目录,以以后只需需要调用用这个头头文件就就可以正正常使用用了)samples-一些实例例,有java的tutorial-快速入门门的实例例,可以以直接使使用WebTours-实例网站站template-这个目录录好像

5、好好多东西西。winpcap-一个网络络协议驱驱动的安安装程序序3.Loadrunner用户行为为模拟内内容VuGen简介及录录制流程程界面介绍绍录制基本本的用户户行为完善测试试脚本开开发插入事务务插入集合合点插入注释释参数化输输入插入函数数插入检查查点Runtime set单机运行行脚本其它3.1Loadrunner用户行为为模拟简简介Virtual UserGenerator是一种基基于录制制回放的的工具,loadrunner拥有各各种Vuser类型,每一种种类型都都 适合合于特定定的负载载测试环环境。性能测试试的第一步步也是最最重要的的一步就就是生成成虚拟用用户脚本本(VuserScri

6、pt)。在VuGen中录制得得到用户户的行为为就好比比虚拟了了一个用用户的行行为,所所以我们们称该模模拟的用用户为Vuser,这个脚脚本称为为VuserScript。注意:Vuser仅能能录制Windows平台上上的会话话,但录录制的Vuser脚本本既可以以在Windows平平台上运运行,也也可以在在UNIX平台台上运行行3.1用户行为为模拟流流程通常使用用VuGen进行用户户行为模模拟的流流程如图图所示。创建用用户脚本本需要用用到VuGen。 提示示:运运行VuGen最好在1024*768的分辨率率下,否否则有有些工具具栏会看看不到。3.2VuGen界面介绍绍内容界面简介介选择协议议类型Ta

7、sk模式3.2VuGen界面介绍绍新建一个个脚本,选择Web(HTTP/HTML)协议后后,即可可得到开开发界面面。在VuGen中提供了了两种脚脚本视图图方式(Script/Tree),可以以通过菜菜单栏的的对应按按钮进行行切换,也可以通通过View菜单下的的选项进进行切换换。Tree图形化模模式脚本模式式3.2.1VuGen界面介绍绍在Tree图形化模模式下,左侧侧会列出出该脚本本使用的的函数(双击可可以直接接使用图图形化修修改函数数),右右侧提供供了该请请求对应应的截图图(自行行编写的的脚本和和部分协协议不会会带有Snapshot截图)。一般通通过这种种视图来来检查录录制是否否正确或或进行

8、某某些函数数的图形形化修改改。在脚本模模式界面中,左侧是是脚本Action的列表,右侧是是代码部部分。从从开发方方便的角角度来说说,一般般使用这这个模式式的情况况多一些些。3.2.1VuGen界面介绍绍在屏幕的的下方提提供了OutputWindow,包含录制制、回放放、关联联等相关关信息的的输出管管理。3.2.2选择录制制协议1:默认的的新建单单协议版版本-(所以协协议选择择非常重重要)可以查看看所有协协议或按按类型来来查看对对应的可可用协议议 。2:新建多多协议版版本创建多协协议Vuser脚本本,VuGen显示所所有的可可用协议议,指定定录制所所需要的的几组协协议即可可。3:使用最最近使用用

9、过的协协议创建建脚本3.2.2协议类型型说明3.2.3Task模模式LoadRunner中的Task(称为“任务栏”或“工作流”),用于于指导新新手一步步步按照照标准的的流程录录制测试试、编辑辑测试、回放运运行测试试,最后后得到测测试结果果并进行行分析。从View菜单选选择task,加载task模式。3.3.1录制制基本的的用户行行为启动VisualUserGenerator后,通通过菜单单3.3.1录制制基本的的用户行行为新建一个个用户脚脚本,选选择系系统通讯讯的协议议。3.3.1录制制基本的的用户行行为这里我们们主要需需要测试试的是Web应用,所所以我我们需要要选择Web(HTTP/HTM

10、L)协议,确确定后后,进入入主窗体体。3.3.1录制制基本的的用户行行为直接进入入录入选选项页,启动脚脚本录制制。在此此处选择择应用的的类型,浏览器器类型,测试地地址,以以及工作作目录等等。选择要把把录制的的脚本放放到哪一一个部分分,默默认情况况下是“Action”。3.3.1录制制基本的的用户行行为也通过菜菜单,来启动动录制脚脚本的命命令。3.3.1录制制基本的的用户行行为这里简单单说明一一下:VuGen中的脚本本分为三三部分:vuser_init、vuser_end和Action。其中vuser_init和vuser_end都只能存存在一个个,不不能再分分割,而而Action还可以分分成无

11、数数多个部部分(通通过点击击New按钮,新新建ActionXXX)。注意:在在重复复执行测测试脚本本时,vuser_init和user_end中的内容容只会执执行一次次,重重复执行行的只是是Action中的部分分。3.3.1录制制基本的的用户行行为“Recordthe application startup”默认情况况下是选选中的, 说明明应用程程序一旦旦启动,VuGen就会开始始录制脚脚本;如如果没没有选中中,应应用程序序启动后后,VuGen出现以下下对话框框,并并且暂时时不会开开始录制制脚本, 用户户操作应应用程序序到需要要录制的的地方, 按下下“Record”按钮,VuGen才开始录录制

12、。3.3.1录制制基本的的用户行行为点 “Options ”按钮,进进入录录制的设设置窗体体,这这里一般般情况下下不需要要改动。3.3.1录制制基本的的用户行行为RecordingOptions标签页:默认情况况下选择择“HTML-based Script”,说明脚本本中采用用HTML页面的形形式来表表示,这这种方方式的Script脚本容易易维护, 容易易理解, 推荐荐这种方方式录制制。“URL-basedScript ”说明脚本本中的表表示采用用基于URL的方式。选选择哪种种方式录录制,有有以下下参考原原则:1基于浏览览器的应应用程序序推荐使使用HTML-based Script2不是基于于

13、浏览器器的应用用程序推推荐使用用URL-basedScript。3如果基于于浏览器器的应用用程序中中包含了了JavaScript并且该脚脚本向服服务器产产生了请请求,比比如DataGrid的分页按按钮等, 也要要使用URL-based方式录制制4基于浏览览器的应应用程序序中使用用了HTTPS安全协议议,使使用URL-based方式录制制3.3.1录制制基本的的用户行行为Advanced标签页: 一般般取默认认情况即即可。3.3.1录制制基本的的用户行行为Correlation标签页: 这里里的内容容比较重重要,需需要定定制,主主要是是为了在在录制过过程中设设置自动动关联。注意:在在录制过过程中

14、, 不要要使用浏浏览器的的“后退退”功功能,LoadRunner支持不好好!3.3.1录制制基本的的用户行行为录制过程程中,在在屏幕幕上会有有一个工工具条出出现。下下面面我们简简单介绍绍一下各各个按钮钮的功能能。3.3.1录制制基本的的用户行行为录制完成成后,按按下“结束录录制”按按钮,VuGen自动生成成用户脚脚本,退退出录录制过程程。脚脚本参考考下页的的图。3.4完完善测试试脚本当录制完完一个基基本的用用户脚本本后,在在正式式使用前前我们还还需要完完善测试试脚本, 增强强脚本的的灵活性性。一一般情况况下,我我们通通过以下下方法来来完善测测试脚本本。插入事务务插入集合合点插入注释释参数化输输

15、入插入函数数插入检查查点3.4.1插入入事务事务(Transaction):为为了衡量量服务器器的性能能,我我们需要要定义事事务。比比如: 我们们在脚本本中有一一个数据据查询操操作,为为了衡衡量服务务器执行行查询操操作的性性能,我我们把把这个操操作定义义为一个个事务, 这样样在运行行测试脚脚本时,LoadRunner运行到该该事务的的开始点点时,LoadRunner就会开始始计时, 直到到运行到到该事务务的结束束点,计计时结结束。这这个事事务的运运行时间间在结果果中会有有反映。插入事务务操作可可以在录录制过程程中进行行,也也可以在在录制结结束后进进行。LoadRunner运行在脚脚本中插插入不

16、限限数量的的事务。3.4.1插入入事务事务(Transaction):为为了衡量量服务器器的性能能,我我们需要要定义事事务。比比如: 我们们在脚本本中有一一个数据据查询操操作,为为了衡衡量服务务器执行行查询操操作的性性能,我我们把把这个操操作定义义为一个个事务, 这样样在运行行测试脚脚本时,LoadRunner运行到该该事务的的开始点点时,LoadRunner就会开始始计时, 直到到运行到到该事务务的结束束点,计计时结结束。这这个事事务的运运行时间间在结果果中会有有反映。插入事务务操作可可以在录录制过程程中进行行,也也可以在在录制结结束后进进行。LoadRunner运行在脚脚本中插插入不限限数

17、量的的事务。3.4.1插入入事务具体的操操作方法法如下: 在需需要定义义事务的的操作前前面,通通过菜菜单或者者工具栏栏插入。出现以下下对话框框:输入该事事务的名名称。注注意: 事务务的名称称最好要要有意义义,能能够清楚楚的说明明该事务务完成的的动3.4.1插入入事务插入事务务的开始始点后, 下面面需要在在需要定定义事务务的操作作后面插插入事务务的“结结束点”。同同样通过过菜单或或者工具具栏插入入。默认情况况下,事事务的的名称列列出最近近的一个个事务名名称。一一般情情况下, 事务务名称不不用修改改。事事务的状状态默认认情况下下是LR_AUTO。 一般般情况下下,我我们也不不需要修修改,除除非在在

18、手工编编代码时时,有有可能需需要手动动设置事事务的状状态。3.4.2插入入集合点点插入集合合点是为为了衡量量在加重重负载的的情况下下服务器器的性能能情况。 在测测试计划划中,可可能会会要求系系统能够够承受1000人同时提提交数据据,在在LoadRunner中可以通通过在提提交数据据操作前前面加入入集合点点,这这样当虚虚拟用户户运行到到提交数数据的集集合点时时,LoadRunner就会检查查同时有有多少用用户运行行到集合合点,如如果不不到1000人,LoadRunner就会命令令已经到到集合点点的用户户在此等等待,当当在集合合点等待待的用户户达到1000人时,LoadRunner命令1000人同

19、时去去提交数数据,从从而达达到测试试计划中中的需求求。注意:集集合点点经常和和事务结结合起来来使用。 集合合点只能能插入到到Action部分,vuser_init和vuser_end中不能插插入集合合点。3.4.2插入入集合点点具体的操操作方法法如下: 在需需要插入入集合点点的前面面,通通过菜单单或者工工具栏操操作。出现对话话框输输入该集集合点的的名称。如:SubmitQueryData注意:集集合点点的名称称最好要要有意义义,能能够清楚楚的说明明该集合合点完成成的动作作。代码码如下:3.4.3插入入注释注释的作作用就不不多说了了,不不过插入入注释最最好是在在录制过过程中。 具体体的操作作方法

20、如如下:在在需要要插入注注释的前前面,通通过菜菜单或者者工具栏栏操作。3.4.3插入入注释出现对话话框脚本中注注释的代代码如下下:3.4.4参数数化如果用户户在录制制脚本过过程中, 填写写提交了了一些数数据,比比如要要增加数数据库记记录。这这些操操作都被被记录到到了脚本本中。当当多个个虚拟用用户运行行脚本时时,都都会提交交相同的的记录, 这样样不符合合实际的的运行情情况,而而且有有可能引引起冲突突。为为了更加加真实的的模拟实实际环境境,需需要各种种各样的的输入。参数化化输入是是一种不不错的方方法。用参数表表示用户户的脚本本有两个个优点: 可以以使脚本本的长度度变短。 可以以使用不不同的数数值来

21、测测试你的的脚本。参数化包包含以下下两项任任务:在在脚本本中用参参数取代代常量值值。设设置参数数的属性性以及数数据源3.4.4参数数化参数化仅仅可以用用于一个个函数中中的变量量。你你不能用用参数表表示非函函数参数数的字符符串。假假如如有以上上的一个个提交数数据的窗窗体,我我们想想参数化化高亮显显示的部部分(31)。操操作方法法很简单单,我我们只要要选中“31”, 然后后点鼠标标右键3.4.4参数数化选择“Replace withaparameter. ”,出现以下下窗口:介绍一下下参数的的类型。DateTime: 很简简单,在在需要要输入日日期/时间的地地方,可可以用用DateTime类型来替

22、替代。属属性设置置也很简简单,选选择一一种格式式即可。 当然然也可以以定制格格式。GroupName: 暂时时不知道道何处能能用到, 但设设置比较较简单。 在实实际运行行中,LoadRunner使用该虚虚拟用户户所在的的VuserGroup来代替。 但是是在VuGen中运行时时,GroupName将会是None 。3.4.4参数数化Load GeneratorName:在实际运运行中,LoadRunner使用该虚虚拟用户户所在Load Generator的机器名名来代替替。IterationNumber:在实际运运行中,LoadRunner使用该测测试脚本本当前循循环的次次数来代代替。Rand

23、omNumber:随机数。 很简简单。在在属性性设置中中可以设设置产生生随机数数的范围围UniqueNumber:唯一的数数。在在属性设设置中可可以设置置第一个个数以及及递增的的数的大大小。注意:使使用该参参数类型型必须注注意可以以接受的的最大数数。例如如:某个个文本框框能接受受的最大数为为99。当使用用该参数数类型时时,设置置第一个个数为1,递增的的数为1,但100个虚拟用用户同时时运行时时,第100个虚拟用用户输入入的将是是100,这样脚脚本运行行将会出出错。注意:这这里说的的递增意意思是各各个用户户取第一一个值的的递增数数,每个个用户相相邻的两两次循环之间的的差值为为1。举例说说明:假假

24、如起始始数为1,递增为为5,那么第第一个用用户第一一次循环取取值1,第二次次循环取取值2;第二个个用户第第一次循循环取值值为6,第二次次为7;依次类类推。3.4.4参数数化VuserID:设置比比较简单单。在实实际运行行中,LoadRunner使用该虚虚拟用户户的ID来代替,该ID是由Controller来控制的的。但是是在VuGen中运行时时,VuserID将会是1。File:需要在在属性设设置中编编辑文件件,添加加内容,也可以以从现成成的数据据库中取取数据(下面我我们将会会介绍)User DefinedFunction:从用户户开发的的dll文件提取取数据。就目前前我认为为,这种种方式没没

25、有必要要。VuGen支持C语言的语语法,在在VuGen中重新编编写类似似的函数数应该不不难。3.4.4参数数化:取取随机数数点“Properties.”按钮,进进行属性性设置窗窗口添入随机机数的取取值范围围为(1-50),选择择一种数数据格式式。在UpdateValueon中有以下下几个选项:EachOccurrence:在运行行时,每每遇到一一次该参参数,便便会取一一个新的的值Eachiteration:运行时时,在每每一次循循环中都都取相同同的值Once:运行时时,在每每次循环环中,该该参数只只取一次次值这里我们们用的是是随机数数,选择择Each Occurrence非常合适适。3.4.4

26、参数数化:参数化的的数据选择要参参数化的的数据,右键,选择“Replace withaparameter.”,出现以以下窗口口:注意:参参数的文文件名不不要使用用con.dat、pm.dat或者lpt*.dat等系统装装置名3.4.4参数数化:参数化的的数据下面我们们将会连连接数据据库,从从数据表表中选择择用户名名。点“Data Wizard”按钮添入连接接字符串串和SQL语句后,点Finish按钮,出出现查询询结果。3.4.4参数数化:参数化的的数据提醒:在在参数数数据显示示区,最最多只能能看到100行,如果果数据超超过100行,只能能点“Edit”按钮,进进入记事事本看。3.4.4参数数化

27、“Selectnextrow”有以下几几种选择择:Sequential:按照顺顺序一行行行的读读取。每每一个虚虚拟用户户都会按按照相同同的顺序序读取。Random:在每次次循环里里随机的的读取一一个,但但是在循循环中一一直保持持不变。Unique:唯一的的数。注意:使使用该类类型必须须注意数数据表有有足够多多的数。比如Controller中设定20个虚拟用用户进行行5次循环,那么编编号为1的虚拟用用户取前前5个数,编编号为2的虚拟用用户取6-10的数,依依次类推推,这样样数据表表中至少少要有100个数据,否则Controller运行过程程中会返返回一个个错误。Same LineAs某个参数数(

28、比如如Name):和前前面定义义的参数数Name取同行的的记录。通常用用在有关关联性的的数据上上面。说明:一一般情况况下,我我们这里里取值Sequential即可。Advance roweach iteration选中即可可,表示示每一次次循环都都往前走走一行。3.4.5插入入函数VuGen中可以使使用C语言中比比较标准准的函数数和数据据类型,语法和和C语言相同同。下面面简单介介绍一下下比较常常用的函函数和数数据类型型。1.控制脚本本流程if else for while总之C语言的控控制流程程的语句句这里都都可以直直接使用用3.4.5插入入函数2.字符串函函数由于在VuGen脚本中使使用最多

29、多的还是是字符串串,所以以字符串串函数在在脚本中中使用非非常频繁繁。具体体的语法法请参考考帮助说说明。strcmp比较两个个字符串串strcat连接两个个字符串串strcpy拷贝字符符串注意:在在VuGen中,以char*声明的字字符串是是只读的的,如果果试图给给char*类型的字字符串赋赋值的话话,编译译会通过过,但在在运行时时会产生生“AccessViolation”的错误误。解决决这类问问题,就就是把字字符串声声明为字字符数组组,比如如char100。3.4.5插入入函数3.输出函数数输出函数数在调试试脚本时时非常有有用。lr_output_message输出一条条消息4.LoadRun

30、ner提供的标标准函数数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,还可以以测试在在比较大

31、大的压力力测试环环境中,被测的的网站功功能是否否保持正正确。检检查点的的含义和和WinRunner中的检查查点功能能基本上上一致,这里就就不再作作过多的的说明。VuGen在测试Web时,有两两种视图图方式:TreeView/ScriptView。前面我我们见到到的一直直都是ScriptView。在插入入Text/Imag检查点时时,我觉觉得用TreeView视图会比比较方便便。在这这种视图图之间切切换,可可以通过过菜单或或者工具具栏的方方式3.4.6插入入检查点点3.4.6插入入检查点点我们就切切换到TreeView视图插入检查查点的步步骤比较较简单。添加Text/Imag检查点,可以在在录制

32、过过程中,也可以以在录制制完成后后进行。推荐最好好能在录录制过程程中添加加Text/Imag检查点。3.4.6插入入检查点点先在树形形菜单中中选择需需要插入入检查点点的一项项,然后后点鼠标标右键,选择将将检查点点插到该该操作执执行前还还是该操操作执行行后。如如果在该该操作执执行前,则选择择“InsertBefore”,否则选选择“InsertAfter”。3.4.6插入入检查点点然后弹出出对话框框,如下下,选择择“Text Check”(这里里以Text检查点为为例说明明)出现现Text Check Properties对话框注意:这这里要搜搜索的字字符串可可以使用用正则表表达式。3.4.6插入入检查点点然后切换换到“General”标签页确定后,即可完完成添加加Text检查点的的任务。3.4.

温馨提示

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

评论

0/150

提交评论