2018-1-15性能测试之虚拟用户开发(1)
1.1Vuser开发前的准备
1)深入了解系统功能:深入了解系统是进行性能需求分析的前提。
2)深入了解系统架构:分析系统的架构弄清楚开展测试需要做哪些准备工作,系统潜在的压力点在哪,确定重点模拟用户的哪些业务和操作。
3)设计性能测试场景:性能测试场景是Vuser开发的依据,Vuser脚本开发应该以性能测试场景为基础,而不是随意去模拟用户的行为。
1.2脚本协议的选择。
创建虚拟用户的第一步是选择协议。LR支持的协议非常广泛达上百种,每种协议一般适合于特定体系结构。LR支持单协议,也支持组合协议。
LR支持以下九大类型协议:
#Client/Server:
#Custom;
#Database:
#ERP/Crm
#Java
#Mailing Services;
#Remote Access
#Wireless
选择协议的关键是看要模拟的终端用户与服务器之间采用了神马协议进行通信,然后选择对应类型Vuser协议,而与具体的技术开发平台没有直接关系。
下面是一些常见选择Vuser协议的惯例:
1)基于浏览器的应用多选择Web(HTTP,HTML)协议
2)浏览器嵌入了active插件时,可能需要自己开发测试脚本。
3)C/S架构取决于使用的数据库以及具体的网络通信协议
4)基于TCP/IP的网络应用通常会选择Windows Sockets协议
对于测试人员来说,性能测试是为了模拟用户的操作。关注的重点在于待测系统使用了什么协议进行通信,而不是什么语言开发。
通过逐步了解Virtual User Generator (Vugen)的工作原理,我们可以体会到选择协议的重要性。
Vugen生成脚本的过程主要通过Proxy方式来实现,
以web(http/HTML)为例,在开始录制时,Vugen将会打开一个浏览器,这个浏览器会以Vugen作为代理来访问目标服务器。这样在使用Vugen录制用户操作的过程中,Vugen就可以捕获往来于客户端和服务器之间的通信数据包。
录制结束后,Vugen会根据捕获数据包的分析,将其还原成对应的协议的API组成的脚本。同时VuGen会将这些函数生成的脚本插入到VuGen编辑器中,以创建原始的Vugen脚本。
1.3脚本的一般构成
一般由四个部分组成:
vuser-init(用于完成Vuser的初始化操作,比如登录系统)
Action(是Vuser的主要部分,用于存放用户登录后的业务操作)
Vuser-end(用于完成退出与释放资源之类的操作)
globals.h包含一些共有的外部文件,可以在这里定义全局变量。
Vuser-init,vuser-end,且不可以进行重命名操作;Action部分则可以反复迭代执行,既可以重命名,又可以插入新的Action.
脚本开发完成后,还可以在“Run-time Settings" 中通过插入Block 或者action来自定义执行流程。

浙公网安备 33010602011771号