Loadrunner如何选择协议(转)
2013-11-12 16:44
197 查看
Loadruner协议选择原理:
网络协议是计算机之间沟通交流的“语言”,计算机都是通过“语言”来说话的,LoadRunner要知道计算机之间说什么,它只需派出一个翻译间谍(Vuser)监听计算机的对话就可以了,听完了,还要记下来生成脚本,这样做就OK了。但是很遗憾,这个世界上不是只有一门语言,不仅有汉语,还有英语、法语等几十种语言,计算机也面临这种问题,“语言”(网络协议)有上百种,不同的计算机之间用不同的语言说话,甚至方言也都有(增强协议),在这种情况下,我们可怜的LoadRunner只好增加人手,培养不同语言的翻译人才(Loadrunner
Protocol),如果计算机是用A语言说话,LoadRunner就要派出A语言翻译,如果计算机用B语言说话,LoadRunner就要派出B语言翻译,这样问题就能得到解决了。但同时也要注意的是,一定不要派错了翻译(选错了Protocol类型),如果计算机用A语言,而LoadRunner派出B语言翻译,毫无悬念,LoadRunner要为自己的错误负责,可怜的B翻译将会什么也听不懂,交了白卷。
Loadrunner协议选择定律:
选择第一定律:以客户端和其直接连接的Server通信方式为准。
因为LoadRunner的Vuser模拟的是客户端,所以Vuser和真实的客户端一样,和离它最近的Server打交道,而和整个系统的功能无关。比如一个Web
Mail系统,虽然它是实现了Mail的功能,但作为Client端的IE直接连接的是Web Server而不是Mail Server,在这种情况下我们只考虑IE和Web Server的通信方式,也就是HTTP协议。
选择第二定律:匹配原则由高协议到低协议。
确定了被测系统的网络协议后,选择LoadRunner
Vuser应该以实际网络协议匹配为佳,如不能匹配,LoadRunner Vuser则降一个协议层次再次匹配。
比如,我们如果碰到一个网络应用,其采用的应用协议比较独特,在LoadRunner里没有找到合适的协议,那么我们就降低一个层次,用Winsock来录制,那是肯定没有问题的。因为几乎所有的网络传输中都是基于TCP协议或UDP协议的,而Socket协议正是这一级上的协议。但是由于Socket协议级别太低,你录下来的东西是很难理解的,都是Socket、Port、Data之类的东西。所以,尽量用高层协议来录制,我们就能看懂了。
网络协议是计算机之间沟通交流的“语言”,计算机都是通过“语言”来说话的,LoadRunner要知道计算机之间说什么,它只需派出一个翻译间谍(Vuser)监听计算机的对话就可以了,听完了,还要记下来生成脚本,这样做就OK了。但是很遗憾,这个世界上不是只有一门语言,不仅有汉语,还有英语、法语等几十种语言,计算机也面临这种问题,“语言”(网络协议)有上百种,不同的计算机之间用不同的语言说话,甚至方言也都有(增强协议),在这种情况下,我们可怜的LoadRunner只好增加人手,培养不同语言的翻译人才(Loadrunner
Protocol),如果计算机是用A语言说话,LoadRunner就要派出A语言翻译,如果计算机用B语言说话,LoadRunner就要派出B语言翻译,这样问题就能得到解决了。但同时也要注意的是,一定不要派错了翻译(选错了Protocol类型),如果计算机用A语言,而LoadRunner派出B语言翻译,毫无悬念,LoadRunner要为自己的错误负责,可怜的B翻译将会什么也听不懂,交了白卷。
Loadrunner协议选择定律:
选择第一定律:以客户端和其直接连接的Server通信方式为准。
因为LoadRunner的Vuser模拟的是客户端,所以Vuser和真实的客户端一样,和离它最近的Server打交道,而和整个系统的功能无关。比如一个Web
Mail系统,虽然它是实现了Mail的功能,但作为Client端的IE直接连接的是Web Server而不是Mail Server,在这种情况下我们只考虑IE和Web Server的通信方式,也就是HTTP协议。
选择第二定律:匹配原则由高协议到低协议。
确定了被测系统的网络协议后,选择LoadRunner
Vuser应该以实际网络协议匹配为佳,如不能匹配,LoadRunner Vuser则降一个协议层次再次匹配。
比如,我们如果碰到一个网络应用,其采用的应用协议比较独特,在LoadRunner里没有找到合适的协议,那么我们就降低一个层次,用Winsock来录制,那是肯定没有问题的。因为几乎所有的网络传输中都是基于TCP协议或UDP协议的,而Socket协议正是这一级上的协议。但是由于Socket协议级别太低,你录下来的东西是很难理解的,都是Socket、Port、Data之类的东西。所以,尽量用高层协议来录制,我们就能看懂了。
协议参考选择:
LR的录制工作原理,LR跟WR不一样,它不关心你的对象识别什么,不关心你的什么窗口之类的,LR有一个Agent的进程,来专门监控客户端与服务器之间的通信,然后用自己的函数进行录制,所以说,LR录制的时候关心的是通信,是客户端与服务器之间的数据包。说到这里,大家就比较清楚了,为什么有的时候不能录制呢?因为,协议不认识阿,导致LR截获的数据包不能解析,所以录制下来是空的。 到这里看来,我们怎么样选择协议呢?当然原则就是说,你的数据包的通信协议能被LR 识别。 过去流行的一种看法是,只要B/S结构的都是选择http协议,如果不是B/S 结构的那肯定是socket, 其实这种说法比较片面,我觉得要真正理解这个问题,必须搞杏出你所测系统的数据流采用什么协议包装的,这个我个人觉得,最好是能去向开发人员多理解这个问题,多学习。 协议参考选择: 应用类型 协议选择 1,web 网站 Http/HTML 2, FTP 服务器 FTP 3, 邮件服务器 IMAP, POP3, SMTP 4, C/S (第一种)客户端 以ADO, OLEDB方法连接后台数据库 MSSQL Server, Oracle, Sybase, DB2, Infirmix C/S (第二种) 客户端以ODBC方法廉洁后台数据库 ODBC C/S (第三种) 没有后台数据库 Socket 5, ERP系统 SAP Peoplesoft 6, 分布式组件 COM/DACOM EJB 7, 无线应用 WAPPALM 总之,只有充分理解被被测系统的应用类型和技术架构,才能做出正确的选择。 |
相关文章推荐
- 使用LoadRunner录制脚本时如何选择合适的协议
- 协议 | Loadrunner录制脚本时如何选择协议
- 使用LoadRunner录制脚本时如何选择合适的协议?
- 使用LoadRunner录制脚本时如何选择合适的协议?
- 使用LoadRunner录制脚本时如何选择合适的协议?
- 使用LoadRunner录制脚本时如何选择合适的协议?
- 使用LoadRunner进行压力测试时如何选择要录制的协议?
- 使用LoadRunner录制脚本时如何选择合适的协议
- XMLA ODBO 以及OLAP服务提供者自定义的协议,我们如何选择
- 实战做项目如何选择开源许可协议(一)-了解协议
- 实战做项目如何选择开源许可协议(一)-了解协议
- LoadRunner对不同协议的选择
- LoadRunner录制: 选择协议
- Loadrunner录制脚本时选择协议
- loadrunner选择winsocket 通信协议,把接收到的数据包保存到本地计算机进行分析
- LoadRunner之协议选择
- 软件测试工具LoadRunner中的测试协议选择(三)
- 性能测试的协议如何选择
- 闲论LoadRunner的协议选择、Winsocket、C/S应用程序
- LoadRunner对不同协议的选择