SuperAPI AI 工具集

characterize

测试与质量

查看项目

更新于 10-15 22:12

技能介绍

用途:为行为不清晰、杂乱或由 AI 生成的既有子系统创建特征测试(Golden Master / Feathers),先固定当前可观察行为,再安全地进行重构和渐进式替换。需要提供要锁定的子系统、入口点或行为面作为参数;前提是至少有一个可运行的入口点(函数、CLI 命令、服务器路由等),不强制要求已有概念胶囊,但存在时应沿用其词汇。

主要能力与流程:一、识别行为面,列出 1-3 个要锁定的表面(公共函数、CLI 命令、HTTP 端点、文件进文件出、序列化输出),优先选择最稳定的公共接口。二、构建最小夹具集,包含一条典型正常路径、1-3 个有意义的边界情况、一个“奇怪但真实”的脆弱案例,保持套件精简以免难以维护。三、稳定非确定性,捕获输出前冻结时间、为随机性设种子或打桩、排序键与规范化数组、归一化系统相关路径和换行、将网络调用打桩或录制一次且不访问真实服务、必要时强制单线程,若行为本身不确定则定义容错比较器。四、捕获黄金输出,对每个夹具运行目标面,记录返回值、标准输出与错误、退出码、HTTP 状态与响应体,存为快照或黄金文件,格式稳定可读且便于通过“重新生成”命令有意更新。五、编写特征测试,断言给定夹具输入时输出匹配黄金结果或容错比较结果,只断言可观察行为而非内部结构,编写期间不重构生产代码,少而强的断言优于多而弱的断言。六、输出覆盖报告,包含已覆盖表面、夹具清单、已知非确定性及稳定方式、行为缺口,并建议下一步(通常是 /pragma:refactor 或绞杀者接缝)。七、仅提交测试,提交信息为“Characterization: lock down current behavior of <subsystem>”。

限制:特征测试期间不得重构,不要改动生产代码;夹具保持最小;测试必须确定性(或受控容错);黄金更新必须是有意为之,意外快照变动会破坏信任。生命周期:状态为 stabilizing,下一步为 /pragma:refactor,循环为 /pragma:consult(除非用户明确直接继续)。