您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > Loadrunner性能测试工具使用
LoadRunner简介LoadRunner工作原理LoadRunner安装LoadRunner的组成LoadRunner测试过程LR_开发测试脚本LR_创建运行场景LR_其他有用的设置LR_执行场景/监控场景LR_分析性能测试结果目录LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。这些都不可避免地导致公司收益的损失。MercuryInteractive的LoadRunner能让企业保护自己的收入来源,无需购置额外硬件而最大最大限度地利用现有的IT资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量可靠性和可扩展性都有良好的评价。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner简介LoadRunner工作原理LoadRunner启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,使用自带的一套C语言函数将录制下来的用户操作转化为脚本。LoadRunner调用这些脚本向服务器端发出请求,并接收服务器的响应。至于服务器内部如何处理,它不关心。LoadRunner安装安装:按照安装向导一步步执行即可。注:不要将LoadRunner安装在带有中文的路径下,LoadRunner安装时是不能识别汉字。破解:安装完成后,在安装路径的bin目录下,替换文件lm70.dll和mlr5lprg.dll。运行附件里面deletelicense.exe,删除试用版本license。打开license管理器,点击添加newlicense,将以下license复制进去,OK,验证通过!通用的license有:golba-100:AEAMAUIK-YAFEKEKJJKEEA-BCJGI(通用协议的license)golba-1000:AEACFSJI-YASEKJJKEAHJD-BCLBR(通用协议的license)web-10000:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB(只适用于HTTP/HTML协议)3LoadRunner的组成4LoadRunnerAnalysisVuGenControllerVirtualUserGenerator(VuGen)—创建脚本Controller—设计和运行场景Analysis—分析场景开发测试脚本开发测试脚本需要几个步骤,可以用下图来表示:创建用户脚本需要用到VuGen。注:运行VuGen最好在1024*768的分辨率下,否则有些工具栏会看不到。5开发测试脚本录制基本的用户脚本:启动HPVirtualUserGenerator,新建测试脚本,选择系统通讯协议,如下图以HTPP/HTML为例:注:如果系统通讯协议不只一种,可以点击“NewMultipleProtlcolScript”选择多个系统通讯协议,下图以HTTP+ODBC为例:6开发测试脚本7录制基本的用户脚本:点击上页图中的“Creat”按钮,进入StartRecording界面,选择Applicationtype、URLAddress等。VuGen中的脚本分为三部分:vuser_init、vuser_end和Action。其中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New按钮,新建ActionXXX)。在录制需要登陆的系统时,我们把登陆部分放到vuser_init中,把登陆后的操作部分放到Action中,把注销关闭登陆部分放到vuser_end中。注:如果需要在登陆操作设集合点,那么登陆操作也要放到Action中,因为vuser_init中不能添加集合点,在其他情况下,我们只要把操作部分放到Action中即可。重复执行测试脚本时,vuser_init和vuser_end中的内容只会执行一次,重复执行的只是Action中的部分。开发测试脚本8录制基本的用户脚本:点击上页图中“Options”按钮,设置脚本录制设置选项,下图中重点介绍Recording选项,其他选项默认即可。上图中有两种脚本录制方式,HTML和URL。两者的差异在于:HTML方式脚本容易维护,容易理解,推荐这种方式录制。URL方式脚本中的表示采用基于URL的方式,WAS和ACT中的录制方式就是这种,这种方式看上去比较乱。选择哪种方式录制,参考原则如下:1、基于浏览器的应用程序推荐使用HTML-basedScript。2、不是基于浏览器的应用程序推荐使用URL-basedScript。3、如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based方式录制。4、基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based方式录制。注:Correlation标签页的内容比较重要,主要是为了在录制过程中设置自动关联。单独章节讲解。开发测试脚本9录制基本的用户脚本:脚本录制设置选项设置完毕后,点击“OK”按钮,VuGen开始录制脚本。录制完成后点击“Stop”按钮,VuGen自动生成用户脚本。下面简单介绍下录制过程中的工具条各个按钮的作用,如下图所示:注:事务、集合点、注释、文本检查点可以在录制过程中插入,也可以在完善脚本时插入。在录制过程中,不要使用浏览器的“后退”功能,LoadRunner支持不太好。开发测试脚本10完善测试脚本:当用户脚本录制完成后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。一般情况下,我们通过以下方法来完善测试脚本。1、插入事务;2、插入集合点;3、插入注释;4、参数化;5、插入函数;6、插入Text/Imag检查点;7、Run-TimeSetting;8、单机调测脚本。这里重点讲解“关联”“参数化”、“插入Text/Imag检查点”、“Run-TimeSetting”、“单机调测脚本”等。关联:上一次请求响应数据库传入下一次请求中,并且这个数据每次都再变化事务(Transaction):是为了衡量服务器的性能,我们需要定义事务.注:一个事务必定对应一个开始点和一个结束点。开始点和结束点之间的代码是具体事务的操作。事务的名称最好要有意义,能够清楚的说明该事务完成的动作。集合点(Rendezvous):是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中,可能会要求系统能够承受1000人同时提交数据,在LR中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000人时,LoadRunner命令1000人同时去提交数据,从而达到测试计划中的需求。注:集合点经常和事务结合起来使用,放在事务之前。集合点只能插入到Action部分,vuser_init和vuser_end中不能插入集合点。集合点的名称最好要有意义,能够清楚的说明该集合点完成的动作。插入注释(comment):是为了增强脚本的可读性。(注:插入注释最好在脚本录制过程中)开发测试脚本11完善测试脚本_关联:为什么需要关联?因为loadruner脚本只是忠实记录了所有客户端发送服务器端的数据,并在脚本回放时按照录制的顺序将录制下来的数据重新发送出去,这种方式属于静态的脚本。在一些情况下,脚本需要动态的,如一些系统会采用sessionID/SeqID等方式来标识不同的任务(如:需要从服务器端获得一些数据,当作一个参数来构造下一次的请求),这就要求脚本上需要做相应的处理,来满足实际业务运行情况,这就是loadruner的关联技术。手工关联步骤:1、设置“RuntimeSetting”中的日志选项“Datareturnbyserver”,回放脚本,分析脚本运行失败的原因是否是因为关联造成的。2、在脚本中分析确定需要关联的动态内容。(录制两次,比较脚本的不同)3、确定要关联的动态内容的“左边界”、“右边界”和发生次数。4、在脚本适当的位置插入“web_reg_save_param”关联函数。5、在脚本中动态内容出现的地方,使用参数替换“写死”的动态内容。6、重新运行脚本,确保关联后的脚本能够运行成功。开发测试脚本12完善测试脚本_参数化:上面脚本中的0041Y00000001为登录的用户名,需要参数化,选中鼠标右击选择“RepacewithaParameter”选项,弹出以下窗口:注:参数的文件名不要使用con.dat、pm.dat或者lpt*.dat等系统装置名。开发测试脚本13完善测试脚本_参数化:如果用户在录制脚本过程中,填写提交了一些数据,这些操作将都被记录到脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样做可能会被应用程序禁止而导致出,同时这也不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际操作,需要各种各样的输入。这时就需要用到参数化用参数表示用户的脚本有两个优点:1、可以使脚本的长度变短。2、可以使用不同的数值来测试你的脚本。(eg,登录脚本中用户名和密码)参数化包含以下两项任务:1、在脚本中用参数取代常量值。2、设置参数的属性以及数据源。注:参数化仅可以用于一个函数中的参量。不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。下面通过一个事例来介绍:开发测试脚本14完善测试脚本_参数化:在上页图中点击“Properties…”按钮,可以进行参数属性设置,参数数据可以通过两种方式构造,分别为“EditwithNotepad..”(即:文本方式编辑)和“DateWizard”(即:连接数据库选取)。详细信息见附件:lr_data.rar上图参数详情界面简单介绍各个参数的含义,参数取值配置(Selectnextrow)较重要,详见附件:LR参数取值的几种配置介绍.doc注:在参数数据显示区,最多只能看到100行,如果数据超过100行,只能点“Edit”按钮,进入记事本看。开发测试脚本15完善测试脚本_插入Text/Imag检查点:在进行压力测试时,为了检查Web服务器返回的网页是否正确,VuGen允许我们插入Text/Imag检查点,这些检查点验证网页上是否存在指定的Text或者Imag,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。VuGen在测试Web时,有两种视图方式:TreeView/ScriptView。前面我们见到的一直都是ScriptView。在插入Text/Imag检查点时,用TreeView视图会比较方便。视图之间切换方式可以点击菜单栏ViewTreeView,或者通过点击工具栏中的Tree图标,如:如何进行文本检查点,详细见下面的视频附件:lr_Text检查点视频.rar,Image检查点同下视频的Text检查点,这里就不做介绍。注:如果Web窗体中包含有JavaScript脚本,那么在TreeView视图中显示可能会有问题。解决这个问题,可以设置“toolsGeneralOptionsCorrelation”选项,如下图。开发测试脚本16完善测试脚本_R
本文标题:Loadrunner性能测试工具使用
链接地址:https://www.777doc.com/doc-2885398 .html