关于 qe-quality-metrics
qe-quality-metrics 是一项用于质量指标选择、仪表板设计和质量门禁设置的技能,面向测试与工程质量团队。它强调衡量缺陷逃逸率、MTTD、MTTR 等结果,并跟踪趋势而非只看活动量。
主要功能
- 01选择结果导向的质量指标
- 02跟踪 DORA 指标与质量趋势
- 03配置质量门禁阈值
- 04设计质量仪表板
- 05识别虚荣指标陷阱
适用场景
- 01构建质量指标仪表板
- 02制定阻止不合格变更的门禁
- 03评估测试有效性与缺陷逃逸
- 04比较不同时间段的质量趋势
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill qe-quality-metrics安装后在 Claude Code 中输入/qe-quality-metrics确认已加载。
详细介绍
质量指标
<default_to_action> 衡量质量或构建仪表板时:
- 衡量结果(缺陷逃逸率、MTTD),而非活动(测试数量)
- 关注 DORA 指标:部署频率、交付前置时间、MTTD、MTTR、变更失败率
- 避免虚荣指标:如果测试无法发现缺陷,100% 覆盖率毫无意义
- 设置能驱动行为的阈值(质量门禁会阻止不合格代码)
- 跟踪长期趋势:方向比绝对数值更重要
快速选择指标:
- 速度:部署频率、变更交付前置时间
- 稳定性:变更失败率、MTTR
- 质量:缺陷逃逸率、缺陷密度、测试有效性
- 流程:代码审查时间、脆弱测试率
关键成功因素:
- 不采取行动的指标只是作秀
- 衡量什么,就会优化什么
- 趋势比快照更重要 </default_to_action>
快速参考卡
适用场景
- 构建质量仪表板
- 定义质量门禁
- 评估测试有效性
- 论证质量投入的合理性
有意义的指标与虚荣指标
| ✅ 有意义的指标 | ❌ 虚荣指标 |
|---|---|
| 缺陷逃逸率 | 测试用例数量 |
| MTTD(检测) | 测试代码行数 |
| MTTR(恢复) | 测试执行次数 |
| 变更失败率 | 覆盖率 %(单独使用) |
| 变更交付前置时间 | 已跟踪的需求 |
DORA 指标
| 指标 | 精英 | 高 | 中 | 低 |
|---|---|---|---|---|
| 部署频率 | 按需 | 每周 | 每月 | 每年 |
| 交付前置时间 | < 1 小时 | < 1 周 | < 1 个月 | > 6 个月 |
| 变更失败率 | < 5% | < 15% | < 30% | > 45% |
| MTTR | < 1 小时 | < 1 天 | < 1 周 | > 1 个月 |
质量门禁阈值
| 指标 | 阻断阈值 | 警告 |
|---|---|---|
| 测试通过率 | 100% | - |
| 关键代码覆盖率 | > 80% | > 70% |
| 严重安全问题 | 0 | - |
| 性能 p95 | < 200ms | < 500ms |
| 脆弱测试 | < 2% | < 5% |
核心指标
缺陷逃逸率
Bug Escape Rate = (Production Bugs / Total Bugs Found) × 100
Target: < 10% (90% caught before production)
测试有效性
Test Effectiveness = (Bugs Found by Tests / Total Bugs) × 100
Target: > 70%
缺陷密度
Defect Density = Defects / KLOC
Good: < 1 defect per KLOC
平均检测时间(MTTD)
MTTD = Time(Bug Reported) - Time(Bug Introduced)
Target: < 1 day for critical, < 1 week for others
仪表板设计
// Agent generates quality dashboard
await Task("Generate Dashboard", {
metrics: {
delivery: ['deployment-frequency', 'lead-time', 'change-failure-rate'],
quality: ['bug-escape-rate', 'test-effectiveness', 'defect-density'],
stability: ['mttd', 'mttr', 'availability'],
process: ['code-review-time', 'flaky-test-rate', 'coverage-trend']
},
visualization: 'grafana',
alerts: {
critical: { bug_escape_rate: '>20%', mttr: '>24h' },
warning: { coverage: '<70%', flaky_rate: '>5%' }
}
}, "qe-quality-analyzer");
质量门禁配置
{
"qualityGates": {
"commit": {
"coverage": { "min": 80, "blocking": true },
"lint": { "errors": 0, "blocking": true }
},
"pr": {
"tests": { "pass": "100%", "blocking": true },
"security": { "critical": 0, "blocking": true },
"coverage_delta": { "min": 0, "blocking": false }
},
"release": {
"e2e": { "pass": "100%", "blocking": true },
"performance_p95": { "max_ms": 200, "blocking": true },
"bug_escape_rate": { "max": "10%", "blocking": false }
}
}
}
Agent 辅助指标
// Calculate quality trends
await Task("Quality Trend Analysis", {
timeframe: '90d',
metrics: ['bug-escape-rate', 'mttd', 'test-effectiveness'],
compare: 'previous-90d',
predictNext: '30d'
}, "qe-quality-analyzer");
// Evaluate quality gate
await Task("Quality Gate Evaluation", {
buildId: 'build-123',
environment: 'staging',
metrics: currentMetrics,
policy: qualityPolicy
}, "qe-quality-gate");
Agent 协作提示
记忆命名空间
aqe/quality-metrics/
├── dashboards/* - Dashboard configurations
├── trends/* - Historical metric data
├── gates/* - Gate evaluation results
└── alerts/* - Triggered alerts
集群协作
const metricsFleet = await FleetManager.coordinate({
strategy: 'quality-metrics',
agents: [
'qe-quality-analyzer', // Trend analysis
'qe-test-executor', // Test metrics
'qe-coverage-analyzer', // Coverage data
'qe-production-intelligence', // Production metrics
'qe-quality-gate' // Gate decisions
],
topology: 'mesh'
});
常见陷阱
| 陷阱 | 问题 | 解决方案 |
|---|---|---|
| 迷信覆盖率 | 覆盖率 100%,缺陷仍然逃逸 | 改为衡量缺陷逃逸率 |
| 关注测试数量 | 测试很多,反馈缓慢 | 衡量执行时间 |
| 活动指标 | 忙于事务,却没有结果 | 衡量结果(MTTD、MTTR) |
| 只看某个时间点 | 快照缺乏上下文 | 持续跟踪趋势 |
相关技能
- agentic-quality-engineering - Agent 协作
- cicd-pipeline-qe-orchestrator - 质量门禁
- risk-based-testing - 风险驱动的指标
- shift-right-testing - 生产环境指标
请牢记
衡量结果,而非活动。 缺陷逃逸率 > 测试数量。MTTD/MTTR > 覆盖率 %。趋势 > 快照。设置能阻止不合格代码的门禁。衡量什么,就会优化什么。
借助 Agent: Agent 会自动跟踪指标、分析趋势、触发警报并做出门禁决策。使用 Agent 持续掌握质量状况。
评论
支持 Markdown