用途:这是一份知识参考,面向已有测试套件,说明用哪种机械信号衡量测试实际触达了哪些内容,以及如何诚实解读该信号。它不负责设计测试类型或决定何时写测试,那属于设计测试策略的工作。
主要能力:把“覆盖率”这一多义词拆分为多个轴——结构化/代码覆盖率(行、语句、分支、条件、路径是否被执行)、变异覆盖率(注入源码故障后测试套件能否检出)、需求/特性覆盖率(验收标准、用户故事、规格条款是否有验证测试)、API/集成覆盖率(端点、方法、状态码、契约交互、schema 字段是否被调用)、规格域覆盖率(等价类、边界值、参数组合、状态迁移、错误路径)。
关键概念:覆盖率不是一种测试类型。变异测试、MC/DC、分支覆盖率、RTM 关联、契约覆盖率等是对现有套件的度量,不是单元/集成/e2e 这类测试类型;“该写单元测试还是变异测试”是错误问法,正确问法是“我已有单元/集成测试,是否还要对其运行变异分析”。
不对称原则:低覆盖率是测试薄弱的强证据;高覆盖率是测试强大的弱证据。100% 行覆盖率可以在零断言下达成,应把覆盖率当作绊线而非奖杯。
限制:覆盖率不衡量测试质量、正确性,也不等于“测试良好”;有断言缺失、死代码、等价变异体等盲点;变异的等价体检测通常不可判定,不必追求 100% 变异分数。
使用方式:资料提供按类型组织的结构,每类按定义、不衡量什么、典型工具、何时使用或跳过、阈值与陷阱、成本收益六项展开,可据此按需查阅;各生态工具与命令资料未在此给出完整清单。