ZenData通用数据生成利器

GPLv3 License
go
Windows,Linux,Mac
禅道 · January 11, 2021 · 3400 次阅读 · 0 条评论

ZenData 是由禅道项目管理软件团队推出的一款通用的测试数据生成工具。主要为了解决开发和测试过程中测试数据的生成、维护、解析问题。
ZenData 官网:https://www.zendata.cn

一、ZenData 的实现原理

ZenData 使用 YAML 来作为数据类型配置文件。对于每一种类型的数据来讲,我们都可以将其拆分成若干的字段。比如我们要测试一个用户的订单表,会有订单的 id,用户 id 或者账户名,订单的名称,订单的金额,订单的时间,订单状态等等字段。我们可以针对每一个字段配置其取值的范围。比如订单 id,我可以定义为从 1 到 10000,用户 id 可以是 1-100。这样每一个字段都有了一个取值范围列表。当 ZenData 来生成数据的时候,从每一个字段里面依次取一个值,将其拼接在一起,就形成了一条记录。大家可以想象成每个字段都是一个转盘,按照自己的频率进行旋转,每一次旋转都从中取出一个值,和其他的字段进行组合。

上面说的是最基本的的工作原理,ZenData 还提供了步长、随机、循环、引用等多种定义方式,我们会在接下来的手册里面展开讲。

二、ZenData 的用途

ZenData 主要两大功能:数据生成和数据解析。通过一个配置文件,可以使用 ZenData 生成您想要的各种数据。同样也可以对某一个数据文件,指定其数据类型定义的配置文件,完成到结构化数据的解析。

ZenData 可以用于手工测试场景下面测试数据的准备,也可以用于自动化测试脚本里面的数据生成和解析。还可以一键生成海量数据用于性能和压力测试。

三、ZenData 主要的特点

  • 简单无依赖,只有一个可执行文件,即可满足命令行生成和 HTTP 接口两种数据生成服务。
  • 使用配置文件来生成数据,使用人员不需要有开发知识,即可上手应用。
  • 提供了功能强大的语法,分组、区间、步长、循环、随机、格式化和前后缀等,配置灵活性极强。
  • 支持从文本文件中读取数据,方便用户对字段取值进行精确控制。
  • 提供了 Excel 表格数据的标准 SQL 查询接口,使用更加灵活。
  • 使用预制的序列(ranges)、实例(instances)、配置(config)对定义进行复用,以解决复杂数据格式的定义。
  • 语法支持继承和扩展,为定义文件间的复用提供方便。
  • 可以反向解析数据,可以对程序的输出进行解析,方便自动化测试脚本进行比对。
  • 发行包內置了基础业务数据的定义文件(不断完善中)。
  • 提供了 HTTP 接口数据生成服务,各种语言都可以方便调用。
评论列表
No Comment at the moment.