测试策略与测试金字塔
测试金字塔原则
/\
/ \
/ E2E \ ← ~10%:端到端用户流程【必须编写】
/--------\
/ 集成测试 \ ← ~20%:组件/服务/API 交互
/--------------\
/ 单元测试 \ ← ~70%:函数/组件/服务逻辑
/--------------------\
E2E 测试是强制要求
每个项目必须编写 E2E 测试,最少覆盖:
- 创建流程
- 编辑流程
- 删除流程
- 列表展示
- 核心业务流程
前端 vs 后端测试分布
| 层级 | 前端测试 | 后端测试 |
|---|---|---|
| 单元测试 | 组件渲染、Hooks、工具函数 | Service 层、业务逻辑、工具类 |
| 集成测试 | 组件交互、状态管理、API 调用 | API 端点、数据库操作、服务间调用 |
| E2E 测试 | UI 用户流程 | API 完整流程、跨服务调用 |
QA Attack Protocol
- 重放核心用户路径:证明核心用户路径真实可用
- 捕获真实 payload 与服务端响应:验证请求 payload、服务端响应和 schema 一致性
- 攻击认证授权:覆盖匿名、授权、非授权、过期、越权
- 攻击数据边界:empty state、pagination、第二页、旧数据、illegal enum、long input、double submit
- 攻击业务一致性:核对界面展示与服务端业务常量一致
- 验证产物类功能:验证核心产物、记录或状态存在、可展示、可继续用于下游流程
- 标记未验证路径:若核心用户路径只由 Mock 或桩数据证明,必须标记为未验证,不能作为发布证据
安全测试
| 测试类型 | 测试内容 | 示例 |
|---|---|---|
| SQL 注入 | 参数化查询验证 | ' OR '1'='1 |
| XSS | 输出转义验证 | <script>alert(1)</script> |
| CSRF | Token 验证 | 跨站请求测试 |
| 认证 | Token 有效性 | 过期/伪造 Token |
| 授权 | 权限边界 | 越权访问测试 |
| 输入验证 | 边界值/格式 | 超长/特殊字符 |
性能测试
| 指标 | 前端目标 | 后端目标 |
|---|---|---|
| 首屏加载 | < 3s | - |
| API P50 | - | < 100ms |
| API P99 | - | < 500ms |
| 并发用户 | - | ≥ 100 |
| 内存泄漏 | 无 | 无 |
Source: hashgraph-online/awesome-codex-plugins → plugins/echoVic/boss-skill/skill/skills/qa/test-strategy/SKILL.md