惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
AI
AI
SecWiki News
SecWiki News
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Engineering at Meta
Engineering at Meta
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
News and Events Feed by Topic
Cloudbric
Cloudbric
B
Blog
Cisco Talos Blog
Cisco Talos Blog
V
Vulnerabilities – Threatpost
N
News and Events Feed by Topic
V
Visual Studio Blog
A
Arctic Wolf
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
S
Security @ Cisco Blogs
博客园 - 聂微东
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
G
GRAHAM CLULEY
L
LINUX DO - 热门话题
量子位
NISL@THU
NISL@THU
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Troy Hunt's Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tenable Blog
月光博客
月光博客
S
Security Affairs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
D
Docker
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
博客园 - 司徒正美
T
The Exploit Database - CXSecurity.com
Hugging Face - Blog
Hugging Face - Blog
Help Net Security
Help Net Security
D
DataBreaches.Net

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
AI测试必学 | AI 赋能接口自动化测试系列(二):全场景测试数据智能构造Agent Skill
狂师 · 2026-06-24 · via 博客园_首页

在上一篇中,我们介绍了 api-schema-parser —— 它是接口自动化测试的"入口技能",它能将各种格式的接口文档统一解析为标准化的 api_definitions.json

但解析完接口定义后,下一个让人头疼的问题来了:测试数据怎么造?

传统模式下,测试工程师需要:

  • 为每个接口的每个参数,人工构造合法值、边界值、异常值
  • 考虑空字符串、null、类型错误、超长超短、非法字符
  • 还要写SQL注入、XSS等安全测试数据
  • 数据格式还要统一,方便数据驱动框架调用

几十个接口下来,光是造数就要花掉好几天。

更致命的是,人工造数极易遗漏边界场景——"这个字段的最大长度测了吗?""枚举值外的非法值传了吗?""空数组和缺字段有什么区别?"——这些细节的不注意往往极易产生线上Bug。

今天这篇,我们聚焦 AI 赋能接口自动化的第二步:api-testdata-generator全场景测试数据智能构造Agent Skill

用于解决接口测试"造数难、覆盖不全、效率低"的痛点,彻底告别人工造数的繁琐与遗漏。

一、为什么测试数据构造,建议用 AI 赋能?

很多人以为,接口自动化最难的是写脚本。但实际上,数据构造的质量直接决定了自动化测试的有效性、覆盖深度和缺陷发现能力

但传统人工造数存在三大核心痛点:

痛点一:场景覆盖不全,只造"能跑通"的数据

人工造数时,下意识会优先构造"能跑通"的正向数据。但接口测试的核心价值,恰恰在于验证异常场景下系统的容错能力

  • 必填字段传空,接口是否返回正确的错误码?
  • 超边界参数传入,系统是否做了长度截断或优雅拒绝?
  • 非法格式数据(如手机号传字母),校验逻辑是否生效?
  • 重复提交同一请求,幂等性机制是否正常工作?

这些场景人工极易遗漏,但AI可以基于规则系统化、无遗漏地生成。

痛点二:效率低、数据格式混乱

人工来构造多个接口的全维度测试数据,熟练工也需 1-2 天。

且不同的人构造的数据散落在各个脚本里,今天张三写了一套,明天李四又写了一套,格式不统一、命名不规范、复用性极差。一旦业务规则变更(如密码最小长度从6位改为8位),需要逐行修改所有脚本中的硬编码数据,维护成本极大。

痛点三:业务贴合度差

通用造数工具生成的 “假数据”(如随机字符串)无法覆盖 “库存不足的商品 ID”、“重复添加的商品 SKU” 等业务场景。

且针对一些接口安全测试的场景,如SQL注入、XSS攻击、路径穿越、命令注入……这些安全测试数据需要专业的安全知识储备,普通测试工程师往往"不会写 payload"或"写了也不知道对不对"。

AI赋能的核心思路

