mcpField
L
ln-633-test-value-auditor

ln-633-test-value-auditor

github.com/levnikolaevich测试与质量584372 次安装2 天前更新
代码仓库

关于 ln-633-test-value-auditor

面向测试组合审查的技能,评估单项测试的业务价值与维护成本,并建议保留、删除、合并或重写。它会生成带评分的 Markdown 报告和机器可读摘要。

主要功能

  1. 01按业务影响和失败概率评分
  2. 02考虑重复覆盖与回归历史
  3. 03将测试分类为 KEEP、DELETE、MERGE 或 REWRITE
  4. 04计算合规评分
  5. 05生成 Markdown 审计报告和摘要

适用场景

  1. 01筛查大型测试套件中的低价值测试
  2. 02识别与 E2E 覆盖重复的测试
  3. 03确定关键流程测试的维护优先级

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-633-test-value-auditor

安装后在 Claude Code 中输入/ln-633-test-value-auditor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
audit_output_schema.md
audit_scoring.md
audit_summary_contract.md
audit_worker_core_contract.md
two_layer_detection.md
references/templates/
audit_worker_report_template.md

详细介绍

路径: 文件路径(references/、../ln-*)均相对于此技能目录。

投资组合价值审计器(L3 Worker)

类型: L3 Worker

用于计算每项测试的投资组合价值和维护成本的专用 Worker。

目的与范围

  • 审计投资组合价值(类别 3:关键优先级)
  • 计算价值分数 = 影响 × 概率,然后根据独特性、回归历史和维护成本进行调整
  • 做出规范的 KEEP、DELETE、MERGE 或 REWRITE 决策
  • 计算合规分数(X/10)

输入

必须读取: 加载 references/audit_worker_core_contract.md。

接收包含以下内容的 contextStore:tech_stack、testFilesMetadata、codebase_root、output_dir。

工作流

检测策略:使用两层检测(候选项扫描,然后进行上下文验证);仅在验证方法不明确时加载 references/two_layer_detection.md。

  1. 解析上下文: 从 contextStore 提取技术栈、影响/概率矩阵、测试文件列表和 output_dir
  2. 计算分数(第 1 层): 对每项测试计算价值分数 = 影响 × 概率,然后标注重复覆盖、已知回归防护和维护成本 2b) 上下文分析(第 2 层——必须执行): 在最终确定 DELETE 或 MERGE 决策前,询问:
    • 这是针对已知历史 Bug 的回归防护吗?-> 无论分数如何,均选择 KEEP
    • 即使分数 <10,此测试是否覆盖关键业务规则(支付、身份验证)?-> 如果断言较弱,应选择 REWRITE,而非 DELETE
    • 这是关键流程中唯一覆盖某个边缘情况的测试吗?-> 选择 KEEP
    • 是否有其他测试能以更清晰的断言或更低的成本证明相同的行为?-> 选择 MERGE
  3. 分类决策: KEEP、DELETE、MERGE 或 REWRITE
  4. 收集发现: 记录每项 REVIEW/REMOVE 决策,并注明严重程度、位置(文件:行)、工作量估算(S/M/L)和建议
  5. 计算分数: 按严重程度统计违规数量,计算合规分数(X/10)
  6. 编写报告: 按照 references/templates/audit_worker_report_template.md 在内存中构建完整的 Markdown 报告,通过一次 Write 调用写入 {output_dir}/ln-633--global.md
  7. 返回摘要: 向协调器返回最简摘要(参见输出格式)

有用性分数计算

公式
Usefulness Score = Business Impact (1-5) x Failure Probability (1-5)
影响评分(1-5)
分数影响示例
5严重资金损失、安全漏洞、数据损坏
4高核心流程中断(结账、登录、注册)
3中功能部分损坏、用户体验下降
2低轻微用户体验问题、外观问题
1可忽略外观问题,不影响用户
概率评分(1-5)
分数概率指标
5极高算法复杂、采用新技术、依赖项众多
4高多个依赖项、并发、边缘情况
3中标准 CRUD、框架默认行为、成熟模式
2低简单逻辑、成熟库、简单操作
1极低简单赋值、框架生成、不可能出错
决策阈值
分数范围决策操作
>=15KEEP测试有价值,予以保留
10-14REWRITE仅在断言能够证明独特的产品风险时保留
<10DELETE删除测试,不值得承担维护成本。**例外:**针对已知 Bug 的回归防护 -> KEEP

评分示例

