google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

使用LoadRunner录制脚本时如何选择合适的协议?(08-04-18)(获奖名单已公布)

本主题由 51testing 于 2008-4-25 17:31 解除高亮

如何选择协议?


这个问题吧,问的非常好,应该是大家都比较关心的问题。当年我也一直未这个问题很困惑。
我想在回答这个问题之前,先搞清楚什么是协议,为什么要选择协议。这就需要我们对通信机理有一些的了解。
首先,什么是协议?
协议无非就是一个约定,关于数据包发送的格式的约定,就是说如果大家都这样发送,那么通信就能够成功,如果大家都各按各的来,那么就没办法进行通信了。
那么接下来就是LR录制时的工作原理了,LR的录制和WR不一样,它不关心你的对象识别什么的,不关心你的什么窗口之类的,LR有一个Agent进程,来专门监控客户端和服务器之间的通信,然后用自己的函数进行录制。所以说,LR录制的时候关心的是通信,是客户端和服务器之间的数据包。说到这里,大家就比较清楚了,为什么有的时候不能录制呢?因为,协议不认识阿,导致LR截获的数据包不能解析,所以录制下来是空的。
到这里我们再来看,那我们怎么样选择协议呢?当然原则就是说,你数据包的通信协议能被LR识别。
过去流行的一种说法是,只要B/s结构的都是选择http协议,如果不是b/s那么肯定是socket,其实这种说法是比较肤浅或者比较片面的,我觉得要真正理解这个问题,必须搞清楚你所测系统的数据流采用的什么协议包装的。这个我个人觉得,最好是能去向开发人员多了解,多学习。(说到这里,我想顺便建议一点:测试人员向开发人员学习是个好习惯,多学一点底层的东西,或者对程序架构,数据流向,内部结构分析多了解一点,对自己的测试很有帮助,对自己的成长也是有帮助的),另外,个人觉得,作为一个测试人员需要多了解一些网络方面的专业知识,最好学习一些网络分析工具譬如说Sniffer等,这对测试很有帮助。
说了这么多,似乎跑题了?还是回到正题,如何选择协议。
我下面给大家推荐一些建议值,是我在某本测试专业书籍上看到了,给大家贴上来,仅供参考。我还是说,具体问题具体分析,选择协议不是一个教条的事情,而是需要研究探索并尝试。
协议选择参考:
   应用类型      协议选择
1. Web网站       HTTP/HTML
2. FTP服务器     FTP
3. 邮件服务器    IMAP,POP3,SMTP
4.  C/S (第一种)客户端以ADO,OLEDB方法连接后台数据库   MS SQL Server,Oracle,Sybase,DB2,Infrmix
    C/S  (第二种)客户端以ODBC方法连接后台数据库  ODBC
    C/S  (第三种)没有后台数据库   Socket
5. ERP系统    SAP Peoplesoft
6.分布式组件   COM/DACOM  EJB
7.无线应用     WAP  PALM

总之,只有充分了解被测系统的应用类型和技术架构,才能做出正确的选择。

TOP

111


11
附件: 您所在的用户组无法下载或查看附件
博客:http://blog.51testing.com/?77492
主页:http://www.wytesting.com.cn
欢迎大家进来做客。

TOP

我的应用程序是C#写的,本质上是C/S结构,但有一个WebService中间层。Client端必须要通过WebService访问Server,SQL操作全在这个Web上。Client端得到Web返回的结果。请有谁知道用什么协议比较好?理由是什么?

TOP

弱弱的问下

什么是:分布式组件   COM/DACOM  EJB

TOP

本人转载了一片文章,希望可以回答这个问题!



[ 本帖最后由 lovemiya 于 2008-4-25 16:52 编辑 ]

TOP

loadrunner来测试p2p流媒体点播系统


size=5]我想问问,如果我想用loadrunner来测试p2p流媒体点播系统,是用java开发的,那我应该用什么协议阿?如能指导,感恩不尽/!

TOP

从《软件评测师教程》中选取的






从《软件评测师教程》中选取的。
附件: 您所在的用户组无法下载或查看附件
博客:http://blog.51testing.com/?77492
主页:http://www.wytesting.com.cn
欢迎大家进来做客。

TOP

回复 23# 的帖子


使用Web Service协议试试。
博客:http://blog.51testing.com/?77492
主页:http://www.wytesting.com.cn
欢迎大家进来做客。

TOP

这个问题对我们初学者受益匪浅啊,极顶

TOP

ding yi xia

TOP

来 顶一下  我终于知道我的脚本为什么 不能用了  感谢下 先
赚钱    娶老公  ~~~~

TOP

我要测试c/s结构的应用程序,数据库是ms sql server,可是选择MS SQL SERVER协议时,录制到的事件总为0,只有选择windows sockets时才能录制到事件。请问,这是什么原因?

TOP

谢谢


在这里我学到了很多

TOP

引用:
原帖由 CHOUYUNHAT 于 2008-4-24 15:42 发表
我的应用程序是C#写的,本质上是C/S结构,但有一个WebService中间层。Client端必须要通过WebService访问Server,SQL操作全在这个Web上。Client端得到Web返回的结果。请有谁知道用什么协议比较好?理由是什么?
我也正在弄一个相似的项目,以ESRI产品为平台,ORACLE数据库,DELPHE开发语言,WEBSERVICES为发布服务器,录制脚本时不知道用什么协议我就一个一个的试,最后用WEBSERVICES和HTTP录制的脚本都可以成功运行.用WEBSERVICES录的脚本结构比较清晰,但我还没找到关联的方法,如不关联则脚本无实际用途.所以明天还得继续尝试

TOP

唉,没用过LR,LZ有没有LR的下载网址推荐个,下回去自己研究研究!

TOP

需要加强学习

TOP

引用:
原帖由 tengmy 于 2008-4-24 11:37 发表
LR支持的协议和应用非常广泛,很少有人能用完这么多协议,我们就常见的大多数人用的加以讨论:
B/S系统:选择Web(Http/Html),
C/S系统:根据C/S结构所用到的后台数据库来选择不同的协议,如果后台数据库是Sybase,则 ...
MSSQL用ODBC也可以

TOP

 
当前时区 GMT+8, 现在时间是 2008-7-26 10:13Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