而基于 AI 驱动的Skill技能特性恰好能解决这些问题:

  • 结构化输入适配:基于api-schema-parser输出的标准化接口定义,精准匹配参数约束;
  • 多维度自动生成:一键覆盖正向、反向、边界、业务异常、安全测试等全场景数据;
  • 业务场景定制化:贴合实际业务逻辑生成关联数据,而非脱离业务的 “纯随机数”;
  • 格式无缝适配:自动输出 YAML/JSON/Excel 等格式,直接对接 Pytest/TestNG 等框架。

温馨提示:AI 造数并非 “替代人工”,而是将工程师从重复造数的体力活中解放,聚焦于数据规则设计、业务场景校验等核心工作。

二、不要搞"万能Skill",要拆成"专业Skill"

很多新手容易踩的坑:想做一个"万能Skill",输入接口文档,直接输出完美脚本。

这里有一个非常重要的认知:千万不要寄希望于用一个 “万能 Skill” 解决所有问题

一个技能包揽解析、造数、生成、优化、执行,会导致逻辑臃肿、维护困难、扩展受限,也违背了 Agent Skill 设计的核心思想。

正确的做法是按职责拆分,每个Skill只做一件事(如解析、生成、校验),避免功能耦合。

比如,可以这样来拆:

Skill 核心职责 解决什么痛点
api-schema-parser 接口定义结构化解析 人工读文档慢、易遗漏、格式不统一
api-testdata-generator 测试数据智能生成 人工造数重复、边界场景覆盖不全
api-testscript-generator 自动化脚本批量生成 人工编码慢、风格不统一、规范难落地
api-test-optimizer 脚本质量检查与优化 AI幻觉导致脚本有错、场景缺失、健壮性不足
api-test-executor(后续教程) 脚本执行与结果复盘 人工执行繁琐、失败分析耗时

这5个Skill形成完整闭环解析→造数→生成→优化→执行,既能串联使用,也能独立调用。

目前本系列主要是聚焦接口脚本生成阶段工作,在接口执行阶段还会根据执行阶段的工作特性,将其拆分成 5 个专业的Agent Skill来各司其职。

接口文档(Swagger/Postman/HAR 等)
  │
  ▼
api-schema-parser ──→ 标准化接口数据 (api_definitions.json)
  │
  ├──→ api-testdata-generator ──→ 全场景测试数据
  │         │
  │         ▼
  │   api-testscript-generator ──→ 接口自动化脚本工程
  │         │
  │         ▼
  │   api-test-optimizer ──→ 脚本质量检查与优化
  │         │
  │         ▼
  │   api-test-tagger ──→ 智能标签化管理
  │         │
  │         ▼
  │   api-test-executor ──→ 智能执行调度
  │         │
  │         ├──→ api-failure-diagnoser ──→ 失败诊断与自动修复
  │         │
  │         └──→ api-pipeline-scheduler ──→ 全链路流水线调度
  │                 │
  │                 ├── api-test-executor(执行测试)
  │                 ├── api-testdata-cleaner(清理数据)
  │                 └── api-report-generator(生成报告)
  │
  └──→ 也可直接进入 generator-testcase-xmind/excel 生成接口级测试用例

可以这样说,掌握了这套Agent Skill技能组合,日常接口自动化测试工作零基础的同学也能轻松搞定。

目前这套AI测试赋能的Skill技能组合,「狂师 . AI进化社」的成员都在使用,很多同学都表示,接口自动化测试落地效率明显提升了数倍,代码基础薄弱的同学也能轻松落地自动化测试了。

三、api-testdata-generator — 全场景测试数据智能构造

人工造数的痛点

