SKILL进化论:测试工程师如何让AI越用越聪明
一个测试工程师的日常
早上 9 点,你打开电脑,禅道上又多了 300 条待自动化的用例。
300 条用例,意味着 300 种不同的业务场景。每条用例都涉及到相关业务逻辑的理解,用例步骤的拆分,方法调用,断言策略的设计,跑一遍修 Bug,提交代码。
做完这些不算完,用例写完只是起点,持续的用例维护、框架升级适配、用例稳定性优化,才是真正的深水区。
问题的本质
自动化测试用例的编写,确实存在高度结构化的部分:
但结构一样不代表工作简单。
每条用例背后都需要:
于是就有了本文的核心命题:
如何让 AI 不仅"能写",更要"会写"——而且越写越好?
答案:SKILL + 进化。
SKILL 是一种通用的扩展机制,可用于各种场景。但本文聚焦的是 自动化测试场景 —— 如何用 SKILL 让 AI 写出更规范的自动化测试用例。后文所有示例和方法论均基于 write-case 项目的实战经验。
一、SKILL 快速入门

1.1 什么是 SKILL?
SKILL 是 AI Agent 的扩展机制。
SKILL = 写给 AI 看的岗位说明书(SOP)。AI 读了之后,就能按你的规范干活。
创建一个 SKILL.md 文件,Agent 会把它加载到工具包里。当你的任务匹配 SKILL 的描述时,Agent 自动调用它——就像测试框架根据标签自动匹配用例一样。
1.2 什么时候该写 SKILL?
以下信号出现时,就应该考虑创建一个 SKILL:
SKILL 的职责是指导执行,不是存档知识。如果只是想记录信息,用文档就够了;如果想让 AI 按信息行动,才需要 SKILL。
1.3 SKILL 的存放策略
测试工程师的存放建议
- 个人级:通用测试方法论——如"边界值分析"、"等价类划分"、"测试用例设计原则"等
- 项目级:当前项目的具体规范——如"write-case 的用例命名规则"、"LayoutExport 的断言调用方式"
- 插件级:团队共享的标准化 SKILL,通过插件分发给所有成员,确保规范一致
1.4 SKILL 的目录结构
以 write-case 技能为例,一个实战级的 SKILL 目录结构:
核心文件只有 SKILL.md,其余文件按需引用、按需加载——主文件保持精简(约 150 行),AI 只在需要时才读取详细资料,上下文窗口不会被无关内容填满。
很多教程建议你放 templates/case_template.py 和 examples/good_case.py。
实战经验是:模板直接嵌入 references/code_style.md 里,AI 按需读取更简洁;
示例代码用现有用例工程 case/XX/test_XX_NNN.py 充当,比单独维护示例文件更真实也更及时。
1.5 一个最小 SKILL 示例
这两条铁律不是"建议",而是写进 SKILL 的硬性约束。AI 在生成代码时会自动遵守,而不是等到人工审查时才发现错误。这就是 SKILL 的力量——把经验变成约束,把约束变成自动化。
二、SKILL 进化四阶段

SKILL 的核心价值不在于"写出来",而在于"持续进化"。以下是一套经过实战验证的四阶段方法论,核心目标只有一个:
让 SKILL 自己卷自己,越用越聪明。
把人工经验变成 AI 可以学习的规范,让每一轮"批卷"都成为 SKILL 进化的养分。
阶段一:裸考 —— 给 AI 摸底
什么叫"裸考"?
不给 Agent 任何额外提示,只给它两份材料:
- 教材:现有用例工程(
case/24/test_24_001.py、method/layout/方法库、断言资源case/24/assert_res/) - 考题:一条具体的禅道用例需求(如 CaseID 24759:修改管脚对特性中的线宽)
然后让它自己写,目的不是要一个能用的结果,而是看清它的"原始水平"。
裸考暴露的典型问题
以下是 write-case 项目裸考阶段发现的真实问题:
每一个问题都精准指出了 AI 需要被告知的规范点——没有问题,你就不知道 SKILL 该写什么。裸考的价值不在于产出可用的用例,而在于拿到一份"AI 知识盲区地图"。
阶段二:人工批卷 —— Human-in-the-Loop
批卷不是"改错",是"提炼规则"
AI 写出来的代码,乍一看像那么回事,实际跑起来十有八九有问题。
人工介入需要做三件事:
批卷记录模板
批卷记录不是写给自己看的备忘录,而是写给 AI 看的错题本。格式越规范,AI 学得越好。推荐使用表格——结构化数据比自然语言更容易被 AI 理解和泛化。
阶段三:出师立规 —— 让 AI 生成 SKILL
给 SKILL 一个清晰的定位
write-case 技能回答的核心问题:
"一个合格的 SailWind Layout 自动化测试用例长什么样?"
需要喂给 AI 的材料
然后让 AI 自己生成 SKILL——用 AI 写教 AI 的说明书。
SKILL 文档结构建议
展开查看 write-case 的实际 SKILL 结构
阶段四:写入规则 —— 让闭环转起来
配套的维护机制
SKILL 写好之后,如果没有配套的更新机制,不出三个月就会和实际脱节。
在项目 CLAUDE.md 中加入以下维护规则(write-case 项目实际采用的规则):
write-case SKILL 的 checklist.md 第 7 步明确要求:"如发现新发现的模式(如用户手动修改引入了新写法),同步更新 references/code_style.md"。这条规则将批卷 → 立规变成了自动流程,而不是依赖人工记忆。
进化闭环
整个进化闭环可以描述为:
第一步,Agent 基于当前 SKILL 规范编写用例。例如调用 写用例 32 24800,Agent 加载 write-case SKILL,从禅道获取用例信息,参考 case/32/test_32_066.py 的写法,生成 test_32_067.py。
第二步,人工审查并批改。发现 Agent 在某个对话框操作上用了次优写法,手动改为 cell_select_item("CAM.Solder mask.Adjust")。
第三步,将这次修改模式提炼为规范,更新到 references/ele_methods.md 中:layout.dialog.object_attributes.cell_select_item("属性名").click()。
第四步,Agent 在下一次写用例时,自动加载更新后的 SKILL,在相同场景下直接使用 cell_select_item,不再犯同样的错误。
四步走完一轮,回到第一步——循环往复。每完成一轮,SKILL 就比上一轮更完善,Agent 写的用例就比上一轮更规范。
它把一次性的人工修正变成了永久的知识沉淀。你今天改了一个错误并写进了 SKILL,AI 明天就不会再犯——而不是你明天还要再改一遍。
三、SKILL 进阶技巧

