LoadRunner脚本编码规范

来源:互联网 发布:plc模块化编程实例 编辑:程序博客网 时间:2024/06/11 03:29

众所周知,LoadRunner为业界的标准性能测试工具,那么作为一名性能测试工程师,我们应如何运用该工具LoadRunner来开发可读性强、简洁、美观的性能测试脚本呢?其实使用过LoadRunner的朋友都知道,LoadRunner是支持C Vuser、Java Vuser等协议的,因此针对于C语言、Java语言的编码规范也同样适用于LoadRunner。由于自己平时在性能测试工作中,接触更多的是C语言,因此将针对C语言的编码规范进行简单说明。由于LoadRunner的脚本相对简单,C语言编程中的许多特性用不到,因此需要从C语言规范中做适当简化,以下为自己在LoadRunner脚本开发中遵循的部分规范:

1、注释

规则1.1 文件头部应进行注释,注释必须列出:版权说明、文件名、版本号、生成日期、作者姓名、功能说明、与其它文件的关系、修改日志等,如下:

/************************************************* ***Copyright ©:XX公司测试部**File name:      // 文件名   **Author:         // 作者**Version:       //版本号**Date:         //生成日期**Description:    // 用于详细说明此程序文件完成的主要功能,与其他模块或函数的接口,输                     出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系   **Others:       // 其它内容的说明 **History:     // 修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述               1. Date:                   Author:                             Modification:              2. ... **----------------------------------------------------------------------------**************************************************/

规则1.2 函数声明处注释描述函数功能及用法,包括输入和输出参数、返回值等;定义详细描述函数功能和实现要点等,如下:

/***************************************************************** ** Function name: ** Author: ** Date: ** Input parameters: a,b,c ** a--- ** b--- ** c--- ** Output parameters: x--- ** x 为 1, 表示...** x 为 0, 表示... ** Description:**History: // 修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述               1. Date:                   Author:                             Modification:              2. ... **-------------------------------------------------------------------******************************************************************/

规则1.3 程序中的注释模板

/*----------------------------------------------------------*/ /* 注释内容  */ /*----------------------------------------------------------*/

2、标识符命名与定义

规则2.1 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解,如下:

int error_number;  int number_of_completed_connection;

规则2.2 文件命名统一采用小写字符:因为不同系统对文件名大小写处理会不同(如MS的DOS、Windows系统不区分大小写,但是Linux系统则区分),所以代码文件命名建议统一采用全小写字母命名

规则2.3 变量命名规则:命名必须具有一定的实际意义,形式为xAbcFgh,x由变量类型确定,Abc、Fgh 示连续意义字符串,如果连续意义字符串仅两个,可都大写,如OK。
注:全局变量应增加“g_”前缀;静态变量应增加“s_”前缀;

规则2.4 函数命名规则:以函数要执行的动作命名,一般采用动词或者动词+名词的结构。
示例:找到当前进程的当前目录

DWORD GetCurrentDirectory( DWORD BufferLength, LPTSTR Buffer )

注:函数不变参数使用const

3、变量

规则3.1 一个变量只有一个功能,不能把一个变量用作多种用途
规则3.2 不用或者少用全局变量
规则3.3 防止局部变量与全局变量同名
规则3.4 在首次使用前初始化变量,初始化的地方离使用的地方越近越好

示例: //不可取的初始化:无意义的初始化 int speedup_factor = 0; if (condition) {     speedup_factor = 2; } else {     speedup_factor = -1; } //不可取的初始化:初始化和声明分离 int speedup_factor; if (condition) {     speedup_factor = 2; } else {     speedup_factor = -1; }//较好的初始化:使用默认有意义的初始化int speedup_factor = -1; if (condition) {     speedup_factor = 2; }  //较好的初始化使用?:减少数据流和控制流的混合 int speedup_factor = condition?2:-1;  //较好的初始化:使用函数代替复杂的计算流 int speedup_factor = ComputeSpeedupFactor();

规则3.5 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格,如:

//不可取的写法result=tmp1*tmp2;//较好的写法 result = tmp1 * tmp2;

规则3.6 一行最好只写一条语句,包括一行只声明一个变量
规则3.7 数组声明时要显式的标识大小

//不可取的写法char TempArray[] = “HP Mercurry”;//较好的写法char TempArray[11] = “HP Mercurry”;

4、事务名称的定义
规则4.1 为了提升后续的性能指标数据整理效率,事务名称的定义需要按一定的规则进行,
如:01_001_审核提交
01——————–脚本编号
001——————事务编号
审核提交————事务的简要说明

0 0
原创粉丝点击