今天想聊一个特别实际的问题。做测试的同学应该都有这个体验——让AI帮忙写个测试用例,第一次写得挺好,第二次格式就全变了;让它出个Bug报告,结果乱七八糟的,根本没法直接贴到Jira里。很多人就开始怀疑,是不是自己不会用AI?
对,这个问题我太有共鸣了。其实不是你用得不对,根本原因在于AI压根不了解你们团队的测试流程和规范。你想啊,GPT-4也好,Claude也好,它们都是拿海量互联网数据训练出来的通用模型,语言能力确实强,但它不知道你们团队用的是PyTest还是JUnit,断言风格是assert还是expect,报告是往Jira提还是往禅道提。它没有这些上下文,就只能在各种「看起来都合理」的方案之间随机选一个,所以你每次拿到的结果都不一样。
嗯,说白了就是模型在「猜」你想要什么,而不是「知道」你想要什么。那怎么解决呢?
解决方案就是构建Skill,翻译过来就是「技能说明书」。你可以把它理解为——把你们团队的测试流程、模板、经验,全部沉淀成一份结构化的文档,让AI严格按照这份说明书干活。这样它每次输出的格式、质量、规范性就都统一了。
这听起来跟我们平时写Prompt有什么区别呢?我每次也会在提示词里写清楚要求啊。
区别大了。没有Skill的时候,你每次都得重新交代一遍——我用什么框架、断言怎么写、报告格式是什么样的。不仅效率低,而且你今天写的提示词和明天写的可能就不一样,输出质量自然参差不齐。Skill本质上是把提示词工程做了一次工程化升级,从「每次临时编一段提示词」变成「维护一套提示词资产库」。它把Few-shot学习、思维链推理、角色扮演这些零散的提示技巧系统化了,而且可以版本管理、团队共享。你今天写好一个Skill,全组的人都能用,大家输出标准统一,整体质量自然就上去了。
这个思路确实比单纯写Prompt高了一个维度。那具体到测试工作中,你觉得哪些场景最适合做成Skill?
我总结了8个最核心的。第一个是需求文档转测试用例,这绝对是最高频的。把PRD丢进去,AI按标准格式自动生成用例——编号、前置条件、测试步骤、预期结果、优先级,全都有。而且Skill里可以预置等价类划分和边界值分析这些经典的测试设计策略,确保AI不只是覆盖正常流程,边界和异常场景也能系统性地覆盖到。
等价类和边界值这两个概念,可能有些听众不太熟悉,能简单解释一下吗?
好,打个比方。比如一个输入框要求填1到100的数字,等价类划分就是说,你不用1到100每个数都测一遍,把它分成三类——小于1的、1到100之间的、大于100的,每类挑一个代表测就行了。边界值分析呢,就是重点测边界上的值,比如0、1、2、99、100、101这些,因为经验告诉我们程序出Bug最多的地方就是边界。在Skill里把这些策略写进去,AI生成的用例质量会好很多。
明白了。那第二个Skill呢?
第二个是Swagger接口文档转测试脚本。Swagger现在叫OpenAPI规范,它本身就是结构化的,用JSON或YAML描述了API的路径、参数、响应结构这些信息。AI可以直接解析里面的schema定义,自动识别必填字段、数据类型、枚举值,然后生成覆盖正向和异常的测试脚本。Skill里需要定义好你用的请求库,比如requests,断言风格、参数化方式这些。
这个确实省事。那剩下的几个Skill呢?我们快速过一下。
好。第三个是Bug报告生成器,你只需要描述问题,AI按团队模板输出标题、严重程度、复现步骤、环境信息,直接粘贴到缺陷管理系统。第四个是测试日志智能分析,把报错日志贴进去,AI帮你区分是环境问题、数据问题还是真正的代码缺陷,特别适合处理大批量自动化测试失败的场景。第五个是自动化脚本生成,描述测试场景,AI生成PyTest或Selenium脚本。这里有个关键点,Skill里要定义好页面对象模式也就是POM的结构规范。
POM这个概念也值得说一下,它在UI自动化里太重要了。
对,POM的核心思想是把每个页面封装成一个类,元素定位和操作都在类里面,测试用例只调用页面对象的方法。这样页面UI变了,你只改页面类就行,不用改所有测试用例。在Skill里定义好POM规范,AI生成的脚本天然就具备好的可维护性。然后第六个是测试报告摘要生成,跑完回归测试后自动总结通过率、失败分析、遗留风险,领导看了直接点头那种。第七个是代码Review助手,帮你检查断言有没有遗漏、等待机制合不合理、异常处理完不完善。第八个是性能测试结果分析,把JMeter或Locust的压测数据丢进去,AI帮你分析QPS、响应时间分布、错误率趋势,定位性能瓶颈。
八个Skill覆盖了测试工作的主要环节。那具体怎么写一个好的Skill呢?有没有什么方法论?
有的,一个好的Skill通常包含五个核心要素。第一是角色定义,比如让AI扮演资深QA工程师。第二是输入规范,说明用户会给什么格式的输入。第三是输出模板,严格定义输出的格式和字段。第四是规则约束,列出必须遵守的规范,比如框架版本、编码风格。第五是示例参考,给一个完整的输入输出示例,这个特别重要,AI看了示例之后输出质量会明显提升。
写好之后怎么部署呢?总不能每次聊天都手动粘贴一遍吧。
当然不用。现在主流的AI工具都支持持久化的规则注入。比如Cursor,它是基于VS Code的AI编辑器,你在项目根目录下放一个规则文件,每次AI交互时会自动加载。Claude支持通过System Prompt设定角色和行为约束,ChatGPT有Custom Instructions功能。我建议每个Skill用独立的Markdown文档维护,Markdown既是人能读的文档,AI也能直接解析,还可以纳入Git做版本管理,团队协作特别方便。
这就形成了一个闭环——写好Skill、部署到工具里、团队共享、持续迭代。其实说到底,Skill的价值不只是让AI输出更规范,它代表的是一种思维方式的转变。
没错,你说到点子上了。AI在测试领域的价值,不在于它能不能做,而在于做得够不够规范。Skill就是把团队的经验和流程标准化,让AI从一个需要反复调教的聊天机器人,变成一个开箱即用的QA助手。核心理念就一句话——用工程化的方式驾驭AI,而不是靠运气获得好结果。
嗯,靠运气这个说法太准确了。很多人用AI就是在碰运气,运气好了输出能用,运气不好就得反复改。有了Skill体系之后,相当于把运气因素给消除了,每次都是确定性的高质量输出。对于每天被重复工作消耗的测试同学来说,这8个Skill确实值得花时间搭建起来,前期投入一点时间,后面能省出来的可不是一点半点。