性能测试概念点分析与过程讲解(一)

1. 录制方式:

基本流程为:协议选择→设置录制选项→开始录制→插入命令→停止录制→回放验证

协议选择:根据程序框架决定,比如一般情况下,B/S架构的程序都会使用http协议,当然还有一些ftp协议等,C/S架构的程序则很可能会使用一些不常见的协议所以,协议选择这一步,最好和对于开发人员沟通好确定好。

设置录制选项:

1)、录制准备事项

Start recording 设置:

Application type:可选择需要录制的对象类型,Internet Applications(录制对象是一个网络应用,基于浏览器)、Win32 Applications(支持Win32的标准客户端)。

Program to record:设定需要录制的程序名,默认为IE,建议不要使用其他的三方的浏览器进行录制,以免出现不兼容,火狐低版本可以兼容,如果经常需要录制脚本,建议准备一下低版本的火狐浏览器,毕竟支持H5页面的浏览器不多。

URL Address:录制的地址,比如www.aicai.com。

Working directory:用来指定代码的工作目录,一般默认就好。

Record into Action:设置录制内容的存放位置,vuser_init、Action、vuser_end这里需要说明的是vuser_int/vuser_end只会初始化一次,也就是说,无论脚本循环几遍,每个虚拟用户只会在启动脚本和结束脚本时去分别执行vuser_int脚本和vuser_end脚本。真正执行循环的脚本则是主体action,因此看压力需求需要,一般的压力测试主体都会放在action,但是比如在压力主体前需要登入,但压力测试的业务又不是主要压测登录,则会将登入放在vuser_init里面。

2)、录制选项

Recording Options 设置:

Script:基于Web(HTTP/HTML)协议的Vuser脚本是使用C语言作为标准的。

Protocols:协议列表,一般在创建脚本时,会选择好录制脚本的协议,那么这时候的协议列表则是在选择好的协议之下所包含的各个协议。

Recording:录制选项用于设置Web(HTTP/HTML)使用的录制方式,HTML-based Script(以HTML操作为录制级别)、URL-based Script(以HTTP请求为录制级别)。

这里可以对这两种录制方式进行进一步的说明:

HTML-based script是默认的模式,该模式可以为每个用户操作生成单独的函数.URL-based script则可以捕获所有作为用户操作的结果发送到服务器的HTTP请求,然后一一记录下来.URL-based script模式甚至可以捕获非HTML应用程序,例如小程序和非浏览器应用程序. 因此,可以这样理解,HTML-bsed script 可以看做是基于动作的录制方式,每次操作一个总请求,然后总请求里面包含了该动作的所有请求,比如我们点击首页这个动作,该动作可能包含有很多图 片,css,js。等等请求,而这些请求都包含在一个请求提交里面。URL-based script 则可以看做是基于url请求的录制方式,这个模式下,每个操作中包含的所有请求会以http请求的方式独立发给服务器,也就是说一个点击首页的操作,可能 包含css,js,图片等30多个请求,那么这些请求都是按一些顺序单独发过去的,一个个异步加载。

使用HTML-based script录制的脚本直观,易于理解和维护,而基于URL-based script模式录制生成的脚本内容看起来会比较多,将HTML方式中的一个函数拆分成了很多独立的函数,但是这种脚本的可伸缩性更强,记录了更详细的用 户操作信息.所以一般有经验之后都会喜欢这种模式,而且这种模式下跟我们抓包抓到的数据是一一对应的。当然,具体怎么来选择用那种方式并没有强制性,可以 按自己的习惯来,但是有几种请求则必须使用URL-based script 模式。比如 存在ajax提交的业务操作。爱彩则大量使用了这种提交方式。

选择哪种模式应该根据实际需要来进行,下面是一些常见的参考原则:

1.基于浏览器的应用程序推荐使用HTML-based script

2.不是基于浏览器的应用程序推荐使用URL-based script

3.如果基于浏览器的应用程序中包含了java script,并且该脚本向服务器发送了请求,比如DataGrid的分页按钮等,推荐使用URL-based script;

4.基于浏览器的应用程序中使用了HTTPS安全协议,建议使用URL-based script方式录制.

Date Format Extension:将一些常见的编码格式进行转换,便于后期处理,可针对Body、Headers、Cookies、Query String四种数据段进行转码。这一块一般请求直接默认吧。

Port Mapping:提供了对端口映射的处理规则。

Correlation:打开脚本录制时的自动关联选项。

3)、 开始录制

当设置好录制选项后,单击OK按钮启动录制。

首先会看到Recording Bar,然后就会弹出IE并自动跳转到设定好的页面,接下来就是按正常操作流程对页面功能操作一遍了,而LR会把操作过程转换成一个个提交请求。

4)、 插入命令

在录制的过程中可以通过Recording Bar添加一些命令。如切分脚本、添加事务的开始点和结束点、添加集合点、添加注释 等等,根据需要,按需酌情添加,对脚本业务没有什么关系和影响。

5)、结束录制

录制结束后,单击Stop停止录制,客户端和服务器交互协议会被放在Generation Log内,VuGen随后会对协议交互进行分析,生成脚本。

转载至:(作者:owenhe 来源:http://www.cnblogs.com/7test/articles/4778743.html)

原文地址:https://www.cnblogs.com/Grace7582/p/4808297.html