Skip to content

Data4Test(盾测) 可以快速实现接口的自动化测试和管理,支持丰富的数据生成,支持复杂场景用例编排,适用于功能,并发,异常,模糊,场景,长时间,国际化,大数据,性能等方面的测试工作。

License

Notifications You must be signed in to change notification settings

tongdun/data4test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data4Test (盾测)

前言

  • Data4Test(盾测) 一款旨在通过编写结构化的测试数据或测试指令,通过声明式语句定义,即可开展复杂系统的自动化测试工作,让复杂系统的自动化测试变得容易,可用于功能,并发,异常,模糊,场景,长时间,国际化,大数据,性能等方面的测试工作

背景

应用背景

  • Data4Test是一款专为解决复杂业务系统的测试工作开展,而设计的自动化测试平台。在决策引擎系统,在风控业务系统上,进行了深度应用。
  • 测试任务管理达150+,自动化场景用例达1500+,自动化数据文件用例达5000个+,自动化数据用例执行达100W次+,使用用户达100+
  • 使用迭代3年+,横跨几十+个应用和多个产品,支撑公司ToB产品线的测试工作,并在多个B端客户现场进行实施和应用,支撑客户现场的测试验收工作和日常迭代工作等
  • 使用角色涉及测试,开发,实施,客户,产品等,通过该系统,可轻松完成自动化测试,获取丰富的测试数据

诞生背景

  • 1、已有的测试工具无法在一个场景里快速支持多应用接口的调用和执行
  • 2、Postman, Jmeter等本地版的测试工具无法快速在开发,测试,实施等多个角色间进行测试数据共享
  • 3、接口变更无感,知道有变动,但无法快速定位到变更的接口,靠人工对接不靠谱
  • 4、决策引擎系统场景复杂,链路依赖达20+或更多前置数据,自动化用例维护困难,编写脚本成本过高,变更环境失败比率也较高
  • 5、风控系统接口请求数据字段过多,少则20+,多则100+或更多,人工输入符合特征的数据,人工构造时间成本过高
  • 6、统计类功能需要长时间的数据积累,需各个时间维度的测试数据,需不同频度的定时任务执行
  • 7、已有测试工具测试数据变更环境回放困难,需要数据用例幂等执行,且更换环境能快速落地数据进行复现
  • 8、实时,离线,批转流,外部数据等多方数据特征需保持一致,且数据值需关联上
  • 9、低并发测试需要常态化,靠手工不可能,靠脚本实现和维护成本过高
  • 10、被测系统支持国际化,支持多语种,需要多语种的测试数据,且已建设的用例能直接复用,减少建设成本
  • 11、部分接口存在加密或逻辑写在前端需要进行UI自动化或其他,需要脚本的管理和执行
  • 12、需借用大模型的能力,进一步提效
  • 等等,多个原因促成了本系统的诞生和持续迭代研发

系统

在线体验

  • 访问地址:http://X.X.X.X:9088/ (当前下线了)
  • 默认用户和密码:admin / admin (建议初次登录后创建个人用户进行体验)
  • (说明:不可当生产环境使用哦)

本地快速试用

  • 下载docker-compose.yml
  • 切换到下载目录
  • 启动服务:docker-compose up -d
  • 默认访问:http://127.0.0.1:9088
  • 默认用户:admin / admin

参数变更

  • 如需使用智能化测试,请前往[环境-系统参数],对"aiRunEngine"参数,根据大模型的实际情况进行配置
  • 如需执行非标准化的数据, 请前往[环境-系统参数],对"scriptRunEngine"参数,根据执行引擎的实际情况进行配置

系统特性

  • 1、使用友好:可视化界面控制台类Postman使用风格,上手快,无门槛
  • 2、编写友好:标准化数据文件YAML格式,声明式语句,批量编写快,无需编写脚本
  • 3、扩展灵活:可自定义各类脚本的执行引擎,按需扩展
  • 4、运维友好:日志可在线查看,定位系统或执行问题可在线排查
  • 5、文档友好:使用操作及指导文件均在线,可方便查看和使用
  • 6、跨平台友好:Golang程序,可编译各种跨平台的执行文件
  • 7、大模型友好: 可自定义各类大模型生成引擎,按需扩展

