用途:变异测试通过向代码中引入小的、故意的缺陷(变异),检查测试是否能捕获它们,从而在覆盖率之外提供测试有效性的行为度量。
主要能力:生成变异(算术、关系、逻辑运算符、条件边界、语句删除、常量变化等);对每个变异运行测试并分类为 Killed(测试失败,好)、Survived(测试通过,差)、Timeout;计算变异分数 killed/(total-timeouts);针对存活变异生成定向测试。基于 Go 的 go/ast 和 go/parser 包进行 AST 智能变异生成。
使用方式:脚本为可执行 Go 程序,通过 shell 包装器调用。生成变异:~/.claude/skills/mutation-testing/scripts/generate-mutations.sh --file wallet.go --output mutations.json;运行变异测试:~/.claude/skills/mutation-testing/scripts/run-mutation-test.sh --mutation-file mutations.json --mutation-id M0 --package ./internal/wallet --output results/M0.json;解析结果:~/.claude/skills/mutation-testing/scripts/parse-results.sh --results 'results/*.json' --output report.json。可与 mutation-tester 智能体、test-engineer、code-reviewer 集成。
适用场景:测试生成后验证有效性、关键任务代码(金融、共识、安全)、PR 审查质量门禁、重构前验证回归、复杂逻辑边界与错误处理。目标分数:关键代码 90%+,核心业务 80-90%,一般代码 70-80%,低风险 60-70%。
限制:变异测试不是模糊测试;需处理等价变异;大型代码库建议仅对变更文件运行;资料未提供具体收费、平台支持范围等信息。