用途:对生产代码做伪变异分析(静态推理,不实际运行变异),判断现有测试能否捕获假设的代码改动,从而发现“测试通过但代码被改坏仍会通过”的盲区。
主要能力:识别边界、布尔逻辑、返回值、异常/错误移除、算术、空值检查等变异点;对每个变异点判定为 Killed(有测试会失败)、Survived(无测试发现,即测试缺口)、No coverage(无测试覆盖)、Equivalent(行为等价,跳过);按业务风险而非数量排序输出报告,并给出具体测试断言或新增用例建议。
使用方式:先调用 test-analysis-extensions 技能发现扩展文件,读取与目标代码库匹配的文件(如 extensions/dotnet.md、extensions/python.md、extensions/typescript.md),以定位测试文件、识别框架断言 API 及语言特有的空值/错误处理写法。随后读取生产代码与对应测试,按语言约定配对(如 .cs ↔ *Tests.cs、foo.py ↔ test_foo.py、foo.ts ↔ foo.test.ts 等),追踪调用链,标注变异点并逐一评估。
适用场景:用户询问“测试能否发现此代码的 bug”、寻找薄弱或浅层测试、评估覆盖率之外的测试有效性、要求变异测试/变异分析、定位测试盲区、确定优先加强哪些测试。
限制:不用于从零编写新测试(可用 code-testing-agent 或 writing-mstest-tests)、不检测 flaky 或命名等测试反模式(用 test-anti-patterns)、不衡量断言多样性(用 assertion-quality)、不运行真实变异框架(如 Stryker、mutmut、PIT、go-mutesting、cargo-mutants、mutant)、不提供代码覆盖率数字。分析应跳过简单 getter、自动属性、生成代码等琐碎内容,等价变异不计入缺口,并需考虑调用链与生产上下文。具体支持语言与扩展文件清单以实际提供的扩展为准,资料未逐一列全。