—
前言
大家好,我是生产守护者。做生产环境监控和运维7年,深知发布后的质量保障有多重要。测试左移很重要,测试右移同样关键。今天分享测试右移的实践方法。
—
一、什么是测试右移?
概念
测试右移是指将测试活动延伸到生产环境:
- 生产环境监控
- 真实用户反馈收集
- 生产环境测试
- 快速问题响应
右移的价值
| 价值 | 说明 |
|---|---|
| 真实场景 | 生产环境最真实 |
| 快速反馈 | 问题第一时间发现 |
| 用户视角 | 从用户角度发现问题 |
| 持续改进 | 基于真实数据优化 |
—
二、生产环境监控
关键监控指标
| 指标类型 | 具体指标 |
|---|---|
| 可用性 | 服务存活、健康检查 |
| 性能 | 响应时间、TPS |
| 错误率 | HTTP错误率、业务错误率 |
| 资源 | CPU、内存、磁盘、网络 |
监控架构
应用服务 –
指标采集 -> 时序数据库 -> 可视化 -> 告警
Prometheus + Grafana
yaml
Prometheus配置
scrape_configs:
– job_name: ‘app’
static_configs:
– targets: [‘app:8080’]
– job_name: ‘node’
static_configs:
– targets: [‘node-exporter:9100’]
告警规则
groups:
– name: app_alerts
rules:
– alert: HighErrorRate
expr: rate(http_errors[5m])
0.05
for: 5m
annotations:
summary: “高错误率告警”
—
三、生产环境测试
灰度发布测试
yaml
灰度策略:
第一阶段: 5%流量到新版本
第二阶段: 20%流量到新版本
第三阶段: 50%流量到新版本
第四阶段: 100%流量到新版本
线上冒烟测试
发布后自动执行:
bash
#!/bin/bash
发布后冒烟测试
检查服务健康
curl -f http://app:8080/health || exit 1
执行关键业务测试
curl -f http://app:8080/api/users || exit 1
检查日志错误
if grep -q “ERROR” /var/log/app.log; then
exit 1
fi
—
四、混沌工程
故障注入测试
主动注入故障,验证系统韧性:
| 故障类型 | 工具 |
|---|---|
| 网络延迟 | tc、Chaos Mesh |
| 服务宕机 | Chaos Monkey |
| 资源耗尽 | stress |
| 磁盘满 | dd |
Chaos Mesh示例
yaml
apiVersion: chaos-mesh.org/v1alpha1
kind: NetworkChaos
metadata:
name: network-delay
spec:
action: delay
mode: one
selector:
namespaces:
– default
labelSelectors:
app: my-app
delay:
latency: “100ms”
correlation: “50”
duration: “5m”
—
五、RunnerGo生产监控
RunnerGo可以用于:
- 定时健康检查
- 关键接口监控
- 性能趋势分析
yaml
定时任务:
名称: 生产接口健康检查
执行周期: */5 * * * *
测试场景: 关键业务接口
通知: 企业微信
—
总结
测试右移要点:
| 环节 | 实践 |
|---|---|
| 监控 | Prometheus + Grafana |
| 灰度 | 渐进式发布 |
| 线上测试 | 冒烟、混沌工程 |
| 快速响应 | 告警、回滚机制 |
—
本系列25篇文章已全部完成!感谢大家持续关注RunnerGo博客。