首页/开发/软件测试速查/变异测试(Mutation Testing)
测试基础与分层67 条

变异测试(Mutation Testing)

通过自动修改源码(变更运算符、边界、返回值等)生成变异体,检查测试能否捕获这些人为错误,用来评估测试套件的检出能力。

软件测试速查开发更新于 2026-10-12
核心指标变异得分 = 被杀死变异体 / 可变异体总数
工具PIT(Java)、mutmut / cosmic-ray(Python)、Stryker(JS/TS)

Python 示例

Python 示例
pip install mutmut
mutmut run --paths-to-mutate src/
mutmut results
变异测试执行成本高,适合对核心模块周期性执行,或先对高风险文件做定向变异。

易错点

  • 把等价变异体(行为不变的改动)当作漏检缺陷,需要人工排除
  • 在全量代码库无差别运行变异测试,CI 时长失控

数据来源与参考

  • PIT(pitest.org)
  • mutmut 官方文档(mutmut.readthedocs.io)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