# E2E 计划

**功能**:
**基础 URL**:
**后端 URL**:
**Seed 命令**:
**测试数据计划**:
**导航入口**: `docs/ai/repo-map.md` / `docs/context/repo-map.md`
**关联代码理解摘要**:

## 1. 功能概览

- 目标:
- 业务背景:
- 适用角色:
- 不覆盖范围:

## 2. 代码入口与影响面

先从 `repo-map` / codemap 进入，再补充局部文件阅读。不要先全仓盲扫。

| 类别 | 入口 / 文件 | 说明 | 受影响测试 |
| --- | --- | --- | --- |
| 页面 / 路由 |  |  |  |
| 组件 |  |  |  |
| Hook / Store / State |  |  |  |
| API / Service |  |  |  |
| 数据模型 / 持久化 |  |  |  |

## 3. 范围与角色

- 范围内:
- 范围外:
- 必需角色:
- 权限差异:
- 登录态要求:

## 4. 前置条件

- 环境与服务:
- Feature flag:
- 账号 / 权限:
- Seed 数据:
- 外部依赖:
- 已知豁免:

## 5. 测试数据

| 数据名称 | 用途 | 来源 | 重置方式 |
| --- | --- | --- | --- |
| 正常数据 | 主流程 |  |  |
| 边界数据 | 边界 / 上下限 |  |  |
| 非法数据 | 异常 / 权限 / 拒绝路径 |  |  |

## 6. 核心主流程

| ID | 角色 | 主流程 | 对应需求 | 测试数据 | 期望证据 |
| --- | --- | --- | --- | --- | --- |
| E2E-001 | 用户 |  |  |  | 报告 + 截图 / 视频 + 状态证据 |

## 7. 异常与边界流程

| ID | 类型 | 场景 | 预期结果 | 证据 |
| --- | --- | --- | --- | --- |
| E2E-NEG-001 | 异常 |  |  |  |
| E2E-BND-001 | 边界 |  |  |  |

至少检查：

- 空数据
- 最大 / 最小输入
- 重复提交
- 网络慢
- 接口失败
- 登录过期
- 权限不足

## 8. 页面与 UI 断言

| 页面 | 状态 | 断言 | 测试层级 |
| --- | --- | --- | --- |
|  | 默认 |  | T5 / T6 |
|  | 错误态 |  | T5 / T6 |
|  | 空态 |  | T5 / T6 |
|  | 成功态 |  | T5 / T6 |

## 9. 接口与网络预期

| 入口动作 | 请求 | 成功预期 | 失败预期 |
| --- | --- | --- | --- |
|  | `METHOD /path` |  |  |

## 10. 可访问性与交互约束

- 优先使用用户可见语义定位：
  - `getByRole`
  - `getByLabel`
  - `getByPlaceholder`
  - `getByTestId`
- 避免把 DOM 层级或脆弱 CSS 选择器作为主定位手段。
- 记录关键按钮、表单标签、错误提示、loading、键盘操作和 aria 期望。

## 11. Mock 排雷

- [ ] 从 `repo-map`、代码入口和测试目录搜索 `mock`、`fixture`、`fake`、`hardcoded`。
- [ ] P0 / P1 主流程使用真实后端或明确声明的 mock server。
- [ ] 必须 mock 的状态已在 `test-matrix.md`、`verify-matrix.md` 或豁免说明中写明。
- [ ] 前端页面如仍依赖本地假数据，先创建清理任务，再把该 E2E 标记为可执行。

## 12. 受影响测试与执行顺序

| 类别 | 测试 / 命令 | 原因 | 优先级 |
| --- | --- | --- | --- |
| Existing |  |  | P0 |
| New |  |  | P0 |

推荐顺序：

1. 先跑 affected tests / contract checks。
2. 再跑本计划对应的最小 E2E 集。
3. 最后跑 P0 / P1 回归或跨故事整链路。

## 13. 失败归因入口

失败后不要直接改测试，先分类：

1. 测试代码问题
2. 产品 Bug
3. 需求变更
4. 环境 / 数据问题
5. Flaky 问题

分类结果写入 `docs/testing/failure-triage.md` 或等价报告。

## 14. 风险与待确认问题

- 高风险点:
- 未确认点:
- 需要人工验收的部分:
