mcpField
Q
qe-shift-right-testing

qe-shift-right-testing

github.com/proffesor-for-testing测试与质量51982 次安装今天更新
代码仓库

关于 qe-shift-right-testing

qe-shift-right-testing 面向在生产环境验证软件并采用渐进式交付的团队,介绍发布、监控、故障注入和生产反馈实践。

主要功能

  1. 01使用功能标志渐进式发布
  2. 02金丝雀部署与指标比较
  3. 03合成监控与 RUM
  4. 04通过混沌工程注入故障
  5. 05将生产洞察转为回归测试

适用场景

  1. 01验证功能的逐步发布
  2. 02监控部署期间的服务表现
  3. 03通过受控故障测试韧性
  4. 04将生产事故转为回归测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill qe-shift-right-testing

安装后在 Claude Code 中输入/qe-shift-right-testing确认已加载。

详细介绍

右移测试

<default_to_action> 在生产环境中测试或实施渐进式交付时:

  1. 实现功能标志以进行渐进式发布(1% → 10% → 50% → 100%)
  2. 通过金丝雀发布部署(在全面发布前比较指标)
  3. 使用合成测试(主动)+ RUM(被动)进行监控
  4. 通过混沌工程注入故障(构建弹性)
  5. 分析生产数据,以改进生产前测试

快速右移技术:

  • 功能标志 → 控制谁能看到什么,立即回滚
  • 金丝雀部署 → 5% 流量,比较错误率
  • 合成监控 → 全天候模拟用户,在用户发现问题前捕获问题
  • 混沌工程 → Netflix 风格的故障注入
  • RUM(真实用户监控)→ 实际用户体验数据

关键成功因素:

  • 生产环境是最终的测试环境
  • 借助安全保障快速发布,而不是为了确定性而放慢速度
  • 利用生产数据改进左移测试 </default_to_action>

快速参考卡

适用场景
  • 渐进式功能发布
  • 生产可靠性验证
  • 大规模性能监控
  • 从真实用户行为中学习
右移技术
技术用途时机
功能标志受控发布每个功能
金丝雀比较新旧版本每次部署
合成监控主动检测全天候
RUM真实用户指标持续开启
混沌工程弹性验证定期
A/B 测试用户行为验证功能决策
渐进式发布模式
1% → 10% → 25% → 50% → 100%
↓      ↓      ↓      ↓
Check  Check  Check  Monitor
需要监控的关键指标
指标SLO 目标告警阈值
错误率< 0.1%> 1%
p95 延迟< 200ms> 500ms
可用性99.9%< 99.5%
Apdex> 0.95< 0.8

功能标志

// Progressive rollout with LaunchDarkly/Unleash pattern
const newCheckout = featureFlags.isEnabled('new-checkout', {
  userId: user.id,
  percentage: 10,  // 10% of users
  allowlist: ['beta-testers']
});

if (newCheckout) {
  return <NewCheckoutFlow />;
} else {
  return <LegacyCheckoutFlow />;
}

// Instant rollback on issues
await featureFlags.disable('new-checkout');

金丝雀部署

# Flagger canary config
apiVersion: flagger.app/v1beta1
kind: Canary
spec:
  targetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: checkout-service
  progressDeadlineSeconds: 60
  analysis:
    interval: 1m
    threshold: 5      # Max failed checks
    maxWeight: 50     # Max traffic to canary
    stepWeight: 10    # Increment per interval
    metrics:
      - name: request-success-rate
        threshold: 99
      - name: request-duration
        threshold: 500

合成监控

// Continuous production validation
await Task("Synthetic Tests", {
  endpoints: [
    { path: '/health', expected: 200, interval: '30s' },
    { path: '/api/products', expected: 200, interval: '1m' },
    { path: '/checkout', flow: 'full-purchase', interval: '5m' }
  ],
  locations: ['us-east', 'eu-west', 'ap-south'],
  alertOn: {
    statusCode: '!= 200',
    latency: '> 500ms',
    contentMismatch: true
  }
}, "qe-production-intelligence");

混沌工程

// Controlled failure injection
await Task("Chaos Experiment", {
  hypothesis: 'System handles database latency gracefully',
  steadyState: {
    metric: 'error_rate',
    expected: '< 0.1%'
  },
  experiment: {
    type: 'network-latency',
    target: 'database',
    delay: '500ms',
    duration: '5m'
  },
  rollback: {
    automatic: true,
    trigger: 'error_rate > 5%'
  }
}, "qe-chaos-engineer");

生产环境 → 生产前反馈循环

// Convert production incidents to regression tests
await Task("Incident Replay", {
  incident: {
    id: 'INC-2024-001',
    type: 'performance-degradation',
    conditions: { concurrent_users: 500, cart_items: 10 }
  },
  generateTests: true,
  addToRegression: true
}, "qe-production-intelligence");

// Output: New test added to prevent recurrence

Agent 协作提示

记忆命名空间
aqe/shift-right/
├── canary-results/*      - Canary deployment metrics
├── synthetic-tests/*     - Monitoring configurations
├── chaos-experiments/*   - Experiment results
├── production-insights/* - Issues → test conversions
└── rum-analysis/*        - Real user data patterns
集群协作
const shiftRightFleet = await FleetManager.coordinate({
  strategy: 'shift-right-testing',
  agents: [
    'qe-production-intelligence',  // RUM, incident replay
    'qe-chaos-engineer',           // Resilience testing
    'qe-performance-tester',       // Synthetic monitoring
    'qe-quality-analyzer'          // Metrics analysis
  ],
  topology: 'mesh'
});

相关技能


记住

生产环境是最终的测试环境。 功能标志支持立即回滚。金丝雀能在 100% 发布前捕获问题。合成监控能在用户发现问题前检测问题。混沌工程可构建弹性。RUM 展示真实用户体验。

使用 Agent: Agent 监控生产环境,将事故重放为测试,运行混沌实验,并将生产洞察转化为生产前测试。使用 Agent 持续维护生产质量。

评论

支持 Markdown