zoukankan      html  css  js  c++  java
  • 录制脚本前需要理解的几个基本概念

     

    2.1.1 事务(Transaction)

    事务(Transaction)是这样一个点,我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。

       插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。

    举个例子:比如一个单据,把从登录到保存成功退出整个作为一个脚本,对于需要关注的保存时间,定义为单独的事务,以取得响应时间,事务脚本函数如下:

     

     

    2.1.2集合点(Rendezvous)

    集合点:是一个并发访问的点,在测试计划中,可能会要求系统能够承受1000人同时提交数据,在LoadRunner中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,并发访问的目的。

    注意:集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到Action 部分,vuser_initvuser_end 中不能插入集合点。集合点函数如下,参数不能加空格:

     

     

    加入集合点之后,在后面运行过程中可以看到VU的状态,会等待集合。

     

    2.1.4 IP Spoofer(IP 欺骗)

       当运行场景时,虚拟用户使用它们所在的Load Generator 的固定的IP 地址。每个Load Generator 上(同时)运行大量的虚拟用户(*不明白),这样就造成了大量的用户使用同一IP 同时访问一个网站的情况,这种情况和实际运行的情况不符,并且有一些网站会限制同一个IP 的登陆。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不同的IP 访问同一网站,这种技术称为“IP 欺骗”。

    启用该选项后,场景中运行的虚拟用户将模拟从不同的IP 地址发送请求。该选项非常

    的有用。注意:IP Spoofer 在连接Load Generators 之前启用。要使用IP 欺骗,各个Load Generator 机器必须使用固定的IP,不能使用动态IP(即DHCP)。

     

    IP Wizard工具就提供了生成多个ip的功能,IP Wizard是一个单独的程序,我们可以在开始菜单里面找到,你可以添加一个局域网内的IP段。添加后重启,在Win2k下使用Ipconfig/all查看到很多虚拟的IP,最后要在Controller里面选择enable ip spoofer.

     

    2.1.5(Text/Image)检查和contents check点

    对于查询类的脚本,一定要添加检查点,以保证在测试时结果的正确性.因为LR只要检测到网页的响应,就认为是pass而并不管当前网页内容的正确性.在进行压力测试时,为了检查Web服务器返回的网页是否正确,VuGen允许我们插入Text/Imag 检查点,这些检查点验证网页上是否存在指定的Text或者Image,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。检查点的含义和WinRunner 中的检查点功能基本上一致,这里就不再作过多的说明。

    举个例子:当我用loadrunner做压力测试的时候,
    它的确能反馈给我各种服务器性能的数据,
    但是在做B/S结构系统的测试的时候,
    却发现如下问题:
    loadrunner不能正确判断操作是否成功,
    比如登录,我要测试200人同时登录,
    但是我的login.jsp里面没有正确的关闭数据库的连接,
    导致登录100人后,建立了100个数据库连接,
    第101人一个人登录的时候,由于超出数据库连接的最大数,
    所以,jsp程序抛出了一个数据库异常。
    但是页面的走向是正确的,所以loadrunner会认为程序是正确执行的,但是事实却并非如此。

    对于有的页面是无法添加文本和图像检查点的,就加入contents check点。

  • 相关阅读:
    IOS Charles(代理服务器软件,可以用来拦截网络请求)
    Javascript中addEventListener和attachEvent的区别
    MVC中实现Area几种方法
    Entity Framework Code First 中使用 Fluent API 笔记。
    自定义JsonResult解决 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
    序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
    An entity object cannot be referenced by multiple instances of IEntityChangeTracker 的解决方案
    Code First :使用Entity. Framework编程(8) ----转发 收藏
    Code First :使用Entity. Framework编程(6) ----转发 收藏
    Code First :使用Entity. Framework编程(5) ----转发 收藏
  • 原文地址:https://www.cnblogs.com/trhimily/p/3929395.html
Copyright © 2011-2022 走看看