Loadrunner脚本开发规范
Loadrunner脚本开发规范
 
目录
1.一般约定... 3
2.代码注释约定... 4
3.格式化代码... 5
 
1.一般约定
1.1具体脚本规则,必须在具体代码中加注释,以便脚本开发人员阅读和理解脚本。
1.2脚本的存放规则:
测试脚本应该存储在指定的库中,例如一个共享的驱动盘或测试管理工具中。为节省空间,便于复用,测试脚本的文件夹下的: result,res,date 文件夹,后缀名为:.idx  .log  .txt 文件都可不必保留。
 
   1.3脚本中 auction的命名规则:
录制脚本前有个命名规则非常有必要,否则同一动作会有多个事务,会给数据收集、分析带来不必要的麻烦。
假设某J2EE系统实现开户、销户业务,那么自然会有Login、OpenAccount、DestroyAccount和LoginOut动作。那么录制LR脚本时,脚本中的Action列表应该为:
脚本1:初始化-Login-OpenAccount-LoginOut-结束动作
脚本2:初始化-Login-DestoryAccount-LoginOut-结束动作
(即只有一个动作不同)
这样做其目的是创建场景Scene时,在Login、LoginOut的事务只被记录一次
1.4 变量命名规则
变量的命名的基本原则是使得变量的含义能够从名字中直接理解。可以用多个英文单词拼写而成,每个英文单词的首字母要大写,其中英文单词有缩写的可用缩写;变量的前缀表示该变量的类型;对于作用域跨越10行以上的变量名称不能少于4个字符,除循环变量,累加变量外不得使用I、j、k等名称的变量。变量分为取全局变量和局部变量,对于全局变量以加前缀“g_”来区分
1.5 常数名规则
常量所有的字母均为大写。并且单词之间使用下划线”_”隔开。例如:
USER_LIST_MAX
NEW_LINE
1.6 函数名命名规则
函数/过程名称应该尽量使用能够表达函数功能的英文名称,函数名称中应该禁止使用如同function1,function2等含义不清的名称。单词间应该使用大小写分隔。全局函数/过程名称以“g_”前缀开始。代码注释约定
2.代码注释约定
在软件中对每个文件头,自定义函数和变量,重要的处理过程都要有必要的注释。
  2.1 源程序头的注释和规范
  每个文件头插入注释,标明文件的用途和作者,注释如下:(注释尽量用中文)
  //程序名称
  //版权说明
  //版本号:
  //功能:
  //开发人:
  //开发时间:
  //修改者:
  //修改时间
  //修改简要说明
  //其他
  2.2 函数的注释
  每个函数前面注明函数的功能和输入,输出。注释为:
  //名称
  //功能:(说明函数的功能)
  //输入参数:(说明每个输入参数的用途和取值约定)
  //输出参数:(说明每个输出参数的用途和取值约定)
  //返回:(说明返回值,返回值的含义和约定)
  2.3 变量注释
  直接在变量后面注明变量的用途和取值约定,如:
  int status; //记录处理状态,0: 成功,1: 错误
  2.4 类型定义注释
  指类和记录等等定义的注释。在注释中标明定义的用途。
  2.5 区的注释
  同一个类的成员方法要求排列在一起,共同协作而实现同一个功能的函数和过程要求排列在一起。代码通常使用几个函数和过程来实现某一项功能,这时候需要使用区注释将这些具有共同目的的函数和过程标明出来。
  使用整行的”*”作为隔离行,让程序清晰可读。
  一般删除的代码不建议直接删除,最好用“//”注释起来。
  2.6 代码中的注释
  在代码中要求注释的地方有:
  代码中的关键部分;
  在使用特殊算法或者逻辑性较强的代码;
  在修改或删除代码部分,需要加注释;修改/删除人,目的.
  
3.格式化代码
程序应采用缩进风格编写,每层缩进使用一个制表位(TAB),类定义、方法都应顶格书写;
  左花括号要另起一行,不能跟在上一行的行末;
  一个变量定义占一行,一个语句占一行;
  对独立的程序块之间、变量说明之后必须加空行;
  对于较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读;
  循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分;
  在结构成员赋值等情况,等号对齐,最少留一个空格;
  若函数或过程中的参数较长,则要进行适当的划分。
  形参的排序风格:
  Ø 最常使用的参数放在第一位;
  Ø 输入参数列表应放在输出参数列表的左边;
  Ø 将通用的参数放在特殊的参数的左边
Loadrunner脚本开发规范的更多相关文章
- loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取
		转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ... 
- Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
		脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ... 
- Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
		脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试 by:授客 QQ:1033553122 目的 实现基于http协议的流媒体在线视频播放,服务器性能测试脚本,模拟用户浏览器方式在线播放 ... 
- Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本
		脚本开发-利用Loadrunner生成Web service测试脚本 1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“ ... 
- loadrunner 脚本开发-执行操作系统命令
		脚本开发-执行操作系统命令 by:授客 QQ:1033553122 思路: 用loadrunner system()函数 函数原型: int system( const char *string ); ... 
- loadrunner 脚本开发-文件下载
		脚本开发-文件下载 by:授客 QQ:1033553122 下载简介 对 HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”.“另存为操作 ... 
- loadrunner 脚本开发-基本知识
		脚本开发-基本知识 1)编码工具设置 自动补全输入Tools->General Options->Environment->Auto complete word 显示功能语法Tool ... 
- Loadrunner 脚本开发-利用web_submit_data函数实现POST请求
		脚本开发-利用web_submit_data函数实现POST请求 by:授客 QQ:1033553122 概述 web_link()和web_url()函数都是页面访问型函数,实现HTTP请求中的 ... 
- Loadrunner 脚本开发-从文件读取数据并参数化
		脚本开发-从文件读取数据并参数化 by:授客 QQ:1033553122 直接上代码: char* testfn() { int count, total = 0; //char buffer[1 ... 
随机推荐
- springMVC和mybatis的原理
			mybatis是什么? mybatis是一个持久层框架,是apache下的开源项目,前身是itbatis,是一个不完全的ORM框架,mybatis提供输入和输出的映射,需要程序员自己写sql语句,my ... 
- springMVC的controller返回值
			1.可以返回ModelAndView 2.可以返回一个String字符串:即一个jsp页面的逻辑视图名,这个在springMVC.xml中可以配置此页面逻辑视图的前缀和后缀 3.可以返回void类型: ... 
- python学习(十三)进程和线程
			python多进程 from multiprocessing import Process import os def processFunc(name): print("child pro ... 
- python 学习笔记(十二) 文件和序列化
			python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ... 
- mysql 自动记录数据插入及最后修改时间
			总结: `uptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 原文 应用场景: 1.在数据 ... 
- [Java多线程]-并发,并行,synchonrized同步的用法
			一.多线程的并发与并行: 并发:多个线程同时都处在运行中的状态.线程之间相互干扰,存在竞争,(CPU,缓冲区),每个线程轮流使用CPU,当一个线程占有CPU时,其他线程处于挂起状态,各线程断续推进. ... 
- 利用Zynq Soc创建一个嵌入式工程
			英文题目:Using the Zynq SoC Processing System,参考自ADI的ug1165文档. 利用Zynq Soc创建一个嵌入式工程,该工程总体上包括五个步骤: 步骤一.新建空 ... 
- [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN
			4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ... 
- c++数组遍历十种方式
			int ia[3][4] = {1,2,3,4,5,6,7,8}; //下标 for (int i = 0; i < 3; i++) { for (int j = 0; j < 4 ... 
- 洛谷 2186 小Z的栈函数
			https://www.luogu.org/problem/show?pid=2186 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: N ... 
