测试开发之自动化篇-禅道ZTF自动化框架设计
原创- 2022-09-02 09:00:00
- 2833
在前面的文章中,我们介绍了自动化测试框架设计有关的内容。实际工作中,我们通常没有必要从头开始造轮子,而是可以基于一些开源项目,实现适合自己公司业务的测试框架。
禅道团队在设计ZTF开源自动化测试框架时,我们希望它可以满足以下几个目标:
- 学习成本低,一节课时间即可上手;
- 尽量减少对公司现有测试资产的侵入;
- 免安装,下载后解压即可用;
- 支持流行的各种脚本编程语言;
- 兼容主流的自动化测试框架;
- 丰富的命令行参数,以方便在持续集成工具中使用;
- 自带一个简洁、易用的客户端;
- 支持各种主流操作系统;
- 可以和公司现有研发管理系统很好地集成。
ZTF做到了同编程语言的无关性,引入ZTF开发测试脚本时,您可以确保以往的绝大部分代码资产仍然可用。类似流行的商业自动化测试工具HP QTP,ZTF推荐以文件和目录的形式,来组织测试用例的脚本,并使用Git等工具来实现脚本的版本控制。通过在脚本中编写注释,定义测试案例的编号、步骤和期待结果,以达到同禅道测试用例对应和同步的目的。
ZTF由Golang语言编写,交付的命令行和客户端工具都是无需安装、解压即用的可执行文件,可运行在主流的Windows、Linux和Mac操纵系统上。客户端工具提供了脚本管理、用例同步、测试执行、结果分析、报告上传等易用的自动化测试有关的功能。
近些年,随着持续集成和DevOps被越来越广泛地接受。为了满足同Jenkins、GitLab CI等工具的集成,实现自动化的编译、打包、部署、测试、发布等一整套流水线作业,ZTF提供了丰富的命令行指令,可驱动各种脚本语言、单元和自动化测试框架,完成业务的自动化测试,分析结果并提交到禅道。
ZTF和禅道项目管理系统深度集成,在禅道端形成了统一的研发过程和质量度量报告,实现了用户希望从单一入口掌控包涵了软件测试和质量保证的整个研发活动情况的愿望。
目前,禅道和ZTF的远程测试执行调度的功能正在紧张的开发中。未来结合禅道ZenVM开源项目,可以提供按需启动、用后即焚的虚拟化测试环境调度功能。
像目前市场上的其他优秀的开源自动化测试工具那样,ZTF并没有打算囊括自动化测试的方方面面,而是给与用户结合其他工具一起使用的可能性,以获得诸如RobotFramework关键字驱动、TestNG数据驱动和并发用户、Playwright浏览器驱动引擎等各自优良而成熟的特性。