凡问到Mercury公司的测试工具,每个人都会说Winrunner记录的是前台界面的操作过程,是功能测试工具,;Loadrunner记录了后台程序的交互信息,是
性能测试工具
。似乎在每位测试人员的心中,
Winrunner
和
Loadrunner
已经被很明确地界定开来,前者只能做功能测试,而后者只能进行
性能测试
。
但是出乎大家的意料,
Winrunner
也能进行
性能测试
,只不过这不是一种常规的测试方法,不为广大测试人员使用。但是不被广泛使用并不是代表不行,前一阶段,我就在某系统上使用
Winrunner
进行了一次
性能测试
,证实了该测试方法的可行性。
下面我将介绍使用
Winrunner
进行
性能测试
的工作原理,详细介绍使用
Winrunner
进行
性能测试
的测试方法,以及点明该方法优势和弊端。有兴趣的测试爱好者,可以仔细阅读,尝试使用
Winrunner
进行性能测试。
使用
Winrunner
进行
性能测试
的原理
性能测试
的初衷就是模拟大量的用户对应用系统同时进行操作,查看大量访问的情况下,应用程序的运行情况和系统的承载情况。
Winruner
是功能测试工具,它主要的功能是记录用户的界面操作。如果使用
Winrunner
进行性能测试,模拟大量的客户前台界面操作的情况(
Loadrunner
只是记录后台程序的交互情况),那不是真正达到了性能测试的目的了么。
我们知道
Winrunner
是没有办法模拟大量用户的,但是
Loadrunner
的Controller可以。所以我们就会很自然地想到使用
Loadrunner
调用
Winrunner
,并发大量的用户,完成性能测试工作。
在使用
Winrunner
进行压力测试时,我们要选用一台主控机和一台压力生成器,让主控机通过远程桌面方式访问压力生成器。由于GUI脚本是界面操作,所以一个界面只能运行一个GUI脚本,但是通过远程桌面方式访问主机,我们可以使一台机器展现出两个界面,而且这两个界面互不干扰,各自操作的。所以我们建议使用远程桌面的方式控制压力生成器。如果压力生成器可以同时打开2个远程桌面界面,那么我们就可以运行2个虚拟用户,如果可以打开3个,那么我们就可以运行3个虚拟用户,以此类推。
该方法的技术要点
那么我们使用
Winrunner
进行压力测试需要什么运行环境,对系统进行什么相关设置呢?我们在下面将为大家一一介绍。
LoadRunner Version
|
Supported WinRunner version
|
LoadRunner8.x
|
WinRunner 7.5, 7.6, 8.2
Note:
There is a WinRunner patch in the LoadRunner 8.0 Add-ins installation CD under the Patches\lr_wr_patch directory. WinRunner and LoadRunner will NOT work together without this patch.
|
LoadRunner7.8, LoadRunner7.8 FP 1
|
WinRunner 7.5, 7.6
Note:
The WinRunner patch in the LoadRunner 7.8 installation CD under the Patches\lr_wr_patch directory is needed only with WinRunner 7.5. No patch is necessary for WinRunner 7.6.
|
LoadRunner7.6
|
WinRunner 7.5, 7.6
|
LoadRunner7.51, LoadRunner7.51 SP1
|
WinRunner 7.5
|
LoadRunner7.5
|
WinRunner 7.01
Note:
There is a WR701 patch in LoadRunner 75 installation CD under Patches à WR701 à patch_LRWR.zip.)
|
在基于
Windows
的压力生成器上,你只能并发一个GUI脚本。如果你的虚拟用户数填写值大于1,系统将提示:一台机器只能运行一个GUI脚本。
如果想运行大于1个GUI脚本,你必须在设置
Winrunner
的系统文件(以下设置只对
LoadRunner
8.0以上版本的软件有效)
-
打开主控机的c:\systerm\wlrun7.ini
-
搜索到[Vuser]标识
-
增加"VuMaxGUILimit"标志,如果你想在你机器上
Loadrunner
调用
Winrunner
的并发量最大为10,那么你你可以设置成VuMaxGUILimit=10
-
如何使设置主控机通过远程桌面访问的方式访问压力生成器
设置主控机的Agent Configuration
开始à程序à Mercury LoadRunneràAdvanced SettingsàAgent Configuration。注意设置后充启Loadrunner Agent Process。
设置压力生成器的RDP-Tcp设置,目的就是在远程登入该机器时,可以不用输入用户名、密码,直接登入。设置内容如下:
-
如何让
Loadrunner
执行
Winrunner
脚本
-
复制
Winrunnr
脚本到
Loadrunner
的主控机
-
如果你决定在远程机器上运行脚本,你也必须将脚本复制到远程机器上,同时必须确定:
-
该
Winrunner
脚本在远程机器可以正常运行
-
在远程机器上必须打开LoadRunner Agent process,打开方法:Start à Programs à LoadRunner à LoadRunner Agent process.
-
打开LoadRunner Controlle,你可以选择Manual or Goal-Oriented Scenario,点击“Browse”,如下图:
-
在跳出框中,改变文件类型到“GUI script”,如下图:
-
点击Open后,你的脚本将会被添加到LoadRunner Controller.
-
在你运行你的脚本之前,请点击“Generators”。选择相关的host后,点击“Details”。确定在Vuser Linmits栏中“GUI/WinRunner”被选中,如下图:
-
如果你决定在远程机器上运行脚本,则需要在Controller添加远程机器作为压力生成器(Load Generator)时,在Detail的Terminal Services Tab页,选中Enable Terminal Services Manager。注意Maximum number of Vusers per teminal请设置为1。
该方法的优势与弊端
在完成了上述介绍后,我们就可以使用
Winrunner
进行性能测试了。当初我在某应用系统上试验该方法后,最明显的感触就是,它能够真正的模拟用户的操作,进行性能测试(不只是记录后台的交互操作)。对于每一项的响应时间,我们都可以很明确的记录,而且记录下来的是最真实的响应时间,包括前台到Cobar中间件的响应时间,这是
Loadrunner
脚本没有办法做到的。
还有就是它有与中间件的协议无关的优点。即使应用系统使用的是
Loadrunner
不识的,较冷门的协议,该方法一样可以对该系统进行性能测试。
但是该方法也存在着局限性。首先在并发数上,它受限于远程桌面访问数量。并发数是根据远程桌面访问数来定的,如果这台机器只能有2个远程桌面访问数,那么这台机器最多并发2个虚拟用户,所以我们要使用该方法进行性能测试,我们要选用大量的PC机,要么有较大的远程桌面访问数量。
还有就是它对同步点控制不好。我们没有办法在GUI脚本中设置同步点,因此在需要同步点操作的时候,该方法没有什么明显的优势。
每一种方法都有其特定的优势和弊端,我们应该根据每次不同的测试目的,变换测试方法,这样才能有效地进行性能测试。
版权声明:
51testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