当前位置: 首页 > news >正文

AI 赋能接口自动化测试系列(二):全场景测试数据智能构造Agent Skill

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

这些场景人工极易遗漏,但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条完整的用户信息就生成好了,以后妈妈再也不用担心我为构造测试数据发愁了😊

http://www.jsqmd.com/news/1093740/

相关文章:

  • Frida模块加载技术:从内存加载到对抗检测的实战指南
  • 后端架构演进:微服务与单体应用如何选择
  • 靠谱的2026年6月六安GEO优化选哪家
  • AI Agent多智能体系统在金融投资分析中的实战应用
  • 2026 年小程序开发公司推荐,靠谱服务商汇总
  • 内卷VS躺平VS转型:2026年程序员的第三条路
  • VMware虚拟机安装Ubuntu实践记录
  • 一键部署不是为了省时间 —— 它是把“买来的 PaaS“变成“自己的平台“的拐点
  • 工业级低功耗采集器:智能采集,赋能物联监测
  • Postman接口自动化测试:从脚本到可视化报告的完整实践
  • TAS5716数字音频功放:从DSP处理到PWM驱动的完整设计指南
  • Windows系统文件api-ms-win-core-shlwapi-legacy-l1-1-0.dll丢失找不到问题解决
  • 打进内网后一脸懵?内网渗透第一步——信息收集决定了你能走多远
  • 告别SPSS繁琐操作!百考通AI,搞定经管社科量化论文实证难题
  • 银企直联技术选型:专线前置机 vs API直连 vs 统一API聚合
  • AI-Berkshire多智能体投资研究框架:从环境部署到实战调优指南
  • 第九章-云端纪元《改变世界的程序员》
  • 字节开源Deer-Flow:AI工作流编排引擎实战,构建可靠应用管道
  • etcd安全升级实战:修复JWT漏洞与滚动更新K8s集群大脑
  • 阿姆智创IBOX-6076R工控设备方案,深耕SMT产线与机器视觉领域
  • 从原理到实战:一文彻底吃透Transformer架构
  • 微信支付V3平台证书过期故障排查与自动更新方案详解
  • AutoCAD2027免费版下载安装教程(附安装包)AutoCAD 2027 保姆级安装教程
  • 赛能saillm 产品全景解析:为中小商家打造的 AI 智能客服与营销平台
  • DNS攻击链前置到解析层怎么防?IP离线库三步定位恶意C2服务器IP
  • AI Agent多智能体协作在价值投资分析中的应用与实践
  • 小型语言模型在代码代理框架中的能效与性能权衡研究
  • 第五章-操作系统的战争《改变世界的程序员》
  • StopWatch实战:从基础使用到性能剖析
  • 长海县的海参为什么口碑好?说说我的看法