SuperAPI AI 工具集

test-challenger

测试与质量

查看项目

更新于 10-15 16:49

技能介绍

Test Challenger 是一个用于审查单元测试质量的技能,尤其针对 AI 生成的测试,目标是找出“假阳性”——即使被测代码行为错误也仍会通过的测试。其核心观点是:测试的价值取决于它对被测代码的独立性;如果预期结果来自观察代码而非理解规格,测试只能捕获回归,无法发现缺陷。\n\n用途:在用户要求审查、挑战或评估测试时使用。执行时先收集上下文:被测测试文件、被测试源码;若只提供其一,需索取另一个。可选信息包括规格/需求/文档(独立 oracle)、Git/PR 上下文(AI 生成会增加怀疑先验)、语言/框架。\n\n主要能力:按“假阳性模式目录”逐条分类测试,涵盖十种模式:同义反复测试、执行得出的硬编码 oracle、无规格的快照测试、无断言或弱断言、仅快乐路径覆盖、过度 mock、与实现耦合的断言、巧合通过、缺少负面测试、规格盲区。每个测试给出结论:Solid(独立 oracle、有意义断言、能捕获真实缺陷)、Suspicious(1-2 个弱模式,需人工复核)、Likely False Positive(强指标表明 oracle 来自代码)、Vacuous(毫无验证价值)。\n\n使用方式:按步骤执行——收集上下文、逐个测试分类、套用模式目录、产出挑战报告(每个测试给出结论、检测到的模式、理由和改进建议,再给出总计与高风险发现及建议)、最后提出补救:用独立 oracle 重写、补充边界/边缘变体、改为基于属性的测试、删除并替换、或添加规格注释。\n\n适用场景:审查 AI 生成或任意来源的单元测试,评估测试是否真正验证正确行为而非当前实现。\n\n限制:该技能并非拒绝所有生成测试;当行为简单明显正确、检查众所周知的不变量(如排序输出有序)、由明确 docstring/类型签名生成、或独立可理解的错误处理路径时,生成测试可能是可接受的。它标记缺少独立 oracle、需要人类领域知识的测试。资料未提供具体安装命令、收费、平台或效果数据。