博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动化框架应该具备的要点
阅读量:5172 次
发布时间:2019-06-13

本文共 1673 字,大约阅读时间需要 5 分钟。

自动化测试框架包含的环节

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. 同其他工具的结合

比如同缺陷工具,测试平台,持续集成等的结合,都需要考虑下。

转载于:https://www.cnblogs.com/woniukanshu/p/7724829.html

你可能感兴趣的文章
全球外贸客户资源网站总汇
查看>>
杂项-CORS:CORS(跨域资源共享)
查看>>
杨柳目-杨柳科:杨柳科
查看>>
Node.js:JXcore
查看>>
软件工程
查看>>
Codeforces Beta Round #61 (Div. 2)
查看>>
Android实战——LeakCanary检测内存泄漏
查看>>
http协议
查看>>
js替换问题replace和replaceAll
查看>>
c++11 : range-based for loop
查看>>
中国农历2013,2014 (zz.IS2120@BG57IV3)
查看>>
用virtualenv建立独立虚拟环境 批量导入模块信息
查看>>
重读《从菜鸟到测试架构师》--构建测试
查看>>
PHP中strtotime()的使用
查看>>
Sublime Text3 插件:convertToUTF8
查看>>
BZOJ4060 : [Cerc2012]Word equations
查看>>
hdu2089不要62(数位dp)
查看>>
JAVA输出最大值和最小值
查看>>
64位weblogic11g安装
查看>>
oracle、mysql、sql server等;流行数据库的链接驱动配置
查看>>