LoadRunner对不同协议的选择

发表于:2009-9-22 15:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:柔晶    来源:Taobao QA Team

  以前使用Loadrunner只选择过web(Http/Html),但其实协议多种多样。在B/S结构的网站多种业务的特点需要选择不同的协议,耿电在给我们就介绍了用过的不同的协议。协议如何选择呢,寻找了相关资料。

  LoadRunner首先是一个测试工具,其次是一个性能测试工具,然后是该工具是一个基于协议,也就是说LoadRunner测试的对象都需要使用通信协议,对于那些不使用通信协议仅仅进行本地处理的软件例如Microsoft Word,LoadRunner就不适用。说到通信协议我们来熟悉一下协议的分层,按照OSI的分层模型,分层结构如下:

OSI七层模型TCP/IP协议
应用层应用层(Application)
表示层
会话层
传输层传输层(Transport)
网络层网络层(Internet)
数据链路层网络接口层(Network)
物理层

  按照TCP/IP协议的分层,分层结构如下:

TCP/IP协议对应的服务
应用层WWW、SMTP、FTP、Telnet、Gopher、SNMP
Socket、NetBIOS
传输层TCP、UDP
网络层IP(ARP、RARP、ICMP)
网络接口层Ethernet、X.25、PPP、SLIP

  第一个分层是由OSI制定但不实用,后一个是目前广泛使用且被业界认做既定标准的协议分层,下文探讨的LoadRunner协议选择即按TCP/IP协议的分层模型讨论。

  接着来说说LoadRunnerVuGen中的协议分类,VuGen(LR8.1)中的协议分类如下表所示:

应用程序部署解决方案Citrix ICA
客户端/ 服务器DB2 CLI、DNS、Informix、MS SQL Server、ODBC、Oracle(2 层)、Sybase Ctlib、Sybase Dblib 和 Windows Sockets 协议
自定义C 模板、Visual Basic 模板、Java 模板、Javascript 和 VBScript 类型的脚本。
分布式组件适用于 COM/DCOM、Corba-Java 和 Rmi-Java 协议。
电子商务FTP、LDAP、Palm、PeopleSoft 8 mulit-lingual、SOAP、(HTTP/HTML) Web和双 Web/WinSocket 协议。
Enterprise Java BeanEJB 测试和 Rmi-Java 协议。
ERP/CRMBaan、Oracle NCA、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、Siebel-DB2 CLI、Siebel-MSSQL、Siebel-Web 和 Siebel-Oracle 协议
传统终端仿真 (RTE)。
邮件服务Internet 邮件访问协议 (IMAP)、MS Exchange (MAPI)、POP3 和SMTP。
中间件Jacada 和 Tuxedo (6、7)协议。
流数据Media Player (MMS) 和 Real 协议。
无线i-Mode、VoiceXML 和 WAP 协议。

  LoadRunner VuGen中的协议与文章开头所说的通信协议还是有一定的区别的,例如像LoadRunner VuGen中的C 模板、Visual Basic 模板、Java 模板、Javascript 和 VBScript 类型的脚本均为开发语言,非通信协议。

  一般来说协议选择有如下原则:

  B/S结构,选择WEB(Http/Html)协议;

  C/S结构,可以根据后端数据库的类型来选择,如SybaseCTLib协议用于测试后台的数据库为Sybase的应用;MSSQLServer协议用与测试后台数据库为SQL Server的应用;

  对于有些使用纯JAVA编写的C/S结构的东东,采用JAVA,而且不能录制只能手工编写代码(工作量和难度还是有的)。同样不能录制的还包括C、VB Script、VB、VBNet User协议。

  对于一些没有数据库的Windows应用,可选用Windows Sockets底层协议;使用了数据库但使用的是ODBC连接的数据则选择ODBC协议;对于Windows Sockets协议来说,最适合的那些基于Socket开发的应用程序;但是由于网络通讯的底层都是基于Socket的,因此几乎所有的应用程序都能够通过Socket来录制,哪可能有人会问,哪既然Socket都能录制下来,还要那么多协议做什么,价格还贼贵,其实最主要的原因就是Socket录制的代码可读性较差,如果Socket的脚本可读性较高的话,实话就没有其他协议出现的必要性了。

  对于邮件来说,首先要看你收邮件的途径,如果你通过WEB页面收发邮件,毫无疑问,你选择协议时就需要选择HTTP协议,如果你通过邮件客户端,像OutLook、FoxMail之类的,则需要根据操作不同选择不同的协议了,例如发邮件你可能要选择SMTP、收邮件你可能需要选择POP3。

  Telnet、SSH选择RTE协议(SSH不知道是不是,有待考证)。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号