QE混沌弹性测试Skill "QEChaosResilience"

该技能用于指导混沌工程和弹性测试,涵盖故障注入、负载压力测试、系统恢复验证等,旨在提升软件系统的稳定性和可靠性。关键词包括:混沌工程、弹性测试、故障注入、负载测试、系统恢复、灾难恢复、断路器测试。

测试 0 次安装 2 次浏览 更新于 3/9/2026

name: “QE 混沌弹性测试” description: “混沌工程和弹性测试,包括故障注入、负载测试和系统恢复验证。” trust_tier: 3 validation: schema_path: schemas/output.json validator_path: scripts/validate-config.json eval_path: evals/qe-chaos-resilience.yaml


QE 混沌弹性测试

目的

指导使用 v3 的混沌工程能力,包括控制故障注入、负载/压力测试、弹性验证和灾难恢复测试。

激活条件

  • 当测试系统弹性时
  • 当执行混沌实验时
  • 当进行负载/压力测试时
  • 当验证灾难恢复时
  • 当测试断路器时

快速开始

# 运行混沌实验
aqe chaos run --experiment network-latency --target api-service

# 负载测试
aqe chaos load --scenario peak-traffic --duration 30m

# 压力测试至极限
aqe chaos stress --endpoint /api/users --max-users 10000

# 测试断路器
aqe chaos circuit-breaker --service payment-service

代理工作流程

// 混沌实验
Task("运行混沌实验", `
  在 api-service 上执行控制混沌:
  - 注入 500 毫秒网络延迟
  - 监控服务健康指标
  - 验证断路器激活
  - 测量恢复时间
  - 记录发现
`, "qe-chaos-engineer")

// 负载测试
Task("性能负载测试", `
  运行负载测试模拟黑色星期五流量:
  - 逐渐增加到 10,000 并发用户
  - 维持负载 30 分钟
  - 监控响应时间和错误率
  - 识别瓶颈
  - 对比服务水平协议
`, "qe-load-tester")

混沌实验

1. 故障注入

await chaosEngineer.injectFault({
  target: 'api-service',
  fault: {
    type: 'latency',
    parameters: {
      delay: '500ms',
      jitter: '100ms',
      percentage: 50
    }
  },
  duration: '5m',
  monitoring: {
    metrics: ['response_time', 'error_rate', 'throughput'],
    alerts: true
  },
  rollback: {
    automatic: true,
    trigger: 'error_rate > 10%'
  }
});

2. 负载测试

await loadTester.execute({
  scenario: 'peak-traffic',
  profile: {
    rampUp: '5m',
    steadyState: '30m',
    rampDown: '5m'
  },
  users: {
    initial: 100,
    target: 5000,
    pattern: 'linear'
  },
  assertions: {
    p95_latency: '<500ms',
    error_rate: '<1%',
    throughput: '>1000rps'
  }
});

3. 压力测试

await loadTester.stressTest({
  endpoint: '/api/checkout',
  strategy: 'step-increase',
  steps: [100, 500, 1000, 2000, 5000],
  stepDuration: '5m',
  findBreakingPoint: true,
  monitoring: {
    resourceUtilization: true,
    databaseConnections: true,
    memoryUsage: true
  }
});

4. 弹性验证

await resilienceTester.validate({
  scenarios: [
    'database-failover',
    'cache-failure',
    'external-service-timeout',
    'pod-termination'
  ],
  expectations: {
    gracefulDegradation: true,
    automaticRecovery: true,
    dataIntegrity: true,
    recoveryTime: '<30s'
  }
});

故障类型

故障 描述 使用场景
延迟 添加网络延迟 测试超时
丢包 丢弃网络数据包 测试重试逻辑
CPU 压力 消耗 CPU 测试资源限制
内存压力 消耗内存 测试内存溢出处理
磁盘满 填满磁盘空间 测试磁盘错误
进程终止 终止进程 测试恢复

混沌报告

interface ChaosReport {
  experiment: {
    name: string;
    target: string;
    fault: FaultConfig;
    duration: number;
  };
  results: {
    hypothesis: string;
    validated: boolean;
    metrics: {
      before: MetricSnapshot;
      during: MetricSnapshot;
      after: MetricSnapshot;
    };
    events: ChaosEvent[];
    recovery: {
      detected: boolean;
      time: number;
      automatic: boolean;
    };
  };
  findings: {
    severity: 'critical' | 'high' | 'medium' | 'low';
    description: string;
    recommendation: string;
  }[];
  artifacts: {
    logs: string;
    metrics: string;
    traces: string;
  };
}

安全控制

safety:
  blast_radius:
    max_affected_pods: 1
    max_affected_percentage: 10

  abort_conditions:
    - error_rate > 50%
    - p99_latency > 10s
    - service_unavailable

  excluded_environments:
    - production-critical

  required_approvals:
    production: 2
    staging: 0

SLA 验证

await resilienceTester.validateSLA({
  slas: {
    availability: 99.9,
    p95_latency: 500,
    error_rate: 0.1
  },
  period: '30d',
  report: {
    breaches: true,
    trends: true,
    projections: true
  }
});

协调

主要代理: qe-chaos-engineer, qe-load-tester, qe-resilience-tester 协调员: qe-chaos-coordinator 相关技能: qe-performance, qe-security-compliance