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

发表于:2015-02-28来源:uml.org.cn作者:不详点击数: 标签:自动化测试
3) 新建函数的原则,不要仅仅考虑目前需求,也要考虑可扩展性。多多考虑你设计的这个函数在将来可能会用到的地方,涉及其他功能的调用,在不同场景

  3) 新建函数的原则,不要仅仅考虑目前需求,也要考虑可扩展性。多多考虑你设计的这个函数在将来可能会用到的地方,涉及其他功能的调用,在不同场景下的调用。

  4) 执行测试用例强调思维的发散,即在按照用例设计执行的基础上,发挥自己的想象力,结合需求上功能点进行交叉测试。那么在设计脚本上,也是可以借鉴,在保证基础功能点检查覆盖外,也可以加入自己认为有必要检查点。另外,对于用例中非重要检查点,脚本实现困难时可以选择不覆盖,但是,需要在对于的用例上加以说明。

  5) 检查自己编写的脚本排版是否美观。

  6) 对于复杂的步骤需要加以注释说明。

  7) 创建函数的命名是否符合规则,是否达到见其名知其义。

  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表中是否存在指定的表

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