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

发表于:2015-1-12 13:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:HYHOLINE    来源:51Testing软件测试网采编

  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表中字段【★测试用例名称】
  举例:假设,新建测试集的名称(测试用例的父文件夹名称)为“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) 函数名是否会存在重名,如果存在重名会导致调用失败。
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号