入门LoadRunner之VUGEN小总结

上一篇 / 下一篇  2010-07-05 15:26:49 / 个人分类:其他

      作为一个初级测试学习者,当学习了基本的理论之后,着手学习工具的使用,LR是我接触的比较多的一个工具。从最开始看视频开始到现在看一些相关的书籍。现在我想微微的把所看的所学习的做个小小的总结。

      LoadRunner有三个强大的部分,VUGEN、Controller、Analysis,每个部分都有其强大之所在。这里主要对VUGEN做个小小的总结。

      先对几个名词做下解释。

虚拟用户:顾名思义,虚拟用户并不是一个真正的人,但是对于被测服务器来说,这些虚拟用户和真实用户的行为并没有差别。在LR中,虚拟用户的实现原理是VU脚本+run time setting,虚拟用户的好处是多个VUSER可以同时以进程/线程的形式运行在一台工作站上。

虚拟用户脚本:VUSER执行的操作是VUSER脚本描述的,VUSER脚本记录了用户的动作,并且包含了一系列度量并记录服务器性能的函数,从而方便计算性能指标。这就像是一个真实的用户一边做记录一边操作。

      VUGEN实际上就是一套具有调试开发脚本的环境,他的任务就是生成编译/解释成功的脚本,VUGEN具有录制/回放功能,可以通过录制直接生成脚本,然后根据需要对脚本进行处理。我们常常听见用这样一句话描述VU:VU就是通过运行VU脚本模拟了用户对软件的操作行为。

     关于VUGEN的使用有些需要研究的地方。

     首先是协议的选择,对于LR,不同的license,LR支持的不同的协议。VU是基于网络协议的,录制脚本的时候要做的第一件事情就是协议的选择遵循两大定律,第一是以客户端和其他直接连接的Server通信方式为准;第二是匹配原则由高协议到低协议。只有选对的协议,LR才能正确的进行录制。

       VUGEN开发脚本是用LR做性能测试的一个关键部分。VUSER脚本具有三种函数,一个是VU自带函数,通用VU函数是构建在C语言之上的脚本框架函数,起支持作用。第二个是与语言相关的函数,LR的VUGEN支持C语言,在脚本中恰当的运用C能够使脚本变得更加高效。第三个是协议相关函数,在通用的VU函数基础之上,不同协议类型的VUSER有自己的一套协议相关函数,比如HTTP协议以WEB开头等等。

      关联是LR的一个重要应用,所谓关联就是把脚本中写死的数据转变成是从服务获取的、不一样的、动态的值。关联常常有三种方法。第一是录制前关联,在录制过程中,VUGEN会自动根据制定的规则,实时找出要关联的值,这通过两部分实施,首先建立规则,关联的规则主要是指两个边界,被关联变量的左边界和有边界,当VUGEN在SERVER端的RESPONSE中找到符合条件的字符串时,它就意识到这是一个需要关联的数据。当定义好规则之后就可以启动自动关联并且运行脚本验证关联机制。第二个是录制后关联,这是我们常常用的关联方法,先录制好脚本,然后运行一次,再手动启动VUSER-->SCAN ACTION FOR CORRELATION,这里需要主要的也许就是必须要先把脚本运行一次。第三个是手动关联,当前两种方法都不能实现关联时,那么就需要我们自己去手动关联,首先使用相同的业务流程与数据录制两份完全一样的脚本,然后使用TOOL-->COMPARE WITH VUSER,扫描出两个脚本不一致的地方,那么这个地方也许就是该被关联的地方,使用web_reg_save_param函数对其进行关联。

       在LR中,事务也是一个重要的概念,我们在LR中定义事务主要是为了度量服务器的性能,每个事物度量服务器响应指定的VUSER请求所用的时间,关于事务需要注意的是一个TRANSACTION的开始和结束点必须在一个ACTION中。事务函数是Lr_start_transaction以及Lr_end_transaction。

      如果需要在系统上模拟比较大的负载,需要同步每个VUSER以便在同一时刻执行任务,那么就需要设置同步点,集合点和事务一样,只能在ACTION中设置。当设置了集合点,在场景执行的时候,所有的VUGEN会同时并发一个操作。

      数据驱动--参数化提高了脚本的可重用性,首先说下为什么需要参数化,在VUGEN录制脚本时,脚本以及录制过程中实际用到的数据其实是混合在一起的,比如在录制一个登录过程时,用户名为srialy,密码是123。那么在controller中运行场景的时候所有的VUSER都是以用户名srialy密码123进行登录,我想这不是客户想要的性能测试。客户希望多用户多循环时,不会重复一个用户的登录,那么我们就需要将这个用户名以及密码进行参数化。在controller中运行的时候,会从数据库或者其他文件中动态的读取不同的用户进行登录,这样更接近真实的情况。关于参数化的方法有两种,一种是在脚本模式中进行参数化另外一种是在树模式下进行参数化,这里不在赘述。

       这些就是最近学习VUGEN总结的一些内容。学习是一个过程,想过后再想一遍,也许就会有不一样的感悟

          


TAG: LR之VUGEN总结

 

评分:0

我来说两句

srialy

srialy

走走停停,删删剪剪,指尖的跳动总是来不及,如此纠结的青春

日历

« 2024-05-10  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 18431
  • 日志数: 20
  • 建立时间: 2010-07-02
  • 更新时间: 2017-02-21

RSS订阅

Open Toolbar