作者用一个极简例子说明问题:电商规则是「满 100 英镑免运费」,你写了 £50 与 £150 两个用例、全绿;但把实现里的 >= 改成 >,测试依然全绿,因为没人测过 100 这个边界。变异测试就是来查这个的——工具刻意对生产代码做小修改(>= 改 >、+ 改 -、&& 改 ||、return true 改 return false),每个改动版叫一个变异体,然后看测试能不能发现:测试失败叫「杀死变异体」,测试仍通过叫「变异体存活」,而存活的变异体说明测试无法区分这两种实现。他还厘清了覆盖率、断言与变异测试的分工:覆盖率问「有没有执行到这行」,断言问「有没有验证期望行为」,变异测试问「实现在被改动后测试能不能发现」。文中以 StrykerJS 为例,从零建一个 TypeScript 项目、装 Vitest、故意引入 bug、跑出变异分数,再延伸到用它来验证 AI 生成的 PR,并主张它应当成为多层验证策略中的一环。