软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试工具>>Mercury>>正文
使用LoadRunner测试TUXEDO
文章出处:dev2dev.bea.com.cn 作者:经乾 发布时间:2005-10-21

LoadRunner®是一种预测系统行为和性能的工业标准级负载测试工具。它通过模拟数据以千万计用户来实施并发负载来对整个企业架构进行测试,来帮助您更快的查找和发现问题。
关于LoadRunner®更全面的描述及使用,请参考《LoadRunner 使用手册》或Mercury Interactive 公司提供的联机帮忙文档。本文旨在帮助工程师们掌握使用LoadRunner®来测试BEA中间件产品的方法。

一、如何使用LoadRunner来测试BEA TUXEDO
1. LoadRunner的虚拟用户

LoadRunner使用虚拟用户(Virtual users)来模拟实际用户对业务系统施加压力。虚拟用户在一个中央控制器(controller station)的监视下工作。如下图所示。

在做一个测试方案时,要做的第一件事就是创建虚拟用户执行脚本。LoadRunner提供了Virtual User Generator来录制或编辑虚拟用户脚本。
2. 使用Vugen创建虚拟用户执行脚本
A.从菜单中选择运行Virtual User Generator:

B.创建一个单协议脚本,选择协议类型为"Tuxedo 7"

C.选择工具条中的" "来录制一个脚本,在弹出的窗口中输入Tuxedo客户机程序的可执行文件名(SimpApp.exe),并选择"Record into Action"为Action。如下图所示:

点击"OK"开始录制脚本,这时Vugen就会启动Simpapp.exe,如下图所示,输入WSNADDR,输入字符串(Tuxedo is powerful!)之后,点击TOUPPER,TUXEDO服务器完成请求后把输出字符串(TUXEDO IS POWERFUL!)写到"Output string"中,点击停止录制按钮。

D.编辑Vuser脚本。我们在C中做的所有操作都被录了下来,记录到一个脚本文件中,其内容如下,我们把它存为simpapp。

脚本内容如下:

/* This file is generated by LoadRunner. You may edit it carefully! */
#include "lrt.h"
#include "replay.vdf"

Actions()
{
lrt_tuxputenv("WSNADDR=//172.22.32.25:7110");

lr_think_time(3);
tpresult_int = lrt_tpinitialize(LRT_END_OF_PARMS);
lrt_abort_on_error();
data_0 = lrt_tpalloc("STRING", "", 1);

/* Request STRING buffer 1 */
lrt_strcpy(data_0, sbuf_1);
data_1 = lrt_tpalloc("STRING", "", 1);
tpresult_int = lrt_tpcall("TOUPPER",
data_0,
0,
&data_1,
&olen,
0);
/* Reply STRING buffer 1 */
lrt_abort_on_error();

lrt_tpfree(data_0);
lrt_tpfree(data_1);
lrt_tpterm();

return 0;
}

代码中加粗的函数是LoadRunner对TUXEDO函的二次包装。
E.点击工具栏中的" "按钮来执行我们刚才录制的脚本,确保执行无误。
3. 使用控制器(Controller)来调度虚拟用户
A.从菜单中选择运行Controller:

B.创建一个新的Scenario,选择刚才录制的脚本(simpapp):

点击"OK",弹出Scenario调度界面,如下图所示。在"Quantity"中输入100,表示使用100个虚拟用户。(虚拟用户与购买的LICENSE有关联)

C.点击"Edit Schedule"来编辑压力调度。


D.选择"Runtime settings"来作运行时设置

在Pacing的设置中,"Number of Iterations"用于设置Vusers的Actions被执行的次数;"Start new iteration"用于设置调度器在什么时机迭代执行Vusers的Actions。

"Think Time"用于设置Vusers的反应和思考时间,以尽量做到和正常人一样来施压。"Ignore think time"表示忽略思考时间,这是理想状态,一般不使用。"As recorded"表示按照录制时的实际操作时间。"Multiply recorded think time by"表示Vusers的思考时间是实际录制时间的若干倍。

在"Miscellaneous"中设置一些杂项,如使用进程还是使用线程等。对于TUXEDO,好象只能选进程模式。
E.选择"Start scenario"来开始本次压力测试调度。

执行结果分析如下:

施压时间为5分41秒,Vusers数量为100,一共完成的Actions交易数量为5625笔,平均响应时间为5.561秒,TPS为17.8

二、如何使用LoadRunner来测试BEA Weblogic Server
在本例中,我们将创建一个WebApp(toupper.war),用于调用TUXEDO的TOUPPER服务。为了达到这个目的,需要在Weblogic Server上创建一个WTC服务器,导入TOUPPER服务,同时在Weblogic Server部分一个EJB(toupper.jar),用于封装TOUPPER服务。在TUXEDO一端,需要配置TDOMAIN网关。
部署toupper.war和toupper.jar,测试toupper.war,得如下界面:

点击"TOUPPER",得如下界面:

这表明WTC、Webapp和EJB都工作正常。
1. 录制Weblogic Server测试脚本
A.在Virtual User Generator中选择创建一个新脚本,选择Single Protocol Script,选择Web(HTTP/HTML),点击OK。

点击" "开始录脚本,在URL中输入http://jq:7001/toupper/jsp1.jsp,点击OK。

执行一次TOUPPER操作,停止录制。得如下脚本:

执行一次TOUPPER操作,停止录制。得如下脚本:

点击" ",作一次运行测试,确保脚本执行无误。
2. 使用控制器(Controller)来调度虚拟用户
使用与TUXEDO一样的调度策略,创建100个虚拟用户,以线程的方式来给

http://jq:7001/toupper/jsp1.jsp链接加压,一共处理了5429笔交易,TPS为17.8。平均每秒点击次数为29.34次,测试报表如下:

 作者简介
经乾是(dev2dev ID: jq75) BEA系统(中国)有限公司 渠道部技术顾问

站内搜索
相关文章
◎TD7.6 字段中英文对照表
◎Winrunner Context Sensitive命令列表
◎LoadRunner监视的性能计数器
◎让LoadRunner走下神坛
热门文章
◎主流测试工具介绍(1)
◎Winrunner经验总结
◎主流测试工具介绍(2)
◎主流测试工具介绍(3)
◎Winrunner TSL命令简介(一)
◎WinRunner的问题整理
◎LoadRunner监视的性能计数器
◎四款主流测试工具的测试流程
◎Loadrunner中参数的设置
◎LoadRunner的一个解决方案
◎让LoadRunner走下神坛
◎WinRunner 脚本标准格式
◎LoadRunner简化国泰航空测试流程
◎WinRunner如何实现自动化测试
◎利用loadrunner测试ORACLE存储过程的性能
◎jboss tomcat weblogic websphere 性能对比测试
◎Winrunner TSL命令简介(四)
◎Winrunner TSL命令简介(二)
◎TestDirector项目数据迁移完整过程
◎LoadRunner函数介绍
◎关于"RPC server is unavailable"的解决方案
◎Winrunner TSL命令简介(三)
◎使用Winrunner进行性能测试
◎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提供的广告