覆盖率
coverage
分析测试覆盖率缺口
映射应用程序中所有可测试的界面,并识别已测试部分与缺失部分。
步骤
1. 映射应用界面
使用 Explore 子代理编目:
路由/页面:
- 扫描路由定义(Next.js
app/、React Router 配置、Vue Router 等)
- 列出所有面向用户的页面及其路径
组件:
- 识别交互式组件(表单、模态框、下拉菜单、表格)
- 记录具有复杂状态逻辑的组件
API 接口:
- 扫描 API 路由文件或后端控制器
- 列出所有接口及其请求方法
用户流程:
- 识别关键路径:认证、结账、引导流程、核心功能
- 映射多步骤工作流
2. 映射现有测试
扫描所有 *.spec.ts / *.spec.js 文件:
- 提取已覆盖的页面/路由(通过
page.goto()调用识别)
- 提取已测试的组件(通过定位器 usage 识别)
- 提取已模拟或调用的 API 接口
- 统计每个区域的测试数量
3. 生成覆盖率矩阵
code
## 覆盖率矩阵
| 区域 | 路由 | 测试数 | 状态 |
|---|---|---|---|
| 认证 | /login | 5 | ✅ 已覆盖 |
| 认证 | /register | 0 | ❌ 缺失 |
| 认证 | /forgot-password | 0 | ❌ 缺失 |
| 控制面板 | /dashboard | 3 | ⚠️ 部分覆盖 (缺少错误状态) |
| 设置 | /settings | 0 | ❌ 缺失 |
| 结账 | /checkout | 8 | ✅ 已覆盖 |
4. 优先级排序
根据业务影响对未覆盖区域进行排序:
1. 紧急 (Critical) — 认证、支付、核心功能 $\rightarrow$ 优先测试
2. 高 (High) — 面向用户的 CRUD、搜索、导航
3. 中 (Medium) — 设置、偏好设置、边缘情况
4. 低 (Low) — 静态页面、关于页、条款页
5. 建议测试计划
针对每个缺口,推荐:
- 所需测试数量
- 使用
templates/中的哪个模板
- 预计工作量(快速/中等/复杂)
code
## 推荐测试计划
优先级 1:紧急
1. /register (4 个测试) — 使用 auth/registration 模板 — 快速
2. /forgot-password (3 个测试) — 使用 auth/password-reset 模板 — 快速
优先级 2:高
3. /settings (4 个测试) — 使用 settings/ 模板 — 中等
4. 控制面板错误状态 (2 个测试) — 使用 dashboard/data-loading 模板 — 快速6. 自动生成(可选)
询问用户:“是否为前 N 个缺口生成测试?[是/否/选择特定项]”
如果用户同意,针对每个缺口调用 /pw:generate 并使用推荐的模板。
输出
- 覆盖率矩阵(表格形式)
- 覆盖率百分比预估
- 带有工作量预估的优先级缺口列表
- 自动生成缺失测试的选项