|
知识路径: > 测试技术的分类 > 应用负载压力测试 > 负载压力测试实施 >
|
相关知识点:98个
|
|
|
|
测试脚本指Vuser脚本,即虚拟用户回放所使用的脚本。脚本的产生可以采用录制、编写或者录制加编写混合模式,初始生成的脚本经过增强编辑之后,必需再经调试才可用。
|
|
|
Vuser脚本的结构和内容因Vuser类型的不同而不同。例如,数据库Vuser脚本总是包含三部分,是在一段类似C语言并且包括对数据库服务器的SQL调用的代码中编写的。相反,GUI Vuser脚本只有一个部分,并且是用TSL(测试脚本语言)编写的。下图概述了开发Vuser脚本的过程。
|
|
|
|
|
首先,来了解录制脚本。在一般的测试过程中,录制脚本所占比例较大,测试工具提供了大量录制Vuser脚本的工具,并且可以通过将控制流结构和其他测试工具的API添加到脚本中来增强该基本脚本。然后,配置运行时设置。运行时设置包括迭代、日志和计时信息以及定义Vuser在执行Vuser脚本时的行为。要验证脚本是否能正确运行,请以单独模式运行该脚本。如果脚本运行正确,则将其合并到方案中。
|
|
|
那么,录制哪些内容呢?主要录制用户在客户端应用程序中执行的典型业务流程。测试工具通过录制客户端和服务器之间的活动来创建脚本。例如,在数据库应用程序中,测试工具的脚本生成器(VuGen)会监控数据库的客户端,并跟踪发送到数据库服务器和从数据库服务器接收的所有请求。如下图所示为录制活动创建脚本。
|
|
|
|
|
用VuGen创建的每个Vuser脚本都可以通过执行对服务器API的调用来直接与服务器通信,而不需要依赖客户端软件。这样,便可以使用Vuser来检查服务器性能(甚至在客户端软件的用户界面完全开发好之前)。如下图所示为API调用生成脚本。
|
|
|
|
|
此外,当Vuser与服务器直接通信时,不需要在用户界面中耗费系统资源。这样就可以在一个工作站中同时运行大量Vuser,进而可以使用很少的测试计算机来模拟非常大的服务器负载。
|
|
|
测试工具都留有手工编写脚本的入口,例如C script、Java script、VB以及汇编语言等,并且提供相应测试类型的API,测试人员在此环境下可以编程生成脚本。
|
|
|
脚本的调试也是非常重要的工作,例如我们要调试C/S脚本,那么应该注意些什么呢?
|
|
|
对于C/S结构的脚本,在数据量大时,脚本非常庞大,如果全部看一遍,根本是不可能的。对于这种脚本的调试,应注意以下几个方面。
|
|
|
|
我们经常会碰到某个表单的编号是记录在另一个表中的,程序通过查询这个表,并加1来获取到这个编号。对于这种问题,可以分解为以下3步(以ORACLE数据库为例)。
|
|
|
①获取数据,可使用lrd_ora8_save_col函数。
|
|
|
②函数值加1处理,可使用lr_param_increment函数。
|
|
|
③替换处理,即把Update中的具体值替换为我们获取并处理好的参数就可以了。
|
|
|
|
这一过程,我们所关注的,不过是Insert及Update语句。将这些语句中违反数据库约束的地方进行参数化就可以了。而且仅关注这些语句,基本上就可以搞清楚整个程序的处理流程。理清关系,作参数时直接Replace All(录制脚本时注意使用的数据最好有特点,这样替换过程中就不会把不该替换的也替换了)就可以了。
|
|
|