示例 1:支付处理测试
Test: "processPayment calculates discount correctly"
Impact: 5 (Critical -- money calculation)
Probability: 4 (High -- complex algorithm, multiple payment gateways)
Usefulness Score = 5 x 4 = 20
Decision: KEEP
示例 2:电子邮件验证测试
Test: "validateEmail returns true for valid email"
Impact: 2 (Low -- minor UX issue if broken)
Probability: 2 (Low -- simple regex, well-tested library)
Usefulness Score = 2 x 2 = 4
Decision: DELETE (likely already covered by E2E registration test)
示例 3:登录流程测试
Test: "login with valid credentials returns JWT"
Impact: 4 (High -- core flow)
Probability: 3 (Medium -- standard auth flow)
Usefulness Score = 4 x 3 = 12
Decision: REWRITE (if E2E covers the flow, merge/delete duplicate assertions; otherwise focus assertions on auth behavior)

审计规则

1. 为每项测试计算分数

流程:

  • 阅读测试文件,提取测试名称/描述
  • 分析被测代码(CUT)
  • 确定影响(1-5)
  • 确定概率(1-5)
  • 计算有用性分数
2. 分类决策

保留:

  • 高价值测试(金钱、安全、数据完整性)
  • 核心流程(结账、登录)
  • 复杂算法

合并:

  • 用于证明相同行为的重复测试
  • 应合并为一个场景的零散断言
  • 除断言存在表面差异外,设置重复的测试

重写:

  • 断言薄弱的中等价值测试
  • 需要更明确产品风险判定依据的测试

删除:

  • 低价值测试(外观、琐碎)
  • E2E 测试的重复项
3. 识别模式

常见的低价值测试:

  • 测试琐碎的 getter/setter
  • 测试常量值
  • 测试类型注解
  • 重复的设置/断言变体
  • 维护成本超过置信度价值的测试

评分算法

必须阅读: 加载 references/audit_scoring.md。

按价值分数映射严重程度:

  • 分数 <5 -> 严重(测试浪费了大量维护精力)
  • 分数 5-9 -> 高(测试可能造成浪费)
  • 分数 10-14 -> 中(需要审查)
  • 分数 >=15 -> 无问题(保留)

输出格式

必须阅读: 加载 references/templates/audit_worker_report_template.md。

按照 references/audit_summary_contract.md 编写 JSON 摘要。在托管模式下,调用方会传入 runId 和 summaryArtifactPath;在独立模式下,工作器会根据共享契约生成其自己的、限定于本次运行的制品路径。

将报告写入 {output_dir}/ln-633--global.md,其中 category: "Portfolio Value",检查项为:value_score、delete_candidates、merge_candidates、rewrite_candidates。发现项必须包含规范的 action,取值为 KEEP、DELETE、MERGE 或 REWRITE。

按照 references/audit_summary_contract.md 返回摘要。

如果未提供 summaryArtifactPath,则将独立运行摘要写入 .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json,并可选择在结构化输出中回显相同的摘要。

Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-633--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)

注意: KEEP 决策的测试作为保留证据进行总结,而不是作为发现项。发现项仅包含 DELETE、MERGE 和 REWRITE 决策。

关键规则

应用已加载的 references/audit_worker_core_contract.md。

  • 不要自动修复: 仅报告
  • 独特职责: 负责最终的组合价值决策。不要重复检测平台行为、发现关键覆盖、隔离性、判定依据强度或结构检查。
  • 工作量估算: S = <1h,M = 1-4h,L = >4h
  • 评分客观性: 根据代码分析确定影响和概率,而非基于假设
  • 不报告 KEEP 测试: 发现项中只包含 DELETE、MERGE 和 REWRITE 决策
  • 交叉参考 E2E: REVIEW 决策取决于 E2E 是否已覆盖该场景

完成定义

应用已加载的 references/audit_worker_core_contract.md。

  • 成功解析 contextStore(包括 output_dir)
  • 为每项测试计算价值分数(影响 x 概率,并结合独特性、回归和维护情况)
  • 将决策分类为:KEEP、DELETE、MERGE、REWRITE
  • 收集包含严重程度、位置、工作量、建议和操作的发现项
  • 使用惩罚算法计算分数
  • 将报告写入 {output_dir}/ln-633--global.md(使用一次原子性 Write 调用)
  • 按照契约写入摘要

参考文件

  • 审计输出架构: references/audit_output_schema.md

版本: 3.0.0 最后更新: 2025-12-23

评论

支持 Markdown