- 1 为什么开发ZenData
- 2 ZenData数据生成工具简介
- 3 如何获得支持
- 4. 快速入门
- 4.1 安装部署
- 4.2 将ZenData加入系统环境变量中(可选)
- 4.3 命令行参数说明
- 4.4 命令行调用示例
- 4.5 內置数据定义示例
- 4.6 YAML定义语法总览
- 5. 用户指南
- 5.1. 数据定义语法
- 5.2. 內置数据定义
- 5.3. 用户数据自定义
- 5.4. 数据定义引用
- 5.4.1 引用ranges系列
- 5.4.2 引用instances实例
- 5.4.3 多froms联合引用
- 5.4.4 引用Config配置
- 5.4.5 引用yaml文件内容
- 5.4.6 全局from语句
- 5.5. 数据输出
- 5.5.1 文本格式输出
- 5.5.2 JSON格式输出
- 5.5.3 XML格式输出
- 5.5.4 SQL格式输出
- 5.5.5 直接插入数据到MySQL
- 5.5.6 CSV格式输出
- 5.5.7 Excel格式输出
- 5.5.8 ProtoBuf格式输出
- 5.6. ZenData命令行详解
- 5.6.1 Default配置覆盖
- 5.6.2 多配置文件新语法
- 5.6.3 列出內置数据
- 5.6.4 查看內置数据
- 5.6.5 从SQL生成数据定义
- 5.6.6 从数据库表结构生成数据定义
- 5.6.7 清除数据前后缀
- 5.7. ZenData文章生成器
- 5.7.1 中文词语基础数据
- 5.7.2 转换文章到YAML配置
- 5.7.3 文章格式语法介绍
- 5.7.4 从YAML配置生成新文章
- 5.8. ZenData客户端
- 5.8.1 Web接口调用
- 5.8.2. 数据提供者示例
- 5.8.2.1 TestNG数据提供者示例
- 5.8.2.2 PHPUnit数据提供者示例
- 5.8.2.3 PyUnit数据提供者示例
- 5.8.3. Web数据管理工具
- 5.9 ZenData自动升级
- 6. 内置数据一览
为什么开发ZenData
- 2020-08-20 09:21:59
- 王春生
- 46033
- 最后编辑:陈琦 于 2020-09-21 14:55:50
- 分享链接
一、时代背景
最近几年DevOps概念越来越火,各种DevOps平台也如雨后春笋一样涌现。但大家往往把重点放在在工具链的搭建上,而忽略软件研发最重要的本质。工具链搭建是容易的,有各种的开源软件可以满足需求。但工具链搭建起来之后应该怎么应用呢?DevOps是希望可以通过持续集成和持续交付来实现快速的响应,但这里面有一个前提,就是质量必须要保障。如果没有质量,持续集成和交付都是空谈。如何保证质量呢?就必须要上自动化测试。
二、存在问题
自动化测试无论单元测试、接口测试、功能测试都会面临一个挑战,即如何能够做到大规模、工程化的自动化测试。这里面会牵扯到很多方面的技术:测试环境、测试手段、测试资源、测试管理等等,但这里面最最重要的一环是测试数据的管理。
如果测试数据无法做到灵活、大规模的管理,那么自动化测试就始终无法做到规模化,无法起到快速验证、快速集成、快速交付的目的。
三、目前解决方案
目前测试数据是如何来维护的呢?绝大部分的团队还是停留在手工维护阶段。手工造数据,手工维护,成本之高,可想而知。个别有能力的测试人员,会自己写点脚本来生成数据。个别有开发资源的大厂,则自己组建团队来做专门的数据工厂。这些方案都不具备通用性,成本也极其高昂。
四、为什么来开发ZenData
业内研究理论方法的专家老师有很多,但提供落地工具的不多。我们经过讨论之后,觉得来开发一款所有人都可以使用的通用的测试数据生成工具,于是就有了ZenData这样一款测试数据生成工具。
ZenData则通过YAML文件,定义了一种简单的数据类型描述语法。使用者不需要对技术有过多了解,通过定义简单的字段取值列表、前缀后缀等配置,即可实现测试数据维护的目的。简洁、高效、灵活,是做单元测试、接口测试、功能自动化测试、性能测试、压力测试、打桩mock的有力帮手。
ZenData通过简单的range定义实现了区间、步长、随机、引用、重复、SQL查询等方式,通过简单的规则可应对各种变化。ZenData只有一个可执行文件,支持HTTP模式,还可以对数据进行反向解析,可以输出txt、json、xml、sql等多种格式。
2 1
4 1
1 2
6 3
7 3
7 6
6 7
3 7