这里没有软件测试的泛泛理论,只有博主的最佳实践。 博主的研究方向为静态分析和性能测试,致力于各种测试工具的引入、评估和开发。 本博的测试文章均为作者原创,转载请务必注明出处。

我答“使用LoadRunner录制脚本时如何选择合适的协议?”

上一篇 / 下一篇  2008-04-23 11:17:14 / 个人分类:LoadRunner

51testing本周问题“使用LoadRunner录制脚本时如何选择合适的协议?”
http://bbs.51testing.com/thread-112337-1-1.html

怎么开场呢?我就不说这个问题“很傻很天真”了,这就好比“渔夫要捞鱼,如何选择合适的网眼”、“程序员要写代码,如何选择系统头文件”一样,提出这样的问题充分暴露出一种浮躁盲目的情绪:

× 业务不精:对被测软件环境的总体架构不了解,不知道client和server间的通讯方式;
× 工具不精:但凡对LoadRunner的基本原理有所了解,估计也不会有这样的问题。

其实只要你能把以上的两点搞明白了,这个问题也就不再是问题。
LoadRunner属于应用在客户端的测试工具,在客户端模拟大量并发用户去访问服务器,从而达到给服务器施加压力的目的。所以说LoadRunner模拟的就是客户端,其脚本代表的是客户端用户所进行的业务操作,即只要脚本能表示用户的业务操作就可以。

具体到脚本应该选择什么协议,说直观点,就是选择脚本中选择哪些系统头文件的问题。试想一下,如果你碰到开发人员写程序时不知道用什么头文件,估计大部分测试员暗地里要“笑话”人家;现在轮到自己了,呵呵。下面是各种协议和相关头文件的对应关系。

具体到选择协议,个人看法,有两种策略。

×选择click and scrīpt,相对比较简单的协议,类似于WinRunnerQTP的GUI级别的脚本,直接记录鼠标和键盘的动作,不需要关注底层的通讯协议,可以避免很多问题(如关联等),容易理解,不过LoadRunner 9.0支持的click and scrīpt不多,只有以下三种:
Web (Click and scrīpt)
SAP (Click and scrīpt)
Ajax (Click and scrīpt)

×另外一种就是选择协议的依据就是client和server之间的通讯协议了,记住,依据只是通讯协议,而不是别的。

谁说B/S结构的就一定选择WEB(HTTP/HTML)?你试试51testing首页的“在线客服”,或者在线的QQ或者MSN,看看用WEB(HTTP/HTML)能否录到期望的脚本?

谁又说C/S结构的就一定是WinSocket协议?目前很多的Win32应用客户端其实也是HTTP通讯。难道各位没有注意到LoadRunner还有下面的选项

所以说选择什么协议和什么c/s、b/s结构关系不大,唯一的依据就是客户端和服务器之间的通讯。明白这一点后,什么“单协议”、“双协议多协议”统统不再是问题。

唯有在测试前有充分的准备,才能在测试实施中一帆风顺。关于测试前的准备,可以参考本站另外一篇文章《LoadRunner前传:压力测试前的分析准备工作http://www.51testing.com/?10851/action_viewspace_itemid_79096.html


TAG: LoadRunner

huior的测试烩 引用 删除 huior   /   2008-06-24 10:29:26
1 9.x和8.0相比,是一个大版本的变化,新版本增加了很多新的功能,包括click and script协议。从商业上讲,如果低版本的软件什么功能都能实现,那新版本怎么卖?要知道国外软件商的很多收入来自于老用户的升级。

2 LR的click and script的目的是为了在负载压力测试中让用户更方便的开发脚本,其脚本只供压力测试使用;而QTP是为了功能回归测试。二者目的完全不同,谈何替代。
隐形人 引用 删除 隐形人   /   2008-06-24 10:02:51
1.如果是新增的。那么LR8.0不是相比于9.0在协议上少了一些功能不能实现了?
2.另外“click and scrīpt,相对比较简单的协议,类似于WinRunner和QTP的GUI级别的脚本,直接记录鼠标和键盘的动作,不需要关注底层的通讯协议”,那是不是可以说LR的这项功能可以替代QTP的脚本录制了?
huior的测试烩 引用 删除 huior   /   2008-06-24 09:06:02
to 隐形人:
是的.click and script协议是lr9.0以后的版本新增加的,8.0是没有的
隐形人 引用 删除 隐形人   /   2008-06-23 18:08:20
您好!
我用的lr是8.0的,选择的协议是WEB(http/html),录制时脚本的头文件是:web_api.h,这个和你贴出来的as_web.h不一致,而且在lr8.0里我也没有找到WEB(Click and script)这个协议,是因为lr9.0与lr8.0的版本的原因吗?
huior的测试烩 引用 删除 huior   /   2008-06-17 17:22:26
正所谓“独乐乐不如众乐乐”,哈哈,看到你这样的评论,我感觉也很好。
zhangmeng988的个人空间 引用 删除 zhangmeng988   /   2008-06-17 17:07:43
顶一个,测试路上分享你的东东,感觉很好。
黄进青的个人空间 引用 删除 junqinghuang   /   2008-05-23 15:23:10
3
写的很好!赞一个
 

评分:0

我来说两句

Open Toolbar