LoadRunner录制脚本时的protocol选择

简介:

首先这个ptotocol是指应用层的协议,是你的客户端使用什么协议访问你的服务器server

  在选择protocol遇到困难时,说明我们在学习LR的过程中,至少存在两个方面的问题:

  1、对LR的工作原理认识不清。

  LoadRunner属于应用在客户端的测试工具,在客户端模拟大量并发用户去访问服务器,从而达到给服务器施加压力的目的。所以说LoadRunner模拟的就是客户端,其脚本代表的是客户端用户所进行的业务操作,即只要脚本能表示用户的业务操作就可以。

  2、网络通信的基础知识不牢。

  不了解这个协议的选择原则,不了解被测试系统的总体架构。

  说到通信协议我们来熟悉一下协议的分层,按照OSI的分层模型,分层结构如下:

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

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

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

  那现在来说说如何解决问题,首先,你要通过一定的渠道来了解测试对象的应用层通信协议:

  1、通过询问开发人员获知所运用的协议,通常这是最基本也是最直接的要领 ;因为没有人比开发人员更清楚他们所开发的运用 程序运用的什么通信协议了;

  2、通过概要或细致设计手册获知所运用的协议,在没有开发人员支持的情况,通过概要设计或细致设计获知所运用的协议不失为第二简便要领 ;

  3、通过协议分析工具捕包分析,然后确定被测对象所运用的协议。在运用协议分析工具分析协议流程当中一定要摒除底层协议,不要被底层协议所迷惑;

  4、通过以往测试体会确定被测对象所运用的协议,当然通过这种要领确定的协议有一定的不准确性;

  其实也可以尝试用多种协议来分别录制脚本,看哪些是成功的,哪些录制的脚本内容为空。录制成功的,也可以比较一下脚本的差别。

  最后来说一说选择脚本的一些基本原则【转载】:

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

  C/S结构,可以根据后端数据库的类型来选择,如SybaseCTLib协议用于测试后台的数据库为Sybase的运用 ;MSSQLServer协议用与测试后台数据库为SQL Server的运用 ;对于一些没有数据库的Windows运用 ,可选用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。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
12月前
|
网络协议 测试技术 Windows
Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
128 0
|
12月前
|
Java 测试技术 Android开发
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
79 0
|
12月前
|
测试技术
Loadrunner 脚本录制-通过代理录制脚本
Loadrunner 脚本录制-通过代理录制脚本
125 0
|
12月前
|
SQL 关系型数据库 MySQL
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
68 0
|
测试技术
loadrunner 运行脚本-命令行运行脚本
loadrunner 运行脚本-命令行运行脚本
85 0
|
存储 XML 缓存
loadrunner 运行脚本-Run-time Settings-Browser Enmulation设置详解
loadrunner 运行脚本-Run-time Settings-Browser Enmulation设置详解
101 0
|
测试技术 程序员
loadrunner 运行脚本-Run-time Settings-ContentCheck简单设置
loadrunner 运行脚本-Run-time Settings-ContentCheck简单设置
64 0
|
测试技术
loadrunner 运行脚本-Run-time Settings->General->Additional attributes设置
loadrunner 运行脚本-Run-time Settings->General->Additional attributes设置
76 0
|
Java Unix 测试技术
loadrunner 运行脚本-Run-time Settings之Preferences设置
loadrunner 运行脚本-Run-time Settings之Preferences设置
132 0
loadrunner 运行脚本-Run-time Settings之Preferences设置
|
测试技术
loadrunner 运行脚本-Run-time Settings之Pacing设置
loadrunner 运行脚本-Run-time Settings之Pacing设置
137 0