一、平台介绍:

本文介绍 ES_AUTOTEST 平台的框架结构、组成模块及实现流程等。让读者对 ES_AUTOTEST 平台有个基本的认识。ES_AUTOTEST 平台就是为了使测试自动化而开发的各种工具的集,通常包括测试用例执行、测试报告生成、测试脚本管理,以及各种接口各种脚本支持等等。

二、主要工具及平台

1 testlink:testlink 是一款开源用例管理工具,主要用于 ES_AUTOTEST 平台中的用例管理

2 Jenkins:Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,用于持续继承,任务调度等

3 unittest 框架:unittest 单元测试框架不仅可以适用于单元测试,还可以适用 WEB 自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。

4 Git:自动化脚本管理

5 Python:脚本开发语言

三、支持功能
 通过配置文件灵活配置运行模式(jenkins 参数化配置修改配置文件,用户可任意配置测试需求):

  1. 支持按企业服务分类运行,可全部运行可部分运行
  2. 支持按测试阶段运行,冒烟和回归
  3. 支持按指定用例运行
  4. 可拓展其他方式

 支持协议和请求方法(可拓展其他协议和请求方式):

  1. https 对应的 post 和 get 请求
  2. http 对应的 post 和 get 请求

 支持请求报文格式:json(可拓展其他非 json 格式)

 支持数据校验:数据库数据校验和请求返回值合法校验

 支持接口测试范围:

  1. 接口功能是否正常
  2. 接口异常用例测试
  3. 接口安全性测试
  4. 业务接口组合场景测试

 支持用例界面化管理,主要通过 testlink 完成

 支持可视化测试报告及日志分析(excel 格式)

 支持测试环境切换:通过指令模式:python+ 主函数 +argv[1] 可配置切换

 支持可持续化集成(Jenkins)

四、平台实施流程

说明:

 实线为一个完整的过程,虚线为在执行过程中会伴随着产生的动作。橙色区域是自动化迭代的一个过程

 每日构建的动作触发:有 2 种方式,一个是定时执行,一个是检测到有新的版本生成(CI 通知测试平台或者检测 git 版本路径),目的是为了能够实现敏捷测试,无人值守测试。

 用例管理:主要是集中管理测试用例,借助 git 模块来进行

 配置管理:随着用例增加,用例的级别不同,以及测试类型不同,生成对应的配置参数,用来控制脚本的执行

 当手工触发时,可以需要额外发送邮件

五、平台实现设计

说明:

• 自动化测试平台:监听 CI,客户端指令,并根据指令响应动作(比如取测试脚本),同时可以解析脚本,并执行脚本,触发测试工具执行,并收集测试工具执行数据,分析比对测试数据,并把测试结果上报给 CI

• git:用于管理测试脚本

• CI:集中控制处理平台,用于控制版本编译,控制自动化测试平台测试执行,收集最终测试结果,并以邮件形式通知关注责任人。

• 数据库:被测程序数据库,用于分析及比对数据

• 被测程序:被测试的程序,可以是服务器,客户端及手机端 (目前支持服务端,后续开发中)

未完,待续……


↙↙↙阅读原文可查看相关链接,并与作者交流