软件测试自动化开发的流程,自动化测试项目开发流程说明

本文介绍了VBS编程的命名规则,包括常数、变量、形参、函数和对象的命名方式,并提供了函数库的设计原则。同时,详细阐述了VBS脚本的调试方法,包括设置错误处理模式、使用QTP的调试功能以及如何拆分复杂函数进行调试。此外,还解释了数据驱动的概念,特别是Excel驱动模式的逻辑和使用方法。最后,讨论了公共函数库的编写和使用注意事项,强调了函数封装的重要性。
摘要由CSDN通过智能技术生成

1.5.3. Vbs编写命名规则

1) 常数命名规则

全部字母大写,多个单词用下划线 (_) 分隔。

例如: USER_LIST_MAX 、NEW_LINE

2) 变量命名规则

驼峰命名法。

例如:UserName、Passwd

3) 形参命名规则

全部字母小写,多个单词用下划线 (_) 分隔。

例如:user_name, passwd

4) 函数命名默认规则

动作函数、使用首字母小写驼峰命名法

例如:getEmailName、setNewUserEditValue

检查函数、使用check开头的驼峰命名法

例如:checkMailListBySubject、checkWriteMailMessage

5) 对象命名规则

如果是qtp对象,使用以objqtp开头的驼峰命名法

例如:objqtp_LoginPage、objqtp_WriteMail

如果是dom对象,使用以objdom开头的驼峰命名法

例如: objdom_SettingPage、objdom_PopMenu

6) 业务大模块函数命名规则

参考使用mod开头的驼峰命名法(根据业务的不同,可以采用不同的标示)

例如:mod_SendCommonMailBase、 mod_EditSettingValue_PageStyle

1.6. 脚本调试

代码调试是每个开发人员的基本功,良好对调试习惯和排错方法可以大大提高开发的速度。在实际生产过程中,需要针对实际情况选择最有效的排错方式,因此,针对VBS的代码调试排错,个人提出如下总结:

1) 在调试时需要在Setting窗口将错误处理选择弹窗模式,另外如果有on error resume next的语句,可能包含错误语句,可以先注释掉。

2) 在QTP中,首先需要排除语法错误,可以通过保存脚本或执行语法检查(快捷键:Ctrl+F7)判断脚本VBS语法是否正确,在底部对Information窗口可以查看到相应对错误信息,双击错误信息,可以定位到错误的脚本位置。

3) 认真分析执行中报错对信息,新手往往看到报错很紧张,没有认真阅读错误提示信息就关闭窗口进行调试,这是错的。错误提示信息是分析错误对第一手资料,同时也判断出错误对位置。

4) 设置断点、单步调试、输出变量、查看变量、执行调试动作等,这些都是常规对调试方法,可以有选择的使用。在QTP中,调试的功能还是比较不错的,基本满足调试任务对需要,相关的功能可以认真阅读分析Debug菜单项和Debug Viewer视窗。

5) 调试过程中,有些函数或业务模块过于复杂,可以将通过拆分,将认为可能存在问题对代码行拷贝出来单独调试。这样处理方式更有针对性,排除外部的干扰,降低调试对复杂度。

1.7. 设计数据驱动

1.7.1. 概念说明:

数据驱动是自动化测试框架中的一个重要思想,其目的是要让测试业务逻辑和测试业务数据剥离开,进行分别管理,所带来的最大好处是结构更清晰,维护更便捷。目前框架的数据驱动支持Excel和Mysql数据库的驱动模式,默认是Excel模式,Mysql模式需要另行配置。

1.7.2. 逻辑说明:

Excel驱动模式,通过函数方法【addExcelData】或【addExcelData_Action】执行数据加载,函数根据测试集名称和测试用例名称在Excel数据表【测试驱动数据表.xlsm】中搜索,判断存在相应字段信息则会加载到QTP的数据池中。

Mysql驱动模式,不建议使用,主要原因是从维护上到数据库编辑没有Excel方便。

1.7.3. 使用方法:

在脚本可以通过QTP提供的方法访问数据池中的数据,也可以使用框架封装的方法来访问(框架提供如下数据池操作方法)

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

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表中字段【★测试用例名称】

d600438027ab7e1f6c9826b0dfb19981.png

举例:假设,新建测试集的名称(测试用例的父文件夹名称)为“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) 函数名是否会存在重名,如果存在重名会导致调用失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值