# E2e Testing Guide

> 触发条件

- Skill: `haaaiawd/e2e-testing-guide-3` (Agent Skill)
- Install (CLI): `npx skillmds@latest add haaaiawd/e2e-testing-guide-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/haaaiawd/e2e-testing-guide-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: haaaiawd (https://skillmd.com/u/haaaiawd)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/haaaiawd/e2e-testing-guide-3

---


## 触发条件

- `05A_TASKS.md` 含 **E2E测试** 或 **手动验证**，或 `05B_VERIFICATION_PLAN.md` 要求实机验证；或改动影响页面/导航/表单/登录等需真机感受的路径。
- 用户要求「写测试指南」「E2E 报告」「浏览器验证清单」等。

---

## 硬约束

- **PRD / 验收可追溯**：表格与步骤须能对应到 **PRD 锚点** 或 **任务验收条目**；无 PRD 时在 Scope 声明「准 PRD」来源。
- **人类式覆盖（写在指南里）**：须落实上一节 **《测试指南要像人类那样写》**；导航、空状态、次要入口、主/次 CTA、tabs、行内操作等**在范围内**的能力，须在 **Surface coverage** 或 **Journey/Step** 中出现；刻意不测的写在 **Coverage gaps**。
- **不编造执行结果**：指南可以「未执行」列留空或写「待实机」；**不得**在未实机时把结论写成 `PASS`。
- **证据列留给实机**：URL、截图、日志等由 `/forge` 浏览器阶段填写；指南阶段写清「应采集何种证据」即可。
- **副作用**：指南中须标注哪些步骤需用户事先授权（登录、写库、支付等）。

---

## 撰写流程（仅文档）

### 1. 读取上下文

任务与 `05A_TASKS.md`、`05B_VERIFICATION_PLAN.md`、`01_PRD.md`（或 `**输入`** 指向的需求）、相关路由/页面说明、启动方式、账号与角色；缺 URL/账号等写入 **Blockers**。

### 2. PRD 对照表（RTM）


| PRD 引用 | 需求摘要 | 优先级 P0/P1/P2 | 将落在哪些 Journey |
| ------ | ---- | ------------ | ------------- |


无 PRD 时第一列用 **任务验收 T-x**，并在 Scope 说明。

### 3. 功能面清单（Surface）

按 **「人类会先看到什么、再点哪里」** 枚举；**禁止**只列路由名而不写「用户怎么发现这个入口」。


| 功能面 / 入口 | 用户如何发现 | 映射 Journey | PRD 引用 |
| -------- | ------ | ---------- | ------ |


### 4. 旅程与分项步骤

每条 Journey 含 PRD、角色、起点、目标；**Step 顺序 = 人类实际操作顺序**。每步固定写三句：**（1）读屏预期（2）动作（3）可观察结果 + 应采集的证据类型**（如「整页截图」「某接口 200」）。

须覆盖：核心成功、冷启动/空态、典型错误、简单边界（刷新/后退/深链）、至少一种视口（若产品声明仅桌面则写明）。

### 5. 执行计划（可选短文）

`Target` / `Environment` / `Role` / `Data setup` / `Side effects` / `Blockers` 一段即可。**不写**浏览器点击协议——实机见 `**/forge` §3.7**。

---

## 输出格式（Required output）

以下 Markdown **原样作为报告骨架**；表头与章节名不要随意删。撰写时假定执行者是 **第一次打开产品的真人**，Surface / Journey / Step 须能体现 **「像人类那样」** 的探索顺序（见上文必遵节）。

```markdown
## E2E Verification

### Scope
- PRD / 需求来源:
- Target:
- Environment:
- Browser / Viewport（计划）:
- User Role:
- Build / Commit:

### PRD traceability (RTM)
| PRD ref | Summary | Priority | Journeys |
| --- | --- | --- | --- |

### Surface coverage
| 功能面 / 入口 | 如何发现 | Journey | PRD ref | Notes |
| --- | --- | --- | --- | --- |

### Journeys（旅程级）
| ID | PRD ref | User Journey | 旅程结果 | Evidence | Notes |
| --- | --- | --- | --- | --- | --- |

### Step breakdown
| Journey | Step | PRD ref | Step 结果 | Evidence | Notes |
| --- | --- | --- | --- | --- | --- |

### Findings
- [HIGH/MEDIUM/LOW] 标题
  - PRD ref:
  - Expected / Actual / Repro / Evidence / Suggested fix:

### Coverage gaps
- 未写入旅程或未计划实机的范围及原因

### Recommendation
- 是否建议合并/发布/先修再测（基于指南与已知实机结果；若尚未实机须写明）
```

---

## 片段模板（可裁剪进 Journey）

- **登录**：访客进受保护页 → 登录成功/失败/空字段/会话过期提示。
- **表单**：必填与校验、成功反馈、失败不丢已填。
- **列表**：空/加载/有数据、筛选排序分页、无结果恢复路径。
- **导航**：主导航、返回、深链、关键操作不被遮挡。

---

## 质量标准

读者拿到指南就能**不读代码**、**像第一次用产品的人那样**按顺序走完全部范围内能力；且每条能对上 PRD/验收。**Surface 清单与 Journey 步骤不得两张皮**。
