11.8 自动化测试脚本编写规范(1)

http://book.51cto.com  2010-04-09 13:33  曹向志  电子工业出版社  我要评论(1)
  • 摘要:《软件测试项目实战——技术、流程与管理》第11章项目测试的自动化,包括自动化工具QTP介绍、自动化测试流程、自动化脚本编写规范、QC和QTP构建自动化测试框架等。本节为大家介绍自动化测试脚本编写规范。
  • 标签:软件测试  项目实战  软件测试项目实战——技术、流程与管理
  • 限时报名参加“甲骨文全球大会·2010·北京”及“JavaOne和甲骨文开发者大会2010”
11.8  自动化测试脚本编写规范(1)
为了使所有的测试工程师在进行自动化设计和测试时能够使编写的脚本风格一致、步骤一致,能够把大家的设计和代码组装在一起,因此有必要对自动化测试脚本编写进行统一的规范化,下面就先来介绍我们的项目组整理编写的自动化脚本编写的规范。
1.自动化脚本编写的规范
1)基本信息
在每个脚本模块的最上面,必须写上脚本运行的软件和硬件环境(如IE版本、QTP版本、数据库版本等)、外包项目名称、脚本编写人(使用英文名或中文拼音缩写)、脚本创建时间、脚本修改时间、修改说明、输入参数、输出参数、脚本描述等。
2)常量命名规范
常量的命名应该全部用大写,使用"_"作为单词间的分隔符,单词尽量使用全名称,如,Public Const MSG_EMPTY_ROW As String = "有空行存在"。
使用Public而不是早期版本的global来声明变量。
另外,对常量的声明必须带上类型,如前面的As String。
3)变量命名规范
变量命名应该简单,应尽量使用缩写。如果是一般的值类型(如integer string),则直接使用变量用途命名。尽量使用全名,例如,Dim name As String;如果是一般的临时性变量定义,应该尽可能地简单,例如,Dim i As Integer;如果名称由多个单词组成,则取每个单词的首字母,如EntityManager缩写为em,ProcedureManager缩写为pm;如果名称由一个单词组成,则对单词进行分段取首字母,如Entity缩写为et。缩写应该控制在3个字母以内,且尽量清晰。
4)参数命名规范
参数命名的原则是全部用小写,如果参数包括两个或两个以上的单词时,首单词字母小写,其他单词首字母大写,如stepName、stepDescription。
5)函数命名规范
此处函数包括sub和function,函数表示的是一个动作,所以它的结构应该是动词+名词,动词必须小写,后面的名称首字母大写,如getMaterialCode。函数命名尽量不要使用缩写,而且它的名称应该使人一目了然,能够从名称就知道这个函数的功能,不要使用无意义的函数名称。当函数名称不足以表达其功能时,应使用在函数头部加上让调用者足够明白的注释。
6)代码注释规范
注释务必做到准确简洁,能够充分表达代码实现的功能。
7)空行
空行是区分代码块与块的间隔,在函数之间必须加上空行;而在函数内部,变量声明块和实现块(实现块指除变量声明外的其他代码)要使用空行来间隔,实现块的内部,通过空行来标识一个功能段。
8)缩进
必须严格执行缩进,变量声明块不缩进,实现块必须保证全部缩进(不可能有实现块是行首对齐的);对于基本的控制结构来说,必须要有缩进,如IF、DO、WITH、FOR、WHILE块。
9)续行
对于过长的语句来说,必须使用续行,续行位置要有明显意义,例如,sql ="SELECT [code],[name] FROM [Person]"_&"WHERE [code] LIKE'001%'"。
另外,还要通过管理对象库来提高代码的可读性,通过修改命名来达到更加易读的效果。对于使用比较频繁的代码块来说,最好将其写成函数,并尽量将功能复杂的大函数拆分成小函数。
注意:在任何地方,不要写ElseIf语句,最好转换成If…Else…Endif结构。
2.业务组件测试
BPT为Bussiness Process Testing的缩写,译为业务组件测试。
1)业务组件的简介
业务组件是组成流程测试的基本单元,组合不同的业务组件可以实现不同的业务流程测试。如将黄金交易系统的登录作为一个组件,将交割申报作为一个组件等,然后可以将这些组件按照一定的业务流程组合在一起,以满足不同业务流的测试。这里业务组件可以重复使用,从而在一定程度上提高自动化开发的效率。
2)业务组件测试的优点
业务组件测试有以下几个优点:
相关业务人员可以在没有脚本的环境下组合业务组件,实现业务流程。
对业务人员的编程能力没有要求,业务人员只需了解系统的业务流程,不用关心具体的脚本实现。这一点也实现了业务层和脚本层的分离。
一旦某个组件开发完毕,即可在不同的流程中使用该组件,实现高可复用性,从而加快业务流程测试的速度。
明确角色分工,业务人员负责流程的开发、组织;QTP工程师负责脚本的开发、维护,以及相应函数库的开发、维护。
因为实现了脚本的复用,提高了自动化开发的效率,在无形中降低了测试过程中维护的时间和成本。
【责任编辑:云霞 TEL:(010)68476606】

