loadrunner测试结果分析详解
文件夹
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。
今年十月份我到北京跟张坤学习性能测试知识,共花了三个星期学习loadrunner。以下是我的学习小结。
一. 什么是loadrunner loadrunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟多个用户实施并发负载测试及实时性能检测的方式来确认和查找问题,能对整个企业架构进行测试。
二. loadrunner的优点
1.轻松创建虚拟用户:通过记录下业务流程转为测试脚本,在机器上产生多个用户访问,减少负载测试需要的硬件和人力资源。
2.创建真实的负载:可以通过controller设定负载方案,如定义用户在什么时候访问系统以产生负载,所有用户同时执行一个动作来模拟峰值负载情况等。3.实时监测器:可以实时显示交易性能数据(如响应时间)和其他系统组件如数据库,网络等的实时性能。
4.分析结果以精确定位问题所在:loadrunner能收集汇总所有测试数据,提供高级的分析和报告工具。
三. loadrunner的安装与使用
1.安装过程详见上传的loadrunner使用手册,在此不再详细介绍。2.具体使用:
点击file新建录制文件,也可以点击下面的new快捷键进行新建。使用file新建,会弹出协议选择窗口,选择新的单协议脚本(new single protocol script)的web(http/html)项,确定即可(选择web项是因为我们测试的是web应用)。接着会弹出开始录制的设置项,需要写入录入系统的地址,点击确定后就会根据录入地址展现系统页面,开始录制脚本,出现小工具条:
第一个按钮为录制键 第二个为回放脚本键 第三个为停止录制键 第四个为暂停录制键 第五个为编译脚本键
第六个为创建新的action键。lr的录制脚本分为三个部分,vuser_init、vuser_end和 action。脚本循环执行时,只执行一次vuser_init和vuser_end,而多次循环action部分。比如录制投保业务时,登陆系统部分放入vuser_init,退出登陆放到vuser_end,中间的投保操作放到action中,则循环执行时就会登陆一次投保系统开始反复执行投保操作直到结束退出系统。
第七个为用来改变录制的options设置按钮
第八个和第九个为插入事务的起始点和结束点键,结合起来构成一个完整事物,用来衡量服务器的性能。比如录制脚本过程中,投保系统的查询投保单号操作,可以在输入完查询信息后点击查询按钮前插入事务的起始点,查询出数据后插入事务的结束点,这样在运行测试脚本时,loadrunner在运行到该事务时,便会计算出这个查询操作所花时间,便于衡量服务器执行查询操作的性能。
第十个为插入集合点键,可用于衡量在加重负载的情况下服务器的性能。比如要验证系统是否能承受100人同时进行报案操作,便可在脚本录入过程中,点击报案确认键操作前插入集合点,这样当脚本运行到集合点时,loadrunner会让100个虚拟用户同时点击报案确认按钮(如果有的用户还没运行到集合点,先到用户要等未到用户一起操作)进行报案,从而达到测试目的。
最后一个为设置验证点键,在创建事物后,设置一个验证点可以用来确认事物执行是否成功。比如进行查询事务操作时,lr只要检测到网页的响应,就认为事务pass,而不管显示页面内容是否正确。因此为了检查web服务器返回的网页是否正确,可以插入text/image检查点,验证网页上是否存在指定的text或image。
设置验证点时,如果我们验证的文本内容是中文,有时会返回无法找到验证内容的报错信息,而页面显示又是正确的,出现问题的原因可能是因为lr对中文的支持部好,尽量选择验证信息为数字或字母;也可能是设置问题,可以尝试将tools->recording options->http properties下的advanced选项里设置支持utf-8,再检查开发人员有没有设置支持中文。
录制结束后,先点击保存脚本,同时为脚本命名。然后编译脚本,看是否存在语法错误,编译成功后,即可回放,看录制脚本是否成功。
loadrunner录制得到的脚本基本没有错误,不像robot会有录入数据的缺失,只是会录入一些非录入系统的网页信息,根据地址可以识别并删除掉。
四. loadrunner脚本录制学习小结
nner录制脚本,主要是为了进行压力测试,所以跑流程时,跑了主要流程即可,也就是系统必须的信息录入就可以了。nner的脚本运行过程中,只能用于一次业务办理的数据需要做参数化,如车辆车架号,车牌,报案号等,以免出现重复投保或报案无法立案现象,不能继续进行下去。参数化步骤:
1)将需要做参数化的数据右键点击,选择replace with a parameter,进行设置。2)在弹出编辑框里,设置易懂的参数名称,再点击properties进行属性设置。3)点击create table 按钮,生成参数表格,再点击edit with notepad按钮,即可在记事本里添加新的参数,添加完后再次回车(不回车可能最后条数据读取不到)关闭,参数化操作完成。
4)使用ctrl +h键可以找到替换同样的需要参数化的数据。
3.脚本跑流程过程中,因为业务运转,前面生成的投保单要接着进行提交核保业务,而每次生成的投保单号不一样,用于进行提交核保的单号也要与之前的保持一致,因此需要做关联处理,读取到生成的新投保单号给提交核保流程。关联步骤:
1).查找关联数据第一次出现的位置,判断该数据是由什么函数返回的。
2).在树形结构里点击返回该数据值的函数,看它的server response信息,用复制的关联数据进行查找它的返回语句,找到区分度明显的语句(不一定要是第一个返回语句),然后使用web_reg_save_param函数进行关联。
注:关联函数一定要写在第一个返回该数据值的函数前。
3).web_reg_save_param(const char *paramname, , last);
函数的第一个参数是用来对关联数据进行定义的,取名最好可读性强;第二个参数是用来标识关联数据在返回语句里的具体位置的,写出该数据的左右边界,程序才能识别;last表示属性列的结束。比如办理理赔业务的流程号,在服务器的返回语句里是:
loadrunner测试结果分析详解(5篇)
文件夹