度量与质量门
测试效能的口径定义与机器判定。结论由数据给出:
gate聚合门禁 +report趋势 + DI 4 指标,上线判定有数可依。
一、DI 质量门(上线判定 4 指标)
| 指标 | 阈值 | 口径 |
|---|---|---|
| DI 密度 | < 0.3 | 缺陷指数 = 加权缺陷数 / 千行代码(致命×10 / 严重×3 / 一般×1) |
| 致命缺陷关闭率 | 100% | 致敬级缺陷未关闭 = 一票否决 |
| 严重缺陷关闭率 | 100% | 同上 |
| 最差模块缺陷收敛 | ≤ 20% | 最差模块环比收敛比例,防止"总体达标、局部恶化" |
输入无效时 fail-closed(不静默放行);缺陷数据由缺陷管理系统导出,录入责任人见角色职责。
二、gate 一键聚合质量门
bash
npx @agile-team/wl-skills-test gate # 五项聚合,任一失败 exit 1
npx @agile-team/wl-skills-test gate --webhook <url> # 结果推送企微/钉钉| 子门 | 数据源 | 阻断条件 |
|---|---|---|
| 审计门 | T1-T25 扫描 | 任一 error |
| E2E 门 | e2e-check 归属闭环 + 安全扫描 | 任一命中 |
| 冒烟门 | 冒烟执行结果 | 通过率 < 阈值 |
| DI 门 | quality-gate 计算 | 4 指标任一超标 |
| 性能门 | perf-compare 基线对比 | 劣化即失败 |
gate 结果同样写入 test-reports/history.jsonl(kind=gate),CI 中作为合并/发版卡点。
三、test-reports 统一报告体系
所有产物集中 test-reports/(--reports-dir 可改):
| 产物 | 来源 |
|---|---|
api-报告.md / api-result.json | run-api |
e2e-报告.md / playwright-result.json | run-playwright |
perf-报告.md / perf-result.json | run-jmeter |
audit-报告.md / audit-result.json | audit |
测试报告.md + index.md | report 聚合 |
history.jsonl | 每次执行记录(kind/time/通过率) |
report --trend 追加最近 5 次趋势表;report --webhook 推送(失败明细 Markdown,推送失败仅告警不阻断)。
质量分(v0.19.0+)
computeQualityScore 把多维检查项折算成一个 0-100 的质量分 + A/B/C/D 等级(每未达标项 -25,确定性可解释),三处带出:聚合报告结论区、HTML 报告头部、history.jsonl 趋势——管理层看一个数字,工程团队看明细。
单文件 HTML 交互报告(v0.19.0+,零依赖)
index.html 单文件即可在浏览器打开:质量分头部 + SVG 趋势图(无图表库依赖)+ 各维度明细,直接归档或贴群。SVG 趋势图同时提供独立文件供 CI 产物归档。
飞书推送
report --webhook 支持飞书卡片推送(企微/钉钉/raw 之外,v0.19.0+),质量分与失败明细随卡带出。
四、指标解读指南(交叉验证口径)
单指标不结论,组合看才可信。以下是组长/QA 负责人月度复盘的判读口径。
| 指标 | 升高可能意味着 | 降低可能意味着 | 判读要点 |
|---|---|---|---|
| commit 频率 | 开发节奏紧凑;AI 加快调试循环 | 维护期;AI 一次生成量大、提交变少 | 只看个人趋势环比,不跨人比较;环比变化 > 30% 问一句 |
| MR 合入周期 | —(变短=评审顺畅/规范到位) | 代码质量差引发多轮评审;MR 体积过大 | 配合讨论线程数:周期短+讨论少=真高效;周期短+没人讨论=审查流于形式 |
| 变更行数 | 密集开发期 | 重构删冗余(价值更高);AI 用于写文档 | 动作量指标非效率指标,禁个人横向对比;突增至 3 倍注意拆 MR |
| 流水线通过率 | AI 代码质量稳定 | 引入逻辑错误;AI 测试假阳性 | 风险下限指标;<80% 关注、<60% 暂缓合入 |
| SonarQube 问题数 | 规范更严格 | 未审查直接提交(L2 负向行为) | 对比引入 AI 前后同项目趋势最有效;季度环比升 20% 抽样复核 |
| 测试覆盖率 | AI 补了边界场景 | 新代码无测试;AI 测试只测 happy path | 看趋势不看绝对值;降 10% 或绝对值破 30% 续降需关注 |
| AI 代码采用率 | Prompt 精准、一次生成可用 | 产出偏差大被重写 | 核心指标:高采用+少讨论=高效;高采用+多讨论+多问题=照单全收,需警惕 |
| 工具 DAU | 形成团队习惯 | 维护期;工具体验问题 | 团队维度月快照;<50% 收集阻点,>80% 习惯已成 |
| Token 消耗 | 用量大/上下文复杂 | 上下文设计精准(L3 能力体现) | 成本指标非效率指标,只做预算管理 |
| AI 会话次数 | 多轮细化需求(L2+ 特征) | 单次命中(L3 特征) | 高会话+低采用=无效对话;低会话+高采用=高效 |
组长交叉验证速查表
| 自评 | 客观数据 | 组长动作 |
|---|---|---|
| "每天深度用 AI" | commit 连续下滑 + MR 周期无变化 | 确认项目阶段与工具状态 |
| "AI 代码一次通过" | MR 讨论线程 > 团队均值 2 倍 | 抽 2 个 MR 人工复核 |
| "AI 帮写了很多测试" | 覆盖率连续两季度无改善 | 查看 AI 测试样本评估质量 |
| 什么场景都用 AI | 覆盖 ≥5 场景但只用 1 种工具 | 鼓励多工具对比(L2+ 指标) |
| DAU 连续 2 月为 0 | commit 正常(在写码但不用 AI) | 了解阻点,安排 L3+ 结对演示 |
五、豁免与例外
- gate 失败但确需放行:缺陷跟踪单 + 负责人审批留档(豁免不是免检,
review baseline同款思路——豁免有期限、过期重新暴露) - SIT 无数据:E2E 优雅 skip 并在报告标注
- 验证码/SSO 登录:走人工登录模式(4 分钟窗口),不计失败
