用途:评估 .NET 项目的可靠性检查(测试)是否真能发现现实源码缺陷。被测目标是测试判定器本身:单个变异体被检出只说明对该缺陷敏感,不代表整体正确。
主要能力:建立范围与基线(读取属性、断言、构建配置与测试命令,记录修订、脏改动、SDK/运行时、包版本、命令、测试数与失败);选择执行方式(支持的 C# 项目优先使用仓库固定的 Stryker.NET 工具与配置;F# 源码或不支持的项目/运行器组合则用隔离的手工源码变异体配合现有测试命令);运行并按类型归因(存活、未覆盖、等价、构建无效、超时、基础设施故障)。
必要用法与限制:基线正确性失败时必须停止;跳过、未发现或未执行的测试不构成绿色基线。C# 测试不能证明工具可变异 F# 源码,源语言支持需与测试运行器支持分开验证。不要为让变异工具可用而迁移测试框架,也不要静默安装全局工具。变异体须放在独立 worktree 或快照中,保留用户未提交文件,绝不修改其工作副本。需确认变异代码确实执行、目标检查因预期原因失败,并区分归因于变异、可达性、判定器还是属性;不得通过弱化负载或修改预期结果强行制造检出。若经授权修复改动了生产代码、断言或输入,须重新建立基线并在预算内重跑受影响的变异体。输出方面:在仓库证据目录或 reliability/mutations/ 下写报告,逐个变异体记录补丁、属性、源码指纹、命令、运行时、执行证据、判定与解释,保留工具原始判定;仅清理本次运行创建的临时资源,确认用户原始树不含变异体;明确报告剩余缺口与预算耗尽,不得把变异百分比当作所有属性已受保护的结论。