SuperAPI AI 工具集

quality-gate

测试与质量

查看项目

更新于 10-16 06:07

技能介绍

用途

Quality Gate 是一个验证与确认(V&V)编排技能,目标是把一个变更或 PR 转化为基于证据的 go/no-go 决策,并给出清晰的后续行动和到需求的可追溯性。它扮演“验证与确认负责人”的角色,强调证据优先、按风险分级门禁、需求可追溯、输出可执行、不扩大范围。

核心原则

  • 证据优先于感觉:无法展示的内容不计入结论。
  • 基于风险的门禁:风险越高的变更,门禁越严格。
  • 可追溯性:范围内的每项需求都映射到验证证据。
  • 可执行输出:每条发现都包含“下一步做什么”。
  • 不扩大范围:评估变更本身,不重新设计产品。
  • 本质主义检查:验证“关键少数”对齐与消除纪律。

所需输入(缺失时需询问)

  • 变更上下文:issue/PR 链接、预期行为、“完成”的定义。
  • 范围内的需求(ID 或链接)以及非功能约束(SLO、预算)。
  • 如何在本地/CI 运行检查(测试命令、构建配置、环境变量)。
  • 变更文件/差异(或待审查的路径)。

门禁选择(决策规则)

始终运行:

  • 代码审查(code-review 技能)
  • 静态分析(ubs-scanner 技能)——使用 UBS 进行自动化缺陷检测
  • 需求追溯检查(requirements-traceability 技能)
  • 基线测试状态(运行了哪些测试及结果)

按条件运行:

  • 安全审计(security-audit):当涉及不可信输入、认证/授权、加密、密钥、网络、反序列化、文件系统、沙箱或不安全代码时。
  • 性能门禁(rust-performance):当涉及热路径、算法、分配、并发、数据库查询、序列化,或任何有延迟/吞吐预算的内容时。
  • 验收/UAT(acceptance-testing):当用户可见行为、工作流或 API 契约发生变化时。
  • 视觉回归(visual-testing):当 UI 布局、样式、组件或渲染发生变化时。

如果不确定,默认“运行该门禁”并记录假设。

本质主义审查

每次质量门禁运行都包含本质主义检查。在运行专家检查之前,先评估:

门禁前问题:

  • 这个变更属于“关键少数”吗?(如果不是,是否应拒绝?)
  • 能否更简单?(寻找过度工程)
  • 消除了什么?(验证范围纪律是否得到保持)

本质主义检查清单:

  • 关键少数:这个变更对核心目标是否必要?
  • 范围纪律:“绝对避免”清单是否被遵守?
  • 简单性:这是能起作用的最简单方案吗?
  • 消除:替代方案是否被恰当拒绝?

危险信号(自动审查):

  • 包含非必要功能
  • 实现过程中需要英雄式努力
  • 超过 5 个重大变更且无正当理由
  • 设计中缺少消除文档
  • 摩擦日志显示系统性问题

工作流程

  1. 接收 + 风险画像

    • 总结范围(改了什么、在哪里、影响谁)。
    • 分类风险:安全 / 数据完整性 / 性能 / UX / 运维。
    • 识别范围内需求(显式或推断;推断需标注)。
    • 本质主义过滤:这个变更是否应该存在?挑战非必要工作。
  2. 运行专家检查

    • 使用/协调上述相关专家技能。
    • 优先运行项目实际命令;否则提出具体命令。
    • 为任何“已验证”的内容记录证据(命令 + 关键输出)。
  3. 综合

    • 跨检查去重发现。
    • 将发现转化为按优先级排序的行动列表。
    • 决定门禁状态:通过、带后续项通过、失败。
  4. 产出 Quality Gate Report

    • 使用下方模板。
    • 链接需求 → 测试 → 证据。
    • 清楚标注未验证的内容(及原因)。

Quality Gate Report 模板

Quality Gate Report: {change-title}

Decision

Status: ✅ Pass | ⚠️ Pass with Follow-ups | ❌ Fail

Top Risks (max 5)

  • {risk} -- {why it matters} -- {mitigation}

Essentialism Status

  • Vital Few Alignment: [Aligned / Not Aligned / Unclear]
  • Scope Discipline: [Clean / Scope Creep Detected]
  • Simplicity Assessment: [Optimal / Over-Engineered / Under-Designed]
  • Elimination Documentation: [Complete / Incomplete / Missing]

Scope

  • Changed areas: {modules/files}
  • User impact: {who/what changes}
  • Requirements in scope: {REQ-...}
  • Out of scope: {explicitly not covered}

Verification Results

Code Review

  • Findings: {critical/important/suggestions summary}
  • Evidence: {commands run, notes}

Static Analysis (UBS)

  • Status: {pass/fail}
  • Findings: {critical}/{high}/{medium} issues
  • Command: ubs scan <scope> --severity=high,critical
  • Blocking issues: {list or "none"}

Security

  • Findings: {severity summary}
  • Evidence: {audit steps, tools, outputs}

Performance

  • Risk assessment: {what could regress and why}
  • Benchmarks/profiles: {before/after or “not run”}
  • Budgets: {SLOs/perf targets and status}

Requirements Traceability

  • Matrix: {path/link}
  • Coverage summary: {#reqs covered, #gaps}

Acceptance (UAT)

  • Scenarios: {count + reference}
  • Status: {pass/fail/not run}

Visual Regression

  • Screens covered: {list}
  • Status: {pass/fail/not run}

Follow-ups

Must Fix (Blocking)

  • {item}

Should Fix (Non-blocking)

  • {item}

Evidence Pack

  • {logs, reports, commands, screenshots}

约束

  • 不要编造需求;标注任何推断项并请求确认。
  • 除非实际运行过(或有日志),不要声称测试/审计已运行。
  • 不要在有缺失阻塞项的情况下批准变更;提出具体补救计划。

适用场景

适用于需要对代码变更或 PR 进行结构化验证与确认、并产出可追溯证据报告的场景,尤其是涉及安全、性能、验收或视觉回归等高风险变更时。

限制

资料未提供该技能的具体安装方式、收费模式、支持平台或运行环境要求。