做过接口自动化的同学都懂,人工构造测试数据有多 “折磨”:

  • 合法数据费脑:“这个手机号是否符合正则?”“用户名长度刚好符合要求吗?”,每一条合法数据都要反复核对接口文档;
  • 边界数据漏测:参数长度极值(如密码刚好 6 位 / 32 位)、枚举值边界、分页参数临界值,人工梳理极易遗漏;
  • 异常数据匮乏:空字符串与 null 的区别、触发限流的高频请求参数、触发账户锁定的错误密码,这些场景往往想不到、造不出;
  • 安全数据难求:SQL 注入、XSS 攻击、越权访问的测试 payload,需要专门学习且难以批量构造。

Agent Skill:api-testdata-generator 核心能力

api-testdata-generator是专门为接口自动化测试设计的测试数据智能生成 Skill,核心是 “基于规则、贴合业务、全场景覆盖”,其核心特性如下:

1、三大输入模式,覆盖全测试场景

该 Skill 突破了 “仅依赖接口文档造数” 的局限,支持三种灵活的输入模式,适配不同测试场景:

输入模式 核心输入 输出格式 适用场景
传统模式(API 驱动) api_definitions.json(接口解析结果) YAML/JSON/Excel 接口自动化测试(高频使用)
规范模式(规则驱动) 自定义字段规则文件(类型、长度、正则、枚举) CSV/JSON/YAML/Excel 团队有固定数据规范,多项目复用
自然语言模式(Faker 驱动) 自然语言描述(如 “生成 10 条符合中国身份证规则的数据”) CSV 手工测试、性能测试、UI 自动化(无需接口文档)

2、四大维度数据,全场景覆盖

基于接口约束和业务规则,自动生成四类测试数据,无死角覆盖测试场景:

  • 正向数据:符合所有必填 / 格式 / 长度约束的合法数据(如符合正则的用户名、有效验证码、正常库存的商品 ID);
  • 反向数据:空值、超长度、非法格式(含特殊字符的用户名)、类型错误(布尔值传字符串)等异常参数;
  • 边界数据:参数长度极值(如密码 6 位 / 32 位)、枚举值边界、分页参数临界值(如 pageNum=10000);
  • 业务异常数据:触发限流的高频请求参数、触发账户锁定的错误密码、库存不足的商品 ID、已取消订单的支付请求等。

3、工程化输出,无缝对接自动化框架

生成的测试数据并非 “零散文件”,而是按工程化规范组织:

  • 按接口模块分类存储(如 auth/order/product/cart 等);
  • 自动封装为数据驱动格式,直接适配 Pytest/TestNG;
  • 生成全局配置文件(鉴权、测试账号)和接口依赖链文件(如订单流程、商品流程的关联数据)。

实战效果

虽然api-testdata-generator 技能支持三种模式的输入,但对于日常绝大多数的使用场景来说,使用最高频的还是传统模式(基于 api_definitions.json 接口定义)和自然语言模式(基于自然语言描述,Faker 驱动)。

我们接下来,就重点验证一下这两类模式下的效果:

1、传统模式(基于 api_definitions.json 接口定义)

第一步,在技能列表选择api-testdata-generator技能。

提供接口定义、字段规则文件或自然语言描述,比如这里我们传入上一步生成好的 api_definitions.json 接口定义,点击执行。

收到提示词后,api-testdata-generator技能会基于接口定义文件使用传统模式来生成测试数据,最终生成的数据汇总结果如下:共为59个接口生成了2032条数据,包括正向数据、边界值数据,异常数据,安全数据等不同维度。

并且生成好的数据,会按照模块进行保存:

output/test_data/
├── _config.yaml              # 全局配置(鉴权、测试账号等)
├── _dependencies.yaml        # 接口依赖链(order流程、product流程等)
├── summary.json              # 汇总报告
├── auth/                     # 认证管理(6文件,login/register/logout)
├── order/                    # 订单管理(20文件,10接口×2格式)
├── admin/                    # 管理后台(46文件,23接口×2格式)
├── address/                  # 地址管理
├── cart/                     # 购物车管理
├── captcha/                  # 验证码管理
├── product/                  # 商品管理
├── search/                   # 商品搜索
├── banner/                   # Banner轮播图
└── user/                     # 用户管理

