软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试工具>>Mercury>>正文
使用Winrunner进行性能测试
文章出处:51testing投稿 作者:咸洁敏 发布时间:2006-10-09

    凡问到Mercury公司的测试工具,每个人都会说Winrunner记录的是前台界面的操作过程,是功能测试工具,;Loadrunner记录了后台程序的交互信息,是性能测试工具。似乎在每位测试人员的心中,WinrunnerLoadrunner已经被很明确地界定开来,前者只能做功能测试,而后者只能进行性能测试

    但是出乎大家的意料,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.)

 

  • License要求

 

  • 如何在主控机上并发的GUI用户数大于1

    在基于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”,如下图:

 

  • 如果你的路径必须有你的Winrunner脚本,Winrunner脚本的图表将会显示出来

  • 点击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软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们


站内搜索
相关文章
◎如何区分Server Time 和 Network Time
◎利用LR测试程序基类的性能
◎如何用LR监视服务器LINUX的方法
◎如何在QC中调用QTP进行测试
◎WinRunner使用经验介绍
◎使用LoadRunner来测试BEA TUXEDO(LoadRunner7.6)
◎MI测试工具介绍
◎VB 调用 QuickTestpro 脚本
◎QTP的登陆脚本设计
◎QTP的登陆脚本设计
◎loadruner报错:Step download timeout(120 seconds)的解决方法
◎QuickTestPro SP考试心得
◎LoadRunner本机录制http协议程序遇到的问题以及解决方法
◎关于"The RPC server is unavailable"的探讨及解决方案
◎QuickTestPro处理带有IFRAME的问题
◎QuickTestPro处理带有IFRAME的问题(续)
◎如何用QTP解析PDF
◎利用loadrunner测试ORACLE存储过程的性能
◎MERCURY最终用户管理:以最终用户为出发点,将业务和IT紧密结合
◎仅有基础架构管理是不够的:新的IT运作方式势在必行
◎美科利质量中心服务最佳实践白皮书
◎无代理监控:监控关键系统的全新典范
◎应用实施:卓越中心的发展
◎实施全面的J2EE监控和诊断解决方案
◎美科利客户的见解
◎改进质量和测试管理
◎错误警报不复存在:成功实施应用管理战略
◎代理和无代理系统管理的比较:运营总成本
◎高级测试管理的工具和技术
◎ERP功能测试最佳实践:10个步骤确保ERP系统的可靠性
◎美科利和SAP:优化业务成果
◎四款主流测试工具的测试流程
◎WinRunner如何实现自动化测试
◎TD 7.x 升级到 TD 8.0 的一些经验(SQLSERVER 下)
◎winsock的buffer简单解析
◎何谓 Keyword-Driven Testing?
◎QuickTestPro中的快捷键
◎协议的选择的问题谈话
◎winsock协议错误编码解析
◎Loadrunner中参数的设置
◎使用LoadRunner来测试BEATUXEDO (LoadRunner 7.6)
◎主流测试工具介绍(3)
◎主流测试工具介绍(2)
◎主流测试工具介绍(1)
◎LoadRunner的一个解决方案
◎jboss tomcat weblogic websphere 性能对比测试
◎WinRunner 脚本标准格式
◎LoadRunner简化国泰航空测试流程
◎Winrunner经验总结
◎对脚本的建议
热门文章
◎主流测试工具介绍(1)
◎Winrunner经验总结
◎主流测试工具介绍(2)
◎主流测试工具介绍(3)
◎Winrunner TSL命令简介(一)
◎WinRunner的问题整理
◎LoadRunner监视的性能计数器
◎Loadrunner中参数的设置
◎四款主流测试工具的测试流程
◎LoadRunner的一个解决方案
◎让LoadRunner走下神坛
◎WinRunner 脚本标准格式
◎LoadRunner简化国泰航空测试流程
◎WinRunner如何实现自动化测试
◎利用loadrunner测试ORACLE存储过程的性能
◎jboss tomcat weblogic websphere 性能对比测试
◎Winrunner TSL命令简介(四)
◎Winrunner TSL命令简介(二)
◎使用LoadRunner测试TUXEDO
◎TestDirector项目数据迁移完整过程
◎LoadRunner函数介绍
◎关于"RPC server is unavailable"的解决方案
◎Winrunner TSL命令简介(三)
◎TD7.6 字段中英文对照表
◎LoadRunner本机录制http协议程序遇到的问题以及解决方法
◎Winrunner Context Sensitive命令列表
◎WinRunner使用经验介绍
◎TD中Case的复用
◎对脚本的建议
◎MI测试工具介绍
◎QTP的登陆脚本设计
◎如何用QTP解析PDF
◎winsock协议错误编码解析
◎TD 7.x 升级到 TD 8.0 的一些经验(SQLSERVER 下)
◎QuickTestPro SP考试心得
◎loadruner报错:Step download timeout(120 seconds)的解决方法
◎使用LoadRunner来测试BEATUXEDO (LoadRunner 7.6)
◎QuickTestPro中的快捷键
◎ERP功能测试最佳实践:10个步骤确保ERP系统的可靠性
◎高级测试管理的工具和技术
◎winsock的buffer简单解析
◎何谓 Keyword-Driven Testing?
◎LoadRunner学习——LoadRunner的安装
◎QTP的学习历程
◎使用LoadRunner来测试BEA TUXEDO(LoadRunner7.6)
◎LoadRunner函数介绍续
◎QTP的登陆脚本设计
◎关于"The RPC server is unavailable"的探讨及解决方案
◎改进质量和测试管理
◎QuickTestPro处理带有IFRAME的问题

Google提供的广告