AI-Customer-Service 测试策略
版本:v1.0 | 状态:初稿
1. 测试目标
| 目标 |
指标 |
验证方式 |
| 功能正确性 |
所有 AC 通过率 100% |
每个 AC 至少 1 正向 + 1 负向测试用例 |
| 性能达标 |
首次响应 <10s,意图识别 <2s,检索 <200ms |
负载测试 + 峰值测试 |
| 安全性 |
无越权、无数据泄露、无审计缺失 |
渗透测试 + 审计追溯 + 红队测试 |
| 容灾能力 |
单机故障不影响服务,LLM 故障时有兑底 |
混淆工程测试 |
2. 测试层级
3. 测试工具
| 层级 |
工具 |
说明 |
| 单元测试 |
Go testing + testify + mockery |
覆盖率门槛 domain ≥ 70%、service/handler ≥ 80% |
| 数据库测试 |
testcontainers-go (PostgreSQL) |
独立容器 |
| 缓存测试 |
miniredis |
|
| HTTP 测试 |
httptest + net/http |
|
| LLM Mock |
自定义 Mock Server |
模拟 OpenAI / 阿里云响应 |
| E2E 测试 |
自定义 Go E2E 框架 |
启动完整服务 |
| 安全测试 |
自定义红队脚本 |
模拟 Prompt Injection 等攻击 |
4. 测试环境
| 环境 |
用途 |
数据 |
| 本地开发 |
单元 + 快速集成 |
测试数据生成 |
| CI |
自动化单元 + 集成 |
测试数据生成 |
| 测试环境 |
E2E + 性能 + 安全 |
模拟生产数据(脱敏) |
| 生产前 |
灾备测试 |
生产数据副本 |
| 生产环境 |
灰度监控 |
真实数据 |
5. 测试数据管理
- 知识库条目使用
test/fixtures/kb/ 下的 Markdown 文件管理。
- 测试用例自洁,启动前加载固定数据集,结束后清理。
- 多语言/多渠道测试数据分离管理。
6. 特殊测试要求
- 意图识别测试:必须覆盖所有意图类别,特别是敏感意图(退款/封禁/安全)必须强制转人工。
- 安全测试:必须模拟 Prompt Injection 、越权查询、跨用户数据访问等场景。
- 性能测试:必须模拟 100 QPS 峰值场景下的系统表现。
- 容灾测试:必须模拟主备 LLM 均故障时的兑底回复行为。