Shift Right
当功能已经上线了但还担心线上质量、或者需要设计灰度发布后的验证方案时使用此技能。通过生产监控(APM/日志/用户反馈)、线上巡检拨测、A/B 验证和混沌工程将测试延伸到生产环境。不要把上线当成终点——用户在生产环境的使用方式是永远测不全的。输出右移验证方案(灰度监控指标 + 拨测用例 + 告警阈值 + 回滚触发条件)。
SKILL.md
⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
测试右移实践
⚠️ 安全警告:使用本技能前必须确认以下条件
生产环境操作: 本技能涉及灰度发布、线上监控、混沌工程等生产环境操作。执行前必须获得团队/组织的明确书面授权。
用户隐私: 涉及用户行为分析、埋点数据收集时,必须确保已获得用户知情同意,并符合数据保护法规(如 GDPR/PIPL)要求。
爆炸半径控制: 混沌工程实验必须先在小范围(非生产/影子环境)验证,逐步扩大。必须设置熔断机制和自动回滚。
回滚预案: 任何灰度发布必须预先准备回滚方案,定义明确的回滚触发条件,并确保回滚流程经过演练。
禁止场景: 禁止在生产环境直接执行未经审批的混沌实验、禁止在未告知用户的情况下收集行为数据、禁止在无回滚方案的情况下全量发布。
核心原则
测试右移——在生产环境验证质量,持续监控和改进。
不要把上线当成终点:用户在生产环境的使用方式永远测不全。右移的价值是 承认"测不全",然后用监控 + 反馈 + 故障演练把风险接住。
1. 三阶段速查
| 阶段 | 解决什么 | 核心产出 | 何时可跳过 |
|---|---|---|---|
| 1 灰度验证 | 放量过程中有没有出事 | 灰度期监控指标 + 回滚判定 | 不适用(未做灰度发布) |
| 2 线上监控 | 出问题后多久能发现 | 业务/技术/体验三类监控 + 告警规则 | ❌ 不可跳过 |
| 3 混沌工程 | 依赖挂了能不能自愈 | 故障注入方案 + 自愈验证 | 授权未到位时可后置 |
灰度放量阶梯与回滚阈值由
qa-release-risk-governance定义,本技能不重复维护。 历史上两处各写一份、靠人工同步(SKILL.md 里曾有一行"内容同步,修改时请同步更新两处"), 现已收敛到单一真源。
2. 三类监控指标都要看
├─ 业务指标:订单量 / 成功率 / 转化率
├─ 技术指标:错误率 / 响应时间 / 资源使用率
└─ 用户反馈:投诉量 / 客服咨询量 / 负面舆情
只看技术指标会漏掉"能跑但结果不对"(金额算错不报错,但业务指标下滑); 只看业务指标会漏掉"暂时没影响但在积累风险"(内存泄漏、慢查询)。
3. 加载时机
| 什么时候读 | 读哪个 |
|---|---|
| 展开某一阶段、选监控工具、选混沌工程工具 | references/right-stages.md(三阶段详解 + 工具参考 + 混沌工程执行前提 + 反馈闭环) |
| 设计灰度放量阶梯或回滚阈值 | 不在本技能 —— 见 qa-release-risk-governance |
4. 产出
# 右移验证方案
## 1. 灰度验证
- 放量阶梯:引用 qa-release-risk-governance 的结论
- 盯哪些指标:业务 / 技术 / 用户反馈(三类都列)
- 谁判定回滚、判定标准:引用上游回滚阈值
- 每档观察时长:
## 2. 线上监控
| 类别 | 指标 | 告警阈值 | 通知对象 | 响应动作 |
|------|------|---------|---------|---------|
| 业务 | | | | |
| 技术 | | | | |
| 体验 | | | | |
## 3. 混沌工程(按授权情况)
- 可执行的故障类型与注入点
- 爆炸半径控制与熔断条件
- 自愈验证标准
## 4. 用户反馈闭环
- 收集渠道 → 打标规则 → 分流去向 → **误报回写监控规则**
本技能不产出 9 列用例表——拨测用例由 qa-test-case-design 定义。
5. 交付前自检
- 放量阶梯与回滚阈值引用
qa-release-risk-governance,未本地重定义 - 业务/技术/用户反馈三类指标都列了
- 每条告警都有阈值、通知对象、响应动作
- 混沌工程有授权状态与爆炸半径控制方案;未授权时明确标注"后置"
- 反馈闭环含"误报回写监控规则"(否则告警会越来越钝直至被无视)
- 已确认生产数据采集的用户授权与合规要求
- 覆盖率标注了口径,无绝对化表述
评论与讨论
还没有评论,分享你的体验吧。