测试右移实践,将测试延伸到生产环境。当用户需要实施测试右移、线上测试、生产监控或混沌工程时自动触发。 也适用于:上线后需要验证实际用户场景,或需要建立生产环境质量监控时。 关键词:测试右移、线上测试、生产监控、混沌工程、A/B测试、金丝雀发布、线上巡检、全链路监控、生产验证。
---
name: qa-shift-right
description: >-
测试右移实践,将测试延伸到生产环境。当用户需要实施测试右移、线上测试、生产监控或混沌工程时自动触发。
也适用于:上线后需要验证实际用户场景,或需要建立生产环境质量监控时。
关键词:测试右移、线上测试、生产监控、混沌工程、A/B测试、金丝雀发布、线上巡检、全链路监控、生产验证。
when_to_use: 用户说"测试右移"、"右移"、"线上测试"、"监控"、"混沌工程"、"生产验证"、"A/B测试"、"线上巡检"、需要将测试延伸到生产、上线后需要验证实际用户场景时
allowed-tools: Read Grep Glob Bash
related_skills:
upstream:
- qa-release-risk-governance # 输入:发布风险评估
- qa-ci-cd-testing # 输入:CI/CD流程
downstream:
- qa-quality-metrics # 输出:线上数据用于质量度量
- qa-retrospective # 输出:线上问题用于复盘
input_format: 发布风险评估 + CI/CD流程
output_format: 测试右移方案(灰度策略+监控体系+混沌工程)
---
# 测试右移实践
## Overview
你是一位测试右移专家,擅长将测试延伸到生产环境。
**核心原则**:测试右移——在生产环境验证质量,持续监控和改进。
本技能覆盖灰度发布、线上监控、混沌工程三个右移阶段。
## 右移阶段
### 阶段1:灰度发布
```
灰度策略:
├─ 用户灰度
│ ├─ 内部员工 → 白名单用户 → 10% → 50% → 100%
│ ├─ 适用:新功能、高风险功能
│ └─ 监控:业务指标、错误率、用户反馈
│
├─ 流量灰度
│ ├─ 1% → 10% → 30% → 50% → 100%
│ ├─ 适用:性能优化、算法变更
│ └─ 监控:性能指标、资源使用
│
├─ 地域灰度
│ ├─ 某城市 → 某省份 → 全国
│ ├─ 适用:地域性功能
│ └─ 监控:地域指标、用户反馈
│
└─ 时间灰度
├─ 低峰期 → 高峰期
├─ 适用:定时任务、批处理
└─ 监控:执行结果、资源使用
```
### 灰度监控
```
监控指标:
├─ 业务指标
│ ├─ 订单量/交易量
│ ├─ 转化率/成功率
│ └─ 用户活跃度
│
├─ 技术指标
│ ├─ 错误率/异常率
│ ├─ 响应时间/吞吐量
│ └─ 资源使用率
│
└─ 用户反馈
├─ 投诉量
├─ 客服咨询量
└─ 社交媒体反馈
```
### 灰度回滚
```
回滚条件:
├─ 业务指标异常
│ ├─ 订单量下降 > 20%
│ ├─ 成功率下降 > 5%
│ └─ 用户投诉增加 > 50%
│
├─ 技术指标异常
│ ├─ 错误率 > 1%
│ ├─ 响应时间增加 > 50%
│ └─ CPU/内存使用率 > 80%
│
└─ 用户反馈异常
├─ 投诉量激增
└─ 负面舆情
```
### 阶段2:线上监控
```
监控体系:
├─ 业务监控
│ ├─ 核心业务指标
│ ├─ 业务流程监控
│ └─ 业务异常告警
│
├─ 技术监控
│ ├─ 应用性能监控(APM)
│ ├─ 基础设施监控
│ ├─ 日志监控
│ └─ 链路追踪
│
└─ 用户体验监控
├─ 前端性能监控
├─ 用户行为分析
└─ 用户反馈收集
```
### 监控工具
```
├─ APM工具
│ ├─ SkyWalking
│ ├─ Pinpoint
│ ├─ Jaeger
│ └─ Zipkin
│
├─ 日志工具
│ ├─ ELK Stack
│ ├─ Loki
│ └─ Splunk
│
├─ 告警工具
│ ├─ Prometheus + Alertmanager
│ ├─ Grafana
│ └─ PagerDuty
│
└─ 用户体验工具
├─ 前端监控:Sentry
├─ 用户行为:Mixpanel
└─ 用户反馈:Hotjar
```
### 阶段3:混沌工程
```
混沌工程原则:
├─ 稳态假设:系统在故障下应保持稳态
├─ 爆炸半径:控制故障影响范围
├─ 持续实验:持续验证系统韧性
└─ 自动化:自动化故障注入和恢复
故障类型:
├─ 基础设施故障
│ ├─ 网络延迟/丢包
│ ├─ 节点宕机
│ ├─ 磁盘故障
│ └─ CPU/内存压力
│
├─ 应用层故障
│ ├─ 服务不可用
│ ├─ 接口超时
│ ├─ 数据库故障
│ └─ 缓存故障
│
└─ 业务层故障
├─ 第三方服务故障
├─ 数据不一致
└─ 流量突增
```
### 混沌工程工具
```
├─ Chaos Monkey
│ ├─ 用途:随机终止实例
│ ├─ 适用:AWS环境
│ └─ 特点:Netflix开源
│
├─ Chaos Mesh
│ ├─ 用途:Kubernetes故障注入
│ ├─ 适用:K8s环境
│ └─ 特点:功能全面
│
├─ Litmus
│ ├─ 用途:云原生混沌工程
│ ├─ 适用:K8s环境
│ └─ 特点:CNCF项目
│
└─ Gremlin
├─ 用途:商业混沌工程平台
├─ 适用:多云环境
└─ 特点:企业级支持
```
## Examples
**功能发布后需要验证线上质量**
→ 右移实践:
- 灰度发布:5%用户→24小时→逐步全量
- 线上监控:接口错误率、页面性能、用户行为埋点
- 混沌工程:模拟支付服务故障,验证降级策略
**用户说"上线后出了问题怎么办"**
→ 启动测试右移:灰度策略+监控+混沌工程+回滚方案全套方案
## Guidelines
测试右移实施后检查:
- [ ] 灰度策略是否设计?
- [ ] 监控体系是否建立?
- [ ] 告警规则是否配置?
- [ ] 回滚方案是否准备?
- [ ] 混沌工程是否实施?
- [ ] 线上问题是否跟踪?
don't have the plugin yet? install it then click "run inline in claude" again.