af49d22ca7
Add Telegram, WhatsApp and email account management, realtime messaging, contextual multilingual AI, customer intelligence, knowledge workflows, enterprise controls, a unified design system and complete repository documentation.
46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
# 测试策略
|
|
|
|
## 测试层次
|
|
|
|
| 层次 | 命令 | 覆盖 |
|
|
| --- | --- | --- |
|
|
| 类型检查 | `npm run typecheck` | 前端 TypeScript |
|
|
| 生产构建 | `npm run build` | 类型、打包、资源引用 |
|
|
| API 单元/业务 | `npm test --prefix server` | 业务函数、权限与数据逻辑 |
|
|
| 邮件协议 | `npm run test:email-protocol --prefix server` | IMAP/SMTP 协议 |
|
|
| 邮件 API E2E | `npm run test:email-api --prefix server` | 真实测试邮件服务链路 |
|
|
| WhatsApp 网关 | `npm test --prefix whatsapp-gateway` | 路由、状态、消息与可靠性 |
|
|
| 浏览器 E2E | `npm run test:e2e` | 桌面/移动端主要用户路径 |
|
|
|
|
## 提交前最低要求
|
|
|
|
- 文档或纯样式:类型检查、构建、相关页面 E2E。
|
|
- 前端业务:类型检查、构建、完整 Playwright。
|
|
- API:语法检查、API 测试、相关 E2E。
|
|
- 网关:网关测试、容器健康、真实测试账号冒烟。
|
|
- 认证、租户、支付、备份:完整回归并人工复核安全边界。
|
|
|
|
## 真实链路验收
|
|
|
|
Mock 测试不能证明渠道真实可用。发布前使用无重要数据的测试账号逐项验证:
|
|
|
|
1. Telegram 手机号、验证码、二步密码登录。
|
|
2. WhatsApp QR/配对、断开、重连和多账号切换。
|
|
3. 邮箱 IMAP 首次同步、SMTP 发信和附件。
|
|
4. 双向文本、引用、图片、文档、语音、贴纸、相册。
|
|
5. 已发送、送达、已读、编辑、撤回、输入状态。
|
|
6. 历史分页、断网恢复、WebSocket 重连和增量补齐。
|
|
7. 多语言翻译、意图开关、会话记忆压缩和 AI 失败降级。
|
|
8. Webhook 失败重试、死信、人工重放和幂等。
|
|
9. RBAC 越权请求、租户交叉资源 ID 和登录限流。
|
|
|
|
## 测试数据
|
|
|
|
- 只使用专用测试租户和测试账号。
|
|
- 不把手机号、验证码、会话凭据、邮件密码和生产消息写入测试代码或报告。
|
|
- Playwright 失败产物可能包含页面数据;归档前脱敏,且不得提交 Git。
|
|
|
|
## 发布记录
|
|
|
|
每次版本标签应记录执行日期、提交 SHA、环境、测试命令、通过/跳过/失败数量和已知限制。跳过项必须说明原因,不能等同于通过。
|