SuperAPI AI 工具集

test-remediation-method

测试与质量

查看项目

更新于 10-15 10:51

技能介绍

Test remediation 是一个测试修复流程技能,核心目标是在对失败测试执行受控隔离(quarantine)或合并(consolidation)之前,先完成失败原因分类,从而保留测试行为、独立失败模式以及来自真实缺陷的测试来源。

用途 该技能用于处理测试失败,避免在未诊断原因的情况下直接跳过、隔离或合并测试。它强调:跳过年龄、模块重命名、覆盖率相等和 CI 变红都不足以构成诊断依据。失败测试不应因为被移走而变得无关紧要。

主要能力 支持三种模式:audit、quarantine、consolidate。输入包括模式、准备好的原生审计或清单、目标、输出根目录、明确接受的范围、授权以及所需门禁配置。输出为原生审计或修复台账,以及项目结果信封。Audit 仅报告;quarantine 和 consolidation 只应用明确接受的操作。

原因分类 在处置前必须进行原因分类,每类需要相应证据并指定负责人或动作:

  • product-defect:独立契约或预期与产品行为不一致。由产品实现负责人处理,保持回归测试活跃并阻止受影响关闭。
  • wrong-oracle:授权需求或独立预期结果推翻断言。由 testing:test-writer 修复预期,记录原因;绝不从被测实现推导预期结果。
  • environment:依赖、服务、凭据、运行器或配置解释了失败。由环境或配置负责人修复设置或明确推迟受影响验证。
  • test-isolation:复现识别出泄漏状态、冲突夹具或未完成的测试工作。由 testing:test-writer 修复 setup/teardown,并在不丢失产品回归保护的前提下证明隔离。
  • intermittent:在记录的可比条件下重跑或 CI 结果不一致。这是观察到的症状,不是根因;处置前需区分产品竞态、测试隔离和环境。
  • unknown:证据尚不能区分产品、预期或环境。保留测试并标记受影响动作为开放,调查后再考虑隔离。

使用方式 需加载 testing:test-hygiene 技能和 project-protocol:project-protocol。仅对同一目标和快照复用准备好的包;否则加载 testing:test-preparation。变更前检查所有权、保留的起始编辑、授权、基线、所需本地/远程通道和恢复点。在每个阶段前立即捕获 pre_phase_sha;硬重置需要独占拥有的干净隔离工作树。读取本技能中的 references/audit.md 或 references/consolidate.md;隔离请求使用审计中已接受的修复部分,而不是另一次检测。对于隔离路径、排除配置和原生台账,读取本技能内的 references/quarantine-layout.md,该文件是唯一布局所有者。

间歇性失败处理 间歇性失败可能暴露真实的产品并发、取消或资源生命周期缺陷。有证据的产品竞态应重新归类为 product-defect 并保持其回归活跃。测试状态泄漏或资源冲突应作为测试隔离缺陷修复,使用 test-hygiene 预防规则 9。临时隔离需要证据表明剩余间歇性、负责人、返回条件、接受风险和保留的有意义保护;增加重试不是因果诊断。

保护对象与门禁 保护不同的失败模式、边界契约和来自真实缺陷的测试。当前实现是证据,绝不是其自身的预期。变异报告是支持性证据;存活的变异体不是测试无价值的自动证明。在提交前使用同一快照证据对候选进行门禁。在结果信封中保留原生发现、缺失测量和来源出处。

适用场景 适用于需要对测试失败进行系统分类、决定是否隔离或合并测试、并确保修复过程可审计和可追溯的测试质量管理工作。

限制 该技能要求明确的授权、接受范围和门禁配置。隔离或合并仅对明确接受的操作生效。接受必须指明确切文件、原因、返回条件和未解决风险;如果先前授权已覆盖这些项目,则可复用。未回答的清单行保持原状。