功能

功能特性

  • 1、接口全生命周期管理
    • 规范化接口管理:支持接口定义、变更追踪及版本控制,提供Swagger一键导入与接口规范自动校验
    • 接口变更精细化分析:动态感知接口变更状态,方便开展精细化测试
  • 2、多模态数据管理
    • 可视化数据编辑: 支持类Postman的图形化数据编写,同时兼容YAML批量编辑,降低操作门槛
    • 内置丰富断言类型: 如状态码、响应体结构、动态数据校验,支持按属性值精准校验结果
    • 智能数据生成引擎:动生成特征数据(如姓名、地址、ID),支持组合式数据组装及多态输出(CSV/JSON/YAML等)
  • 3、场景编排与执行控制
    • 混合式场景构建: 支持标准化数据文件与非标脚本(Python/Shell/JMeter等)的统一编排与管理
    • 灵活控制策略:串行中断、串行比较、普通并发、并发比较等模式
    • 任务调度引擎: 自定义任务类型(单次/每日/每周),关联多环境并行执行与资源调度
  • 4、历史回溯与Mock服务
    • 场景复现与续跑:支持历史数据回放、场景“再来一次”及断点续测
    • 动态Mock服务:按需生成自定义格式的第三方Mock数据(JSON/XML等),支持在线实时调用
  • 5、智能化测试体系
    • AI驱动测试全流程: 智能生成测试用例与数据,自动优化覆盖边界值及异常场景
    • AI缺陷洞察:执行后同步分析缺陷,生成缺陷报告及优化方案
    • 智能分析中枢:提供生成缺陷/优化单导入、状态追踪(变更管理)及回归测试调度等分析闭环管理能力
    • 智能模板管理: 集中管理用于驱动智能用例、数据及场景生成的提示词模板
    • 自动化覆盖监测:一键识别未自动化接口,快速定位测试缺口

适用测试类型

  • 1、功能测试: 正向路径功能测试,自定义或自动生成符合特征的测试数据
  • 2、并发测试: 单接口多测试数据的并行执行,多接口的并行执行,以及场景维度的并行执行等
  • 3、异常测试: 通过占位符,快速构造超长边界值,特殊字符等
  • 4、模糊测试: 自动生成模糊数据,开启健壮性测试
  • 5、场景测试: 复杂场景可视化编排,支持跨应用,多接口,多鉴权,多环境测试,同时支持实时,离线,外部数据等多方数据对齐
  • 6、长时间测试: 定时任务,持续构造测试数据
  • 7、Mock测试: 构造指定特征的数据,当外部数据给被测系统使用
  • 8、国际化测试:根据请求语种,自动生成对应语种的测试数据,同时支持多语种的数据定义和断言判断,无需编写多个数据用例
  • 9、大数据测试:通过动作自动生成海量的测试数据,以及数据和场景支持执行次数控制,实现实时和离线的大数据量
  • 10、性能测试:支持控制并发数,支持调用Jmeter脚本,开展性能压测
  • 11、UI测试:通过脚本的形式完成UI自动化
  • 12、其他自动化任务:测试报告生成,提效类脚本等
  • 13、智能测试: 测试用例生成,测试数据生成、执行、分析、回归等

架构设计

系统页面

系统介绍

近长期规划

开发须知

生产环境

生产环境部署

开发环境

开发环境部署

其他

周边技术

微信公众号

公众号:Data4Test
欢迎扫码关注更新动态,系统使用小技巧会陆续上线

社区微信群

  • 如需加入我们的开源社区进行效率,请关注微信公众号后,后台发送"加入社群",即可获得入群邀请码
  • 如需定开或技术支持,可联系开源作者,WeChat: liuhuocjx (申请时请备注Data4Test具体事宜)

About

Data4Test(盾测) 可以快速实现接口的自动化测试和管理,支持丰富的数据生成,支持复杂场景用例编排,适用于功能,并发,异常,模糊,场景,长时间,国际化,大数据,性能等方面的测试工作。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •