Files
ai-ops/test/STRATEGY.md
2026-05-12 17:48:22 +08:00

2.6 KiB
Raw Blame History

AI-Ops 测试策略

版本v1.0 | 状态:初稿


1. 测试目标

目标 指标 验证方式
功能正确性 所有 AC 通过率 100% 每个 AC 至少 1 个正向 + 1 个负向测试用例
性能达标 首页加载 <2s查询 <3s告警触发 <30s 负载测试 + 峰值测试
安全性 无越权、无审计日志缺失 渗透测试 + 审计追溯测试
容灾能力 单机故障不影响服务 混淆工程测试

2. 测试层级

├── 单元测试 (Unit Test)
│   ├── domain 层逻辑测试
│   ├── service 层业务流程测试
│   └── handler 层输入验证测试
│
├── 集成测试 (Integration Test)
│   ├── 数据库交互测试
│   ├── Redis 缓存交互测试
│   ├── Prometheus 采集测试
│   └── 外部服务 Mock 测试
│
├── E2E 测试 (End-to-End Test)
│   ├── API 端到端测试
│   ├── WebSocket 实时推送测试
│   └── 前端流程测试
│
└── 混淆工程测试 (Chaos Test)
    ├── 单机故障
    ├── 网络分区
    └── 数据库主从切换

3. 测试工具

层级 工具 说明
单元测试 Go testing + testify + mockery 覆盖率门槛 domain ≥ 70%、service/handler ≥ 80%
数据库测试 testcontainers-go (PostgreSQL) 每次测试启动独立容器
缓存测试 miniredis 轻量级 Redis Mock
HTTP 测试 httptest + net/http 标准库内置测试
E2E 测试 自定义 Go E2E 框架 启动完整服务 + 数据库 + 缓存
混淆测试 chaos-mesh / 自定义脚本 K8s 环境下使用 chaos-mesh非 K8s 使用自定义脚本

4. 测试环境

环境 用途 数据
本地开发 单元 + 快速集成测试 测试数据生成
CI 自动化单元 + 集成测试 测试数据生成
测试环境 E2E 测试 + 性能基准 模拟生产数据(脱敏)
生产前 灾备测试 + 回滚演练 生产数据副本(脱敏)
生产环境 灰度监控 + 告警验证 真实生产数据

5. 测试数据管理

  • 测试数据通过 test/fixtures/ 下的 SQL 脚本和 JSON 文件管理。
  • 每个测试用例自洁,启动前加载固定数据集,结束后清理。
  • 数据库测试使用编程式事务,测试结束后自动回滚。

6. 自动化与 CI 集成

  • PR 提交时自动触发单元测试和集成测试。
  • 每日定时触发全量 E2E 测试。
  • 每周定时触发混淆测试(若有 K8s 环境)。
  • 测试失败时自动通知 TechLead 和 QA。