2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

从0到1搭建测试专用Skills库:自动断言+数据构造+多模态识别

发布日期:2026-04-28 08:14:42 浏览次数: 1888
作者:霍格沃兹测试学院

微信搜一搜,关注“霍格沃兹测试学院”

推荐语

测试工程师必看!揭秘如何用Skills库应对AI时代测试挑战,告别手写断言时代。

核心内容:
1. AI时代测试面临的三大核心挑战:非确定性输出、多模态验证、复杂数据构造
2. Skills库的构建思路与技术实现:自动断言、数据生成、多模态识别
3. 从传统测试到Skills测试的转型路径与落地实践

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家


目录

  • 一、生成式测试来了,没人再手写“等于预期”
  • 二、测试的底层资产从“用例”变成“Skill”
  • 三、三类核心Skill的技术拆解
  • 四、三个真实场景:手工作坊 vs Skills流水线
  • 五、行业参照:OpenClaw/Claude Code的测试Skill思路
  • 六、三步落地:从第一个私有Skill到团队Skill库
  • 七、你的测试用例,还能被复用几次?

最近半年,我观察到一个有意思的现象。

很多测试团队开始不招“会写Selenium脚本”的人了。取而代之的是,面试题变成了“你如何让AI自动判断这段JSON返回对不对”、“如何用一条指令生成100条合法用户数据”、“如何教AI看懂一张截图里的按钮状态”。

不是招聘标准变了。是测试对象变了。

以前的测试对象是代码,你用断言函数比较两个值。现在的测试对象是大模型输出、AI生成内容、多模态交互。你没法写“assert equals”去判断一段自然语言是否正确,也没法写正则去验证一张图片里有没有出现半个图标。

很多人已经开始感觉到:不是AI在做测试,而是你根本不知道怎么测AI。

一、生成式测试来了,没人再手写“等于预期”

先看三个真实场景。

场景A:你测一个AI代码助手。它生成了一个函数,你要判断这个函数有没有bug。传统做法是人工review或者静态扫描。但AI每次生成的代码都不一样,你没法写断言。

场景B:你测一个电商推荐系统。每次请求需要构造一个用户画像——年龄、浏览历史、购买记录、实时位置。传统做法是写脚本随机生成。但数据关联性一复杂,随机生成的数据根本覆盖不了业务规则。

场景C:你测一个多模态应用,比如“拍照识物”。AI返回了一段文字描述和一张标注图。你怎么验证标注框的位置对不对?文字描述里有没有幻觉?传统断言完全失效。

这三个场景不是边缘案例,而是2026年测试工程师每天都要面对的主流场景。

字节跳动的AI测试团队在2025年底公开过一组数据:在使用传统自动化测试框架时,AI类产品的测试用例维护成本是普通产品的4.7倍。核心原因是输出不确定,断言写不了。

本质是:确定性系统的测试方法,在非确定性系统面前彻底失效了。

观点句1:测试的底层逻辑变了——从“校验输出”变成“校验能力”。

二、测试的底层资产从“用例”变成“Skill”

以前的测试资产是“测试用例库”。一个用例对应一个输入输出对。维护成本随场景数量线性增长。

现在的逻辑完全不同。

Skill是一个“能力单元”。它封装的不是一个具体输入输出,而是一种“做某件事的方法”。比如“判断代码有没有bug”是一个能力,“构造一个20-30岁、有3年工作经验的程序员画像”是一个能力,“检查图片里按钮是否可点击”是一个能力。

核心区别在哪里?用例是一次性的,Skill是可组合、可复用的。

当你有了一个“构造合法邮箱地址”的Skill和一个“生成随机密码”的Skill,你可以在不写新代码的情况下,组合出“构造注册请求数据”的Skill。这种组合能力让测试资产从线性增长变成指数复用。

实际上,业界已经在做这件事。Anthropic的Claude Code引入Skills机制,Cursor的Composer模型背后是多Skill编排,OpenClaw则把Skills作为核心扩展单元。


三、三类核心Skill的技术拆解

下面直接拆解三类测试Skill怎么设计。我会给出抽象层面的实现逻辑,不绑定具体代码。

类型1:自动断言Skill

输入:一段文本/结构化数据 + 断言规则描述 输出:通过/不通过 + 失败原因

