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脚本开发规范的更多相关文章

  1. loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取

    转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...

  2. Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本

    脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ...

  3. Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试

    脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试 by:授客 QQ:1033553122   目的 实现基于http协议的流媒体在线视频播放,服务器性能测试脚本,模拟用户浏览器方式在线播放 ...

  4. Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本

    脚本开发-利用Loadrunner生成Web service测试脚本 1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“ ...

  5. loadrunner 脚本开发-执行操作系统命令

    脚本开发-执行操作系统命令 by:授客 QQ:1033553122 思路: 用loadrunner system()函数 函数原型: int system( const char *string ); ...

  6. loadrunner 脚本开发-文件下载

    脚本开发-文件下载 by:授客 QQ:1033553122 下载简介 对 HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”.“另存为操作 ...

  7. loadrunner 脚本开发-基本知识

    脚本开发-基本知识 1)编码工具设置 自动补全输入Tools->General Options->Environment->Auto complete word 显示功能语法Tool ...

  8. Loadrunner 脚本开发-利用web_submit_data函数实现POST请求

    脚本开发-利用web_submit_data函数实现POST请求   by:授客 QQ:1033553122 概述 web_link()和web_url()函数都是页面访问型函数,实现HTTP请求中的 ...

  9. Loadrunner 脚本开发-从文件读取数据并参数化

    脚本开发-从文件读取数据并参数化 by:授客 QQ:1033553122   直接上代码: char* testfn() { int count, total = 0; //char buffer[1 ...

随机推荐

  1. tf.train.batch的偶尔乱序问题

    tf.train.batch的偶尔乱序问题 觉得有用的话,欢迎一起讨论相互学习~Follow Me tf.train.batch的偶尔乱序问题 我们在通过tf.Reader读取文件后,都需要用batc ...

  2. OpenCV---高斯模糊(均值模糊的另一种)

    高斯分布: 高斯模糊的原理 一:图像产生高斯噪声循环代码实现(耗时) def clamp(pv): #使我们的随机值在0-255之间 : : return pv import cv2 as cv im ...

  3. dp+分类讨论 Gym 101128E

    题目链接:http://codeforces.com/gym/101128 感觉这个人写的不错的(我只看了题目大意):http://blog.csdn.net/v5zsq/article/detail ...

  4. spfa+剪枝 或者 dij+手写堆+剪枝 UOJ 111

    http://uoj.ac/problem/111 好像NOIP里面的题目...有好多都是...能通过xjbg剪枝来...AC题目的? 得好好学一下这些剪枝黑科技了... 思路:我觉得这位大佬说的很完 ...

  5. Python学习笔记(补充)Split 用法

    >>> u = "www.doiido.com.cn" #使用默认分隔符 >>> print u.split() ['www.doiido.co ...

  6. Python学习笔记(十)匿名函数

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431843456 ...

  7. java中集合去重2

    1.对集合中的自动定义的对象去重: 自定义Person类,同时复写hashCode和equals方法 package collection; public class Person { private ...

  8. spring boot(一):入门

    Spring Boot的优点 Spring Boot 是伴随着 Spring 4.0 诞生的,从字面理解,Boot是引导的意思,因此 Spring Boot 旨在帮助开发者快速搭建 Spring 框架 ...

  9. Spring 5.0

    Spring 5.0都有什么新功能? 1.最低要求支持JDK8+, J2EE 7+. 2.移除了一些包.类及方法. 3.核心功能加强:全面应用jdk8并兼容jdk9等. 4.SpringMVC:支持s ...

  10. js获得页面鼠标位置

    1.客户区坐标位置:clientX,clientY 鼠标相对于在当前页面可视范围左上角的位置 2.页面坐标位置:pageX,pageY 鼠标相对于页面左上角的位置(受滑动等影响,例如pageY=cli ...