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_init和vuser_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点。