一、平台介绍:
本文介绍 ES_AUTOTEST 平台的框架结构、组成模块及实现流程等。让读者对 ES_AUTOTEST 平台有个基本的认识。ES_AUTOTEST 平台就是为了使测试自动化而开发的各种工具的集,通常包括测试用例执行、测试报告生成、测试脚本管理,以及各种接口各种脚本支持等等。
二、主要工具及平台
1 testlink:testlink 是一款开源用例管理工具,主要用于 ES_AUTOTEST 平台中的用例管理
2 Jenkins:Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,用于持续继承,任务调度等
3 unittest 框架:unittest 单元测试框架不仅可以适用于单元测试,还可以适用 WEB 自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。
4 Git:自动化脚本管理
5 Python:脚本开发语言
三、支持功能
通过配置文件灵活配置运行模式(jenkins 参数化配置修改配置文件,用户可任意配置测试需求):
支持协议和请求方法(可拓展其他协议和请求方式):
支持请求报文格式:json(可拓展其他非 json 格式)
支持数据校验:数据库数据校验和请求返回值合法校验
支持接口测试范围:
支持用例界面化管理,主要通过 testlink 完成
支持可视化测试报告及日志分析(excel 格式)
支持测试环境切换:通过指令模式:python+ 主函数 +argv[1] 可配置切换
支持可持续化集成(Jenkins)
四、平台实施流程
说明:
实线为一个完整的过程,虚线为在执行过程中会伴随着产生的动作。橙色区域是自动化迭代的一个过程
每日构建的动作触发:有 2 种方式,一个是定时执行,一个是检测到有新的版本生成(CI 通知测试平台或者检测 git 版本路径),目的是为了能够实现敏捷测试,无人值守测试。
用例管理:主要是集中管理测试用例,借助 git 模块来进行
配置管理:随着用例增加,用例的级别不同,以及测试类型不同,生成对应的配置参数,用来控制脚本的执行
当手工触发时,可以需要额外发送邮件
五、平台实现设计
说明:
• 自动化测试平台:监听 CI,客户端指令,并根据指令响应动作(比如取测试脚本),同时可以解析脚本,并执行脚本,触发测试工具执行,并收集测试工具执行数据,分析比对测试数据,并把测试结果上报给 CI
• git:用于管理测试脚本
• CI:集中控制处理平台,用于控制版本编译,控制自动化测试平台测试执行,收集最终测试结果,并以邮件形式通知关注责任人。
• 数据库:被测程序数据库,用于分析及比对数据
• 被测程序:被测试的程序,可以是服务器,客户端及手机端 (目前支持服务端,后续开发中)
未完,待续……