当 SKILL 经过几轮进化趋于稳定后,可以进一步利用以下特性提升效果。
3.1 Frontmatter 配置
合理的 Frontmatter 配置能让 SKILL 在正确的时机被正确的方式调用。
write-case 实际使用的配置:
Frontmatter 关键字段速查
3.2 禅道 API 集成
write-case SKILL 的一个核心能力:与禅道项目管理系统对接,自动获取用例信息。
智能输入解析:
写用例 29(1~3 位)→ 批量模式,自动取模块 29 下一条未自动化用例写用例 24759(4 位+)→ 简写模式,通过modulePairs映射表自动反推模块编号写用例 27 24759→ 指定模块 27,写 CaseID 24759
自动排除已自动化用例:脚本自动读取 tag/29.csv 和 case/29/test_29_*.py 文件头部注释,将已自动化的 CaseID 剔除。
测试工程师只需要说"写用例 29",AI 就知道要去写模块 29 的哪一条用例。不需要手动查禅道、手动找编号、手动复制步骤。这个流程减少了 5 步人工操作。
3.3 模块编号系统与 tag CSV 同步
write-case 项目中的用例按模块编号组织:
每个模块对应一个 tag/XX.csv 文件,记录 ScriptID → 禅道 CaseID 的映射,实现双向追踪:
写用例完成后,SKILL 流程自动执行 tag CSV 同步:从文件名提取 ScriptID(test_32_067.py → 067),从文件头注释提取禅道 ID,追加到 CSV。
3.4 按需加载参考文档
write-case 的 references/ 目录有 8 个文档,SKILL 主文件控制在 150 行以内。指令明确告诉 AI 何时读取哪个文件:
把所有内容塞进 SKILL.md,看似方便,实际上上下文窗口很快被占满,AI 反而找不到重点。主文件做索引,详内容做附件——既保持精简,又保证信息完整。
3.5 Checklist 机制
write-case 使用独立的 checklist.md 文件,包含多项检查点。写用例完成后逐项打勾:
3.6 相邻用例参考策略
write-case SKILL 的一个关键设计:写用例时优先参考相邻编号的用例。
如写
test_25_019,优先参考test_25_018,再往前参考test_25_017。
为什么?因为相邻用例通常:
- 操作同一个模块的相近功能,共享相似的 fixture 前置步骤
- 使用相同的文档资源(
open_document_from_ftp路径相似) - 使用相同的对话框和元素,坐标和参数可以直接复用
这条策略大幅提升了 AI 写用例的首次通过率。
3.7 动态上下文注入
SKILL 支持在加载时运行 shell 命令,将实时数据注入提示词:
AI 写用例时能感知项目实时状态——知道当前在哪个分支、最近改了什么文件。不再是对着空气写代码,而是带着上下文写。
四、总结

三个关键认知
写好 SKILL 的关键是站在 AI 的角度思考——它缺什么信息、会犯什么错误、需要什么约束才能按你的规范执行?write-case 的两条铁律(断言 + 注释)就是最佳范例:把最容易犯的错变成不可违反的规则。
裸考 → 批卷 → 出师 → 立规,四个阶段循环往复,SKILL 才会越来越强。SKILL 不是写完就完了的东西,它是活的。write-case 项目通过 checklist.md 的最后一项"发现新模式 → 同步更新 references",将这个闭环自动化了。
谁最懂测试规范?谁最清楚什么是对的、什么是错的用例?答案就是你。把这份隐性知识转化为 SKILL,你的经验就不再只属于你一个人——它变成了团队可复用的资产,也成了你自己的效能杠杆。
最后的话
最好的工具不是让人不用干活,而是让人干更有价值的活。
当 AI 帮你搞定了用例编写这类重复劳动之后,你的时间就可以花在真正需要测试智慧的事情上——设计更巧妙的测试策略、挖掘更深层次的缺陷、优化整个质量保障流程。
这才是测试工程师的升级之路。SKILL 进化,共勉。