每条数据都精准匹配接口参数约束,例如购物车接口会自动生成 “库存不足的商品 ID”“重复添加的商品 SKU” 等业务相关异常数据,而非简单的随机字符串。

第二种:自然语言模式(基于Faker 驱动)

此类使用方式,无需依赖接口文档,通过自然语言描述所需要的测试数据即可:

  • 例如:“帮我生成 100 条完整用户信息(含姓名、手机号、身份证号、收货地址),符合中国手机号和身份证规则”;
  • 执行 Skill 后,一键生成 CSV 格式的 100 条用户数据;
  • 数据格式规范、符合业务规则,可直接用于手工测试、UI 自动化或性能测试。

下面我们简要演示一下操作:

选择api-testdata-generator技能,输入:帮我生成100条完整用户信息。

发送提示词,很快100条完整测试数据就生成好了

打开生成的csv文件,查看数据详细。

只需一句话,整整齐齐100条完整的用户信息就生成好了,以后妈妈再也不用担心我为构造测试数据发愁了😊

100条完整用户信息,一句话搞定。

四、api-testdata-generator 与其他 Skill 的联动

api-testdata-generator并非孤立存在,而是接口自动化 AI 流水线的核心环节,其上下游联动逻辑如下:

┌─────────────────┐     ┌──────────────────┐     ┌──────────────────┐
│ api-schema-     │ ──→ │ api-testdata-    │ ──→ │ api-testscript-  │
│ parser          │     │ generator        │     │ generator        │
│ (接口解析)       │     │ (数据生成)        │     │ (脚本生成)        │
└─────────────────┘     └──────────────────┘     └──────────────────┘
  • 上游:接收api-schema-parser输出的标准化接口定义,确保数据与接口参数约束 100% 匹配;
  • 下游:为api-testscript-generator提供全维度测试数据,让生成的自动化脚本直接绑定有效数据,无需人工二次适配。

五、使用关键:让 AI 造数更 “精准” 的核心原则

  1. 规则先行:在使用 Skill 前,需明确接口参数的约束规则(必填、长度、正则、枚举),规则越清晰,AI 生成的数据越精准;
  2. 业务关联:针对电商、支付等业务场景,需提前定义业务规则(如 “订单状态为取消后不可支付”),让 AI 生成贴合业务的异常数据;
  3. 人工校验:AI 生成数据后,重点校验边界数据、业务异常数据的合理性,确保数据能真正触发目标测试场景。

六、项目源码与完整教程

项目完整实操教程、开发架构、设计思路(AI测试实战教程,平均每篇约3.5W字图文教程,非常详细,保姆级手把手喂饭教程,零基础也能快速上手)和项目源码(含30多个AI测试全场景Agent Skill),AI 知识库统一在「狂师 . AI 进化社」中。

目前「AI 进化社」中已经有非常多的AI 项目实战、AI测试实战保姆级教程(图文教程、视频教程)。

写在最后

api-testdata-generator作为 AI 赋能接口自动化的核心 Skill 之一,解决了 “测试数据覆盖不全、构造效率低、业务贴合度差” 的行业痛点。

但需注意:AI 造数的核心价值是 “提效” 而非 “替代”,测试工程师仍需聚焦于 “数据规则设计、业务场景定义、数据有效性校验” 等核心工作。

下一篇,我们将聚焦api-testscript-generator,聊聊如何让 AI 批量生成规范、可运行、覆盖全场景的接口自动化脚本,彻底告别手工编码的繁琐与低效。

本文配套的api-testdata-generator Skill 源码、shop-lab 项目实战教程(保姆级图文 + 视频),可前往「狂师 . AI 进化社」获取,包含 30+AI 测试全场景 Agent Skill,助力零基础落地 AI 赋能的接口自动化测试。