自动化测试项目开发流程说明(3)

发表于:2015-02-28来源:uml.org.cn作者:不详点击数: 标签:自动化测试
2) existDatasheet(Byval sheetname) 3) 判断datatable指定表中是否存在指定的列 4) existDataParameter(Byval sheetname, Byval parametername) 5) 往QTP数据表中加载Excel数据主体函数,

  2) existDatasheet(Byval sheetname)

  3) 判断datatable指定表中是否存在指定的列

  4) existDataParameter(Byval sheetname, Byval parametername)

  5) 往QTP数据表中加载Excel数据主体函数,适用于默认加载Action

  6) addExcelData()

  7) 往QTP数据表中加载指定的Excel数据

  8) addSpecifyExcelData(setname,casename)

  9) 通过封装,获取数据表中的值 GetData(Row,ParamaterID,SheetID)

  10) 返回特定的数据表中的某一列有效行数 getParemeterRowCount(Byval paremetername, Byval sheetname)

  11) 通过封装,获取特点字段对应的数据表中的值 GetSpecialData(Byval reField,Byval reValue,Byval geField,Byval SheetID)

  1.7.4. Excel数据表约定:

  用例脚本的测试集名称 对应于 Excel表中的表名【测试集名称】

  用例脚本的测试用例名称 对应于 Excel表中字段【★测试用例名称】

  举例:假设,新建测试集的名称(测试用例的父文件夹名称)为 “MyTestSet”,测试用例名称为“MyTestCase1”。那么你需要在测试驱动数据表【测试驱动数据表.xlsm】中新建一张sheet表,命名为MyTestSet。在表中添加数据表,表的格式如上图,独立一行命名测试用例名称,在名称前加上小星星图标,表示该值为用例名称,中间部分根据脚本需要添加相应的数据,在末尾独立一行填入结束标示符【◆◆◆◆】,表示当前的用例数据加载到此为止。

  1.8. 设计公共函数库

  1.8.1. 概念说明:

  为什么要写函数?为什么要定义函数库?函数封装本质是体现分工协作的关系,写的人关心函数的内部实现过程,保证功能的实现正确和健壮性。而使用的人仅仅需要函数提供的接口和返回值。这好比你想有辆车,不需要了解内部构造,但是要懂得如何驾驶它。从计算机科学上,函数的封装也体现了开发语言的美,不想让自己成为搬码工的最好方法,就是学会创造、激发自己的灵感,让自己封装出的函数足够灵活强大。

  1.8.2. 使用说明:

  函数库分两类:

  一类是用来支撑自动化测试框架和辅助脚本开发,命名为【GlobalFunction.vbs】;

  一类是针对项目开发的功能函数集合,仅仅为当前的项目脚本开发服务,如:

  动作函数集合(XXX_ActionFunction.vbs)

  检查函数集合(XXX_CheckFunction.vbs)

  对象函数集合(XXX_Object.vbs)

  业务函数集合(XXX_Module.vbs)

  配置函数文件(XXX_Config.vbs)

  目前函数库文件的管理采用头部说明的方式,即在每份函数文件的头部编写函数的目录信息,方便搜索和查阅,在函数设计上需要检查如下10点:

  1) 函数的编写风格是否美观,代码相应的缩进是否排布清晰。

  2) 函数是否可以在现有函数的基础上扩展,如果可以尽量在现有函数的基础上扩展实现。

  3) 函数命名是否符合规则,是否见其名知其义。

  4) 函数中的内部变量是否有定义。

  5) 函数中是否存在冗余的代码,即存在可以通过调用现有的功能函数来实现。

  6) 函数是否充分考虑到功能的扩展和不同场景的使用。

  7) 函数的功能是否正确,是否经过严格的调试和检查。

  8) 函数定义为Function,是否有正确的返回值,对于不同的调用场景下是否有准确的数据返回。

  9) 函数执行过程中,对于特殊情况是否有处理,例如,对象不存在或取值错误的情况下。即,函数的代码是否足够健壮。

  10) 函数名是否会存在重名,如果存在重名会导致调用失败。

  1.9. 设计公共对象库

  1.9.1. 概念说明

  对象库顾名思义即用来管理测试对象。自动化测试最为核心的技术即对象的识别技术,不管哪个自动化测试工具,对象识别越厉害,吸引的使用群体就越多,市场占有率也就越大。所以说,对象识别既是自动化测试的基础,也是难点。QTP中对象库采用了树状文件式的管理方法,分为本地对象和公共对象。本地对象只提供给当前依附的脚本使用,不提供给外部的脚本使用,反之,公共对象,即一个独立的库文件,脚本需要就加载它使用,与之带来的好处,即全部的脚本对象管理仅需要维护一份对象库文件。

原文转自:http://www.uml.org.cn/Test/201304163.asp