在学习 LoadRunner 协议选择之前,必要了解一下协议的基本概念.
我们知道,计算机与计算机之间的通信都离不开通信协议,接着我们来说说通信协议的概念.通信协议是什么,通信协 议实际上是一组规定和约定的集合. 也就是两台或者多台计算机在通信时必须约定好本次通信做什么, 例如是进行文件传输,还是发送电子邮件;然后约定怎样通信,什么时间通信等.因此,通信双方要遵从 相互可以接受的协议(相同或兼容的协议)才能进行通信,如目前因特网上广泛使用的 TCP/IP 协议等, 任何计算机连入网络后只要运行 TCP/IP 协议,就可访问因特网.
了解了协议的基本概念和作用之后,我们来说说 LoadRunner 的协议选择.LoadRunner 首先是一个 测试工具,其次是一个性能测试 性能测试工具,然后是该工具是一个基于协议,也就是说 LoadRunner 测试的对象 测试 性能测试 都需要使用通信协议,对于那些不使用通信协议仅仅进行本地处理的软件例如 Microsoft Word, LoadRunner 就不适用. 说到通信协议我们来熟悉一下协议的分层,按照 OSI 的分层模型,分层结构如下: 按照 TCP/IP 协议的分层,分层结构如下: 第一个分层是由 OSI 制定但不实用,后一个是目前广泛使用且被业界认做既定标准的协议分层,下文 探讨的 LoadRunner 协议选择即按 TCP/IP 协议的分层模型讨论. 接着来说说 LoadRunnerVuGen 中的协议分类,VuGen(LR8.1)中的协议分类如下表所示: 仔细研究发现 LoadRunner VuGen 中的协议与文章 文章开头所说的通信协议还是有一定的区别的, 例如像 文章 LoadRunner VuGen 中的 C 模板,Visual Basic 模板,Java 模板,Javascript.和 VBScript.类型的脚本均为 开发语言,非通信协议,但 LoadRunner 即把它列在这儿,我们也就暂且认可.
了解了 LoadRunner 中的协议之后,我们就进入协议确定阶段,协议的确定,通常有如下几种方法:
1,通过询问开发人员获知所使用的协议,通常这是最简单也是最直接的方法;因为没有人比开发人员 更清楚他们所开发的应用程序使用的什么通信协议了;
2,通过概要或详细设计手册获知所使用的协议,在没有开发人员支持的情况,通过概要设计或详细设 计获知所使用的协议不失为第二简便方法;
3,通过协议分析工具捕包分析,然后确定被测对象所使用的协议.在使用协议分析工具分析协议过程 当中一定要摒除底层协议,不要被底层协议所迷惑;
4,通过以往测试经验确定被测对象所使用的协议,当然通过这种方法确定的协议有一定的不准确性; 通过以上四种方法我们基本就确定了录制时应该选择什么协议,光确定协议是没有用的,最主要的是 付诸行动,确定了协议之后,我们进入 VuGen 开始录制脚本,录制完成后看看是否生成相应脚本,如果脚 本内容为空可能我们选择的协议不正确,我们可以尝试选择其他 其他协议. 其他 一般来说协议选择有如下原则: 一般来说协议选择有如下原则:
B/S 结构,选择 WEB(Http/Html)协议;
C/S 结构, 可以根据后端数据库 数据库的类型来选择, SybaseCTLib 协议用于测试后台的数据库为 Sybase 如 数据库 对于一些没有数据库的 Windows 的应用; MSSQLServer 协议用与测试后台数据库为 SQL Server 的应用; 应用,可选用 Windows Sockets 底层协议;使用了数据库但使用的是 ODBC 连接的数据则选择 ODBC 协 议;
对于有些使用纯 JAVA 编写的 C/S 结构的东东,采用 JAVA,而且不能录制只能手工编写代码(工作 工作 量和难度还是有的).同样不能录制的还包括 C,VB Script,VB,VBNet User 协议. 对于 Windows Sockets 协议来说,最适合的那些基于 Socket 开发的应用程序;但是由于网络通讯的 底层都是基于 Socket 的,因此几乎所有的应用程序都能够通过 Socket 来录制,哪可能有人会问,哪既然 Socket 都能录制下来,还要那么多协议做什么,价格还贼贵,其实最主要的原因就是 Socket 录制的代码 可读性较差,如果 Socket 的脚本可读性较高的话,实话就没有其他协议出现的必要性了. 对于邮件来说,首先要看你收邮件的途径,如果你通过 WEB 页面收发邮件,毫无疑问,你选择协议 时就需要选择 HTTP 协议,如果你通过邮件客户端,像 OutLook,FoxMail 之类的,则需要根据操作不同 选择不同的协议了,例如发邮件你可能要选择 SMTP,收邮件你可能需要选择 POP3. Telnet,SSH 选择 RTE 协议.