脚本 编写 规范

0

分享

微博 QQ 微信

收藏

上一篇:简述PostgreSQL字符集的... 下一篇:无线故障排查要点汇总
51bom

492篇文章,19W+人气,0粉丝

转载于:https://blog.51cto.com/2189440bop58/406951

11.8 自动化测试脚本编写规范(1)相关推荐

  1. Postman接口测试脚本编写规范

    Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...

  2. 基于selenium的自动化测试脚本编写-python

    浏览器操作 1 启动浏览器并打开网页 2 拖拽操作 3 弹窗处理 4 后退前进关闭 5 cookies操作 异常处理 1 等待 11 sleep函数 12 隐示例等待 13 使用javascript ...

  3. QTP/UFT(二):自动化测试脚本编写方法

    2021.04.24 自动化测试方案选取时需考虑的因素(康康就行,并不是很重要) 项目的影响:自动化测试能否对项目进度.测试覆盖率.风险有积极的作用,或者让开发更敏捷 复杂度:自动化是否容易实现,包括 ...

  4. 自动化测试脚本统一规范模板

    前言:为了便于自动化脚本的统一开发和修改,方便后续的维护,规定自动化测试脚本的统一格式,请参考格式编写和验收 以test_getflash.py脚本为例: 测试脚本规范实例 说明如下: 区域一:pyt ...

  5. QTP简单框架(5)之脚本编写规范

    脚本是基于saffron来改写的,修改了2个比较大的地方:框架目前支持设置对象多个属性.通过CreationTime来控制当前浏览器. 另外还添加了许多平时写脚本中需要的小功能.所以在正式编写脚本时, ...

  6. 03—Shell脚本编写规范

    1.shell脚本的第一行是指定贾肯解释器,通常为: #!/bin/bash 或 #!bin/sh 2 .shell脚本的开头会加版本,版权等信息: #Date:16:29   2017-3-1 #A ...

  7. 自动化测试脚本编写小结

    文章目录 1. 注释 2. 代码抽取.封装 3. 业务相关 4. 结果校验 5. 调试 6. 提交代码 7. 及时总结 8. 向同事学习 1. 注释 业务代码必须要写好注释.变量的命名也需要考虑规范, ...

  8. 总结:linux 学习之 shell 脚本编写

    一.Shell 脚本编写规范 1.一个规范的 Shell 脚本在第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在 Linux bash 的编程一般为:#!/bin/bash  或 #! ...

  9. shell脚本编译规范(编写第一个脚本,脚本变量的作用,类型 ,了解read命令,let命令,环境变量和预定义变量)

    文章目录 shell脚本编译规范 shell脚本应用场景 shell编程规范 编写第一个脚本 执行脚本文件四种方法 echo输出友好提示信息 管道与重定向 管道操作符号"|" sh ...

最新文章

  1. 多媒体视像会议中音视频矩阵的用途
  2. SAP云平台部署HTML5应用时的错误消息Failed to report quota consumption
  3. SAP Netweaver gateway cache table logic
  4. echo 12345678 | base64 产生的结果跟12345678真正的base64编码不对
  5. java maven 操作 收集的一些命令
  6. 从底层重学 Java 之两大浮点类型 GitChat链接
  7. 【NOIP2015提高组】子串 区间DP+滚动数组优化
  8. 使用js获取IE浏览器版本
  9. 解决方法:SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正
  10. PyQt5学习笔记2-GUI编程基础-2
  11. 深度学习(01)——安装anaconda
  12. IIS和Tomcat共用80端口的解决方案
  13. ant接口用什么天线_拆解测量真假钻石手台天线SRH805S
  14. 追赶法matlab算法,追赶法matlab程序
  15. ApacheCN 翻译/校对/笔记整理活动进度公告 2019.9.13
  16. Win7盗版提示,屏幕右下角出现 Windows内部版本7601此Windows副本不是正版怎么办...
  17. 火狐 Firefox 浏览器书签同步问题
  18. 免费采集器-网页数据采集器
  19. Cocos Creator AnySDK支付问题
  20. Genymotion-ARM-Translation.zip各安卓版本合集

热门文章

  1. [IE兼容性] Table 之边框
  2. [Ext JS 4] 拖放[drag and drop]
  3. linux运行库,Linux C 静态库 共享库 运行库
  4. mysql 5.5 特性_MySQL5.5复制新特性
  5. python 跳过异常元素继续,在python中的迭代器/生成器中引发异常后继续
  6. JavaScript中的点击事件
  7. android 按钮事件添加事件吗,android为按钮添加事件的三种方法
  8. 计算机组成与设计第五版英文_教学设计gt;小学信息技术计算机的组成教师资格证面试模板...
  9. python导出excel数据表中追加数据_python pandas在已存在的excel中追加数据
  10. nginx ---- nginx服务器版本升级和新增模块