自动化测试框架包含的环节
1. 重用性指:开发的功能需要有良好的可重复利用的效果。
例如:
公共的业务单元提炼出来,比如登陆模块。
2. 提供数据和脚本分离
指:在测试脚本中,不出现具体的测试数据,这些测试数据通过外部文件的方式存储。在运行中引用。
例如:
- 测试数据
- 测试脚本
- 测试结果
3. 提供脚本和业务分离
指: 业务脚本和测试用例区分开,业务脚本单独放在一个java文件中,供测试脚本执行调用。
例如:
- 测试用例
- 业务流程
- 测试数据
4. 提供框架执行报告
主要是提供测试执行的接哦过报告,目前很多开源的已经提供测试报告,大家开源根据自己的需求进行修改。
例如:
- TestNG本事自带的报告。
- TestNG-xslt可以优化TestNG产生的测试报告
- ReportNG
5. 提供脚本开发的环境配置
框架需要提供可配置的环境变量,不能再框架中写死环境的参数。
例如:
- 开发环境
- 集成环境
- 测试环境
- 预发布环境
6. 框架的执行性能
指的是框架执行测试脚本的性能效果怎么样?采用什么样的机制去执行,框架提供怎么样的配置去允许框架如此执行。
例如:
- 多进程执行测试脚本。
- 分布式执行测试脚本。
7. 框架的执行
指的是框架支持怎么样的一个执行效果,允许单执行,多执行,失败执行等,需要提供这样的一个机制。
例如:
- 执行单独的测试用例;
- 批量执行测试用例;
- 只执行失败的测试用例;
- 可以在前一组测试用例执行结果的基础上,执行下一组测试用例;
8. 脚本的版本管理
脚本的版本管理机制,根据不同的需要执行不同的版本的测试用例。框架需要提供这样的一个功能。
例如: 不同版本的APP
- 目前TestNG提供分组的功能可以考虑使用。
- 在配合SVN或者git的本地存储功能。
9. 框架提供执行日志
在脚本执行的过程中,打印出来的运行信息,特别是打印出框架的信息,测试数据的信息以及配置项加载的信息,错误信息等。
例如: 框架的执行信息
10. 代码的编写规范
主要是指代码的注释规范,命名规范以及配置项的设定规范等。
例如:
- 注释规范
- 框架布局规范设定
11. 易于调试
编写测试脚本的时候方便脚本的调试。
- 调试在自动化过程中占据了大量的时间,因此在调试这个过程中需要加以特别的关注
12. 易于维护
指框架在后期修改的时候,不会影响到脚本的,另外就是脚本容易维护修改。这个主要是体现在框架的设置上面。
例如:
- 测试数据的分离
- 出错后容易排查问题等
13. 易于脚本的编写
主要是框架要根据业务的需求提供尽可能多的功能,让脚本更简单,快捷。
例如:接口测试框架
- 只需要按照框架提供的测试流程即可完成用例的编写。
- 比如提供一键式生成测试脚本等
- 第三方功能的支持 我们在编写框架的时候要考虑成本,很多开源的东西都已经存在了,没有必要在花心思在去写,这个时候我们都可以借用这些工具,在工程中只要引用这些jar即可使用。
例如:
- 使用pom工程,把jar直接引用进来。
- 测试工程一键式生成配置。
14. 数据库的配置管理
主要是基于测试环境的变化,我们所使用数据库也是针对不同的环境的,我们这个时候也需要同环境一样进行环境的切换。
例如:
- 开发环境的数据库
- 集成环境的数据库
- 测试环境的数据库
- 预发布环境的数据库
- 数据库配置:
- 数据源配置[]
15. 数据库的操作管理
指框架提供的框架对数据库的相关操作。
例如:
增删查该操作。 数据连接 数据初始化 ,数据清理,数据检查等
16. 环境的切换
指框架提供快速切换环境的能力,一个配置项的修改即可达到环境切换
例如:
- 切换Mock环境
- 切换测试环境
17. 框架提供的测试用来编写流程规范
指的是框架要求的一些流程规范,编写规范,文件的存放位置等。
例如:
测试数据的命名 测试脚本的存放位置
- 测试脚本的命名
18. 同其他工具的结合
比如同缺陷工具,测试平台,持续集成等的结合,都需要考虑下。