Skills DirectorySearch all skills ↗

AI agent skill · by @echoVic

Qa/Test Strategy

测试策略和测试金字塔原则,定义单元测试、集成测试、E2E测试的分布和覆盖要求

Archived 2026-10-23 · Source updated 2026-10-11 · License: MIT. Check the original repository for the latest version.

SKILL.md instructions

# 测试策略与测试金字塔

## 测试金字塔原则

```
          /\
         /  \
        / 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 |
| 内存泄漏 | 无 | 无 |

Related skills