设计要点:

本质是把“人工判断逻辑”翻译成结构化描述,交给大模型执行判断,同时约束输出格式。

具体做法:

  • 定义断言Schema,比如{ "passed": boolean, "reason": string, "evidence": string }
  • 在Skill的提示词里明确约束:不允许输出其他内容,不允许用模糊词(“大概”“可能”)
  • 针对数值类断言,要求模型先提取数值再比较,避免幻觉

为什么这么做?因为没有约束的大模型会给你写小作文,没法集成到自动化流程。强制结构化输出后,断言Skill的输出可以直接被下游流程消费。

解决的痛点:AI输出的内容无法用传统断言覆盖,比如“这段话的语调是否积极”“这个解释是否逻辑自洽”。

类型2:数据构造Skill

输入:数据规格描述(如“20-30岁,月收入8k-15k,购买过3C产品”) 输出:符合规格的JSON数据

设计要点:

核心是对“数据合法性”的定义和约束传播。复杂点在于关联字段,比如年龄和收入要有相关性,不能给18岁配50万年薪。

具体做法:

  • 使用约束求解的思路,在Skill内部维护字段之间的依赖关系(通过JSON Schema的dependentSchemas或自定义规则)
  • 分为两步:先生成“属性签名”,再根据签名生成具体值。这能保证字段间的逻辑一致性
  • 加入随机种子控制,确保同一规格的可重复生成

为什么这么做?简单随机生成的数据往往在业务逻辑上非法。比如“性别=男,怀孕周期=20周”这样的组合,常规随机生成会出现,而Skill可以把这种业务规则编码进去。

解决的痛点:测试数据从手工作坊变成自动化工厂,一条指令生成百条合法数据。

类型3:多模态识别Skill

输入:图片/音频/视频 + 需要识别的目标描述 输出:结构化识别结果(如坐标、分类、转录文字)

设计要点:

多模态识别是三类Skill中最复杂的。因为大模型对图像的“理解”不是像素级精准的。

具体做法:

  • 不要直接用多模态模型判断“按钮是否可点击”,而是让模型输出按钮区域的坐标,然后在另一层用图像处理校验坐标是否在合理范围内
  • 对于OCR类的验证,要求模型返回文本及其边界框,再做规则校验
  • 善用“工具链式Skill”:一个Skill调用OCR工具,另一个Skill调用目标检测模型,再一个Skill负责融合结果

实际案例:测试“拍照识物”时,先用目标检测Skill定位物体框,再用多模态大模型描述内容,最后比对两个结果是否一致(框内物体和描述匹配)。

为什么这么做?单一模型容易产生幻觉,多模态Skill的核心是“交叉验证”,而不是依赖单一模型的一次判断。

解决的痛点:传统图像识别脚本依赖于预定义特征,适应场景变化差。多模态Skill可以理解“一个红色圆形按钮”,而不需要提前训练模型。

观点句2:测试Skill不是“调API”,而是把测试经验编码成可执行的逻辑规则。

人工智能技术学习交流群

伙伴们,对AI测试、大模型评测、质量保障感兴趣吗?我们建了一个 「人工智能测试开发交流群」,专门用来探讨相关技术、分享资料、互通有无。无论你是正在实践还是好奇探索,都欢迎扫码加入,一起抱团成长!期待与你交流!👇


图片


四、三个真实场景:手工作坊 vs Skills流水线

用一个对比表格把差异说清楚。

场景
传统做法
耗时
Skills库做法
耗时
验证AI生成的代码没有死循环
人工review + 静态分析扫描
10分钟
调用“代码安全断言Skill”,输入代码片段,返回可疑点
10秒
构造100个“深圳地区、月消费5k-8k、偏好户外运动”的用户
写Python脚本,手写规则,调试关联逻辑
2小时
调用“用户画像构造Skill”,传参数,一次返回100条
30秒
验证APP截图里的“立即购买”按钮是否可见且可点击
手工点开检查,或用图像识别库写定位脚本
15分钟
调用“UI元素识别Skill”,输入截图+目标文字,返回坐标和状态
5秒

差别不是“快了一点”,而是数量级差异。更关键的是,Skil库一旦建立,后续所有类似任务都不需要重复劳动。

一个真实的工程数据:某中型互联网公司测试团队用了3周时间搭建了包含12个测试Skill的私有库,之后两个月内重复使用超过300次,平均每个Saved节省45分钟人力。

五、行业参照:OpenClaw/Claude Code的测试Skill思路

这个领域已经有很多可参考的实践。

OpenClaw 的 Skills 架构 OpenClaw的设计是:Gateway管理通信,Channels对接具体平台,Agents编排决策,Skills提供可执行模块。它的一个测试Skill案例很有意思——他们做了一个“邮件验证Skill”,可以在测试流程中自动检查邮件服务器是否有新邮件、提取验证码、完成验证。这个Skill被多个测试场景复用,效率提升约40%。

对测试团队的启示:不要把Skills做成“单次任务脚本”。要设计成输入输出清晰的独立模块,可被多个Agent编排调用。

Claude Code 的断言思路 Anthropic在Claude Code中倡导的做法是:用MCP协议连接静态分析工具(如ESLint、Pyre)作为“硬断言”基底,再用大模型做“软断言”(如代码可读性、命名规范)。两层结合,既避免了纯大模型断言的不确定性,又避免了纯规则工具的僵化。

这个思路值得借鉴到测试Skill中:自动断言Skill应该调用工具做确定性的校验,调用大模型做语义级的判断,两层结果加权得出最终结论。

Cursor 的数据构造启发 Cursor的自研模型Composer强调“上下文感知”。在数据构造场景,这意味着Skill需要感知被测系统的当前状态。比如构造“边界测试数据”时,需要先调用API获取当前字段的最大最小值,再生成边界值。Skill不应是孤立的功能,而应能主动查询系统状态。

六、三步落地:从第一个私有Skill到团队Skill库

说了这么多,怎么从0到1开始?我给出三条可以直接上手的路径。

第一步:选一个最高频的痛点场景,写第一个私有Skill

不要贪多。挑你每天都要做、但每次都要花5分钟以上的事。比如“验证返回的JSON里某个字段不为空且类型正确”。把这个判断逻辑写成结构化提示词,放在固定目录,让大模型读它执行。

关键原则:Skill的输入输出要极其简单。对第一个Skill来说,输入一个JSON路径和一个期望类型,输出true/false就够了。

验证标准:你连续用这个Skill处理10个真实任务,成功率在80%以上。如果达不到,说明你的提示词颗粒度不够细。

第二步:引入工具调用,扩展Skill能力

纯提示词的Skill有上限。下一步是让Skill能调用外部工具。比如数据构造Skill调用Faker库生成基础数据,断言Skill调用jq提取JSON字段。

MCP协议就是做这个事的。你可以运行一个本地MCP Server,暴露几个工具函数,然后在Skill里声明“我可以调用这些工具”。部署完之后,Skill的能力边界从“语言理解”扩展到“能执行真实代码”。

第三步:建立Skill版本管理与反馈机制

Skill是会退化的。大模型更新后,之前好用的Skill可能变差。需要一个闭环:

  • 每次Skill执行后,记录输入、输出、用户是否接受结果
  • 定期Review低分的执行记录,优化Skill描述
  • 每个Skill维护一个版本号和一个测试集,每次修改后跑回归

当你的团队有5个以上活跃Skill,并且每周都有新人开始使用而不是自己重写时,Skill库就真正活起来了。

观点句3:没有反馈闭环的Skill库,迟早变成数字垃圾堆。

七、你的测试用例,还能被复用几次?

最后说一个判断。

未来三年,测试团队的竞争力不在于“写了多少条自动化用例”,而在于“封装了多少个高复用度的Skill”。

用例是线性的,Skill是指数级的。

当你的同事还在为每个新接口手写断言脚本时,你调用一个“RESTful断言Skill”三秒完成。当隔壁团队还在为构造测试数据发愁时,你的数据构造Skill已经产出了上千条合法数据。

Skill库会成为质量工程的基础设施。就像今天没有人会从零写排序算法一样,明天没有人会从零写测试逻辑。

那你现在要回答的问题是:

把你过去一周写的所有测试脚本翻出来,有多少段逻辑是可以被抽象成一个Skill,让其他人以后不用再写第二遍的?

如果你的答案是“几乎没有”,那也许该重新审视一下,你是在做测试,还是在搬砖。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