---
name: testcase-reviewer
description: >
  对功能测试用例进行自动化、结构化、可量化的质量评审，覆盖完整性、准确性、
  有效性、规范性、可维护性、可执行性六大核心维度，并深度检查原子性、独立性、
  可重复性、可追溯性、设计方法运用等优秀特征。
  输出详细评审报告、缺失场景补充、依赖分析与改进建议。
tags: [测试, 用例评审, QA, 质量门禁, 测试设计]
---

# 测试用例评审 SKILL（增强版）

## 一、技能描述

### 核心功能

本技能提供一套**可落地、可量化、可部分自动化**的功能测试用例评审方案，围绕以下六大质量维度展开，每个维度下细分具体检查点：

| 维度 | 权重 | 核心关注点 |
|:---|:---|:---|
| **完整性** | 30% | 功能点、业务规则、边界值、异常场景、字段校验、状态流转是否全覆盖 |
| **准确性** | 25% | 前置条件清晰、步骤可执行无歧义、预期结果可验证且能暴露缺陷 |
| **有效性** | 15% | 用例设计方法运用恰当，能发现目标缺陷；断言不仅包含“做什么”还包含“不做什么” |
| **可执行性** | 10% | 测试数据可构造、环境依赖明确、步骤无跳步、无不可重现操作 |
| **规范性** | 10% | ID/标题/优先级/类型/术语符合团队标准，可追溯性达标 |
| **可维护性** | 10% | 原子性、独立性、步骤与数据解耦、结构清晰、易于修改 |

**补充特性**（贯穿于上述维度中检查）：
- 可重复性
- 可追溯性
- 原子性
- 独立性
- 测试设计方法应用程度（等价类、边界值、判定表、状态转换、正交等）

### 适用场景

- ✅ 新功能用例初稿的快速自评
- ✅ 代码评审前的用例质量门禁
- ✅ AI 生成用例后的人工辅助复核
- ✅ 存量用例库的定期审计与优化
- ✅ 测试新人提交用例的导师式反馈

### 不适用场景

- ❌ 性能测试脚本、自动化代码评审
- ❌ 非功能需求（安全性、可移植性）的深度测试设计（可审查场景覆盖，但不评估测试手法）

---

## 二、输入规范

### ⚠️ 前置条件

**需求文档和测试用例均为必填项，缺少任一项评审不可启动。**

- **需求文档**：评审的基准参照，用于需求覆盖率分析、业务规则覆盖完整性检查、用例准确性验证。缺少需求文档将导致无法判断用例是否遗漏需求点、预期结果是否与需求一致，评审结果不可靠。
- **测试用例**：评审的直接对象。缺少测试用例则无评审内容。

若用户未提供需求文档或测试用例，**必须先要求用户补充**，不进入评审流程。

### 输入清单

| 输入项 | 格式要求 | 是否必填 | 说明 |
|:---|:---|:---|:---|
| **需求文档** | Markdown(.md) / Word(.docx) / PDF / 纯文本 / PRD链接 | ✅ **必填** | 需求描述、用户故事、功能列表、业务规则、字段逻辑、流程图等。作为评审基准，用于覆盖度分析、业务规则匹配、预期结果准确性校验 |
| **测试用例** | Excel(.xlsx) / Markdown 表格 / JSON 数组 / 纯文本列表 | ✅ **必填** | 必须包含ID、标题、步骤、预期等基础字段。评审的直接对象 |
| 业务规则 | 键值对、表格或结构化描述 | 可选 | 额外补充的业务规则，例如：`权限: 销售经理→发起按钮可见` |
| 评审侧重点 | 逗号分隔的关键词 | 可选 | `权限,边界值,异常场景,状态流转` |
| 团队规范 | 优先级/类型定义、命名规则、模板 | 可选 | 若不提供则采用通用规范 |

### 需求文档解析要求

评审启动时，需从需求文档中提取以下信息用于评审比对：

1. **功能点清单**：识别所有功能需求ID（如 FR-001、FR-002）及其描述
2. **业务规则**：提取字段校验规则、联动规则、状态流转规则、条件分支逻辑
3. **异常场景**：提取需求中定义的异常反馈机制（错误提示、降级策略、超时处理等）
4. **非功能需求**：提取性能指标、安全要求、可用性要求（如有）
5. **字段定义**：提取字段类型、校验规则、默认值、枚举值等
6. **流程图/决策表**：提取业务流程中的分支条件和状态转换节点

> 以上信息将用于与测试用例进行逐项比对，确保每个需求点均有对应测试覆盖。

### 用例字段最低要求

无论输入格式如何，单条用例必须至少包含：
- **用例ID/编号**（唯一）
- **用例标题**（简洁、包含动作和对象）
- **前置条件**
- **测试步骤**（明确、可操作）
- **预期结果**（可验证、具体）
- **用例类型**（如功能、UI、接口、异常）
- **优先级**（P0/P1/P2/P3）
- **关联需求/模块标识/需求ID**（建议必填）

### 格式校验（隐式前置步骤）

评审开始前自动执行格式校验，发现以下问题直接记入 **“格式类问题清单”** ，不纳入质量评分但必须修正：

- 必填字段为空
- 用例ID重复
- 优先级不在 { P0, P1, P2, P3 } 中
- 用例类型未在团队定义范围内
- 表格解析失败、列数不匹配
- 预期结果包含纯模糊词（如“成功”“正常”且无具体表现）

---

## 三、评审逻辑与自动化规则

### 可自动化检测的规则（Rule-based Lint）

以下检查可由脚本/工具自动完成，评审报告中会列出违规项：

1. **ID/编号 唯一性**：重复则报高严重问题。
2. **必填字段非空**：标题、步骤、预期结果为空则报高严重。
3. **优先级合规**：超出取值范围报中严重。
4. **关联需求缺失**：`关联需求/模块标识/需求ID`为空则提示低严重，降低可追溯性评分。
5. **标题规范性**：标题应以动词开头描述测试意图（如"验证""检查""测试"），或采用"对象+动作"结构（如"登录功能验证"），若标题过于简略或冗长报低严重。
6. **预期结果模糊词检测**：仅含"成功""正确""正常"等且无具体断言，报中严重。
7. **步骤序列混乱**：步骤编号不连续、存在跳号报低严重。
8. **用例类型与预期内容匹配**：例如用例类型为"异常"，预期却描述成功结果，报中严重。
9. **需求覆盖率检测**：将测试用例中的需求ID与需求文档中的功能点逐项比对，识别未覆盖的需求点，报高严重。
10. **预期结果与需求描述一致性**：检查测试用例的预期结果是否与需求文档中的业务规则、字段校验规则、异常反馈机制一致，不一致报高严重。

### 需求文档驱动的评审规则

基于需求文档进行以下深度检查：

| 检查项 | 检查方法 | 违规严重度 |
|:---|:---|:---|
| 需求功能点覆盖 | 逐个检查需求ID是否有对应测试用例 | 未覆盖报高严重 |
| 业务规则覆盖 | 逐条比对需求中的业务规则是否被用例验证 | 未覆盖报中严重 |
| 字段校验覆盖 | 比对需求中的字段定义（类型、约束、默认值）是否被用例验证 | 未覆盖报中严重 |
| 异常场景覆盖 | 比对需求中的异常反馈机制是否有对应异常测试用例 | 未覆盖报高严重 |
| 预期结果准确性 | 比对用例预期结果与需求中的具体描述（提示文案、UI表现、状态变更）是否一致 | 不一致报高严重 |
| 状态流转覆盖 | 比对需求中的状态流转图是否被用例完整覆盖 | 未覆盖报中严重 |
| 非功能需求覆盖 | 比对需求中的性能指标、安全要求是否有对应测试用例 | 未覆盖报低严重 |

### 需人工/AI 辅助判断的规则

以下检查需要结合业务知识或上下文分析，由评审者（或 AI 以问答引导方式）完成：

- 业务规则覆盖完整性（结合需求文档逐条比对）
- 边界值、等价类选取合理性
- 异常场景与真实错误处理逻辑匹配度
- 步骤是否可独立复现
- 预期结果是否具备缺陷发现能力
- 设计方法运用是否恰当

---

## 四、测试用例评审报告（输出模板）

### 📊 总体评价

- 用例总数：**X** 条
- 需求功能点总数：**X** 个（从需求文档提取）
- 需求覆盖率：**X%**（已覆盖功能点 / 需求功能点总数）
- 未覆盖需求点：**X** 个（列出具体需求ID）
- 综合评分：**XX/100** （等级：**A/B/C/D**）
- 等级定义：
  - **A（≥90）**：优秀，可直接进入自动化或执行
  - **B（75-89）**：良好，少量修改后通过
  - **C（60-74）**：需重点修改并复审
  - **D（<60）**：打回重写

#### 六大维度得分

| 维度 | 得分 | 满分 | 关键扣分项举例 |
|:---|:---|:---|:---|
| 完整性 | XX | 30 | 缺少小数边界、权限组合漏测、异常未覆盖 |
| 准确性 | XX | 25 | 步骤有歧义、预期不具体、数据未指明 |
| 有效性 | XX | 15 | 未应用设计方法，断言无反向验证 |
| 可执行性 | XX | 10 | 测试数据不可构造、环境未说明 |
| 规范性 | XX | 10 | 无需求ID、标题不规范、优先级滥用 |
| 可维护性 | XX | 10 | 用例强依赖、复合断言、步骤与数据紧耦合 |

> 注：原子性、独立性、可重复性、可追溯性等子特征已隐含在上述维度中，严重违规会在问题清单中体现。

### � 需求追溯矩阵

基于需求文档逐条比对测试用例覆盖情况：

| 需求ID | 需求描述 | 测试用例覆盖 | 覆盖度 | 备注 |
|:---|:---|:---|:---|:---|
| FR-001 | 需求描述 | TC_001, TC_002 | ✅ 完整 | — |
| FR-002 | 需求描述 | TC_003 | ⚠️ 部分 | 缺少XX场景 |
| FR-003 | 需求描述 | — | ❌ 未覆盖 | 需新增用例 |

> 需求追溯矩阵必须基于需求文档中的功能点逐条生成，确保每个需求ID均有覆盖状态标注。

### �🚨 本次评审侧重点

（若输入提供了`评审侧重点`，则显示）
> 本次评审特别侧重：**权限、边界值、异常场景**。相关问题严重度已自动升档。

---

### 🔴 高严重问题清单（必须修改）

| 序号 | 用例标识 | 问题类型 | 问题描述 | 修改建议 |
|:---|:---|:---|:---|:---|
| 1 | TC_XXX | 原子性/可重复性/... | 具体问题 | 具体修改方案 |

### 🟡 中/低严重问题清单（建议修改）

| 序号 | 用例标识 | 问题类型 | 问题描述 | 修改建议 |
|:---|:---|:---|:---|:---|

---

### 📝 缺失场景补充建议

按测试设计技术及质量特性分类梳理，评审者逐项确认：

- [ ] **正常路径**：_________________________________
- [ ] **备选/异常流**：_________________________________
- [ ] **边界值/等价类**：_________________________________
- [ ] **权限/角色组合**：_________________________________
- [ ] **数据状态转换**：_________________________________
- [ ] **并发/重复提交（幂等）**：_________________________________
- [ ] **超时与中断**：Session超时、API响应超时、操作中断（关闭/刷新）、断网处理
- [ ] **字段校验/注入**：_________________________________
- [ ] **兼容性**：浏览器兼容、分辨率适配、移动端适配
- [ ] **大数据量**：分页边界、列表性能、导出大数据
- [ ] **数据导入导出**：格式校验、空文件、超大文件、模板下载
- [ ] **数据安全/合规**：敏感信息脱敏、操作审计、权限越级、CSRF攻击

---

### 🔗 用例依赖与执行顺序分析

- **依赖检测**：
  - 识别因数据、状态、环境导致的硬依赖，并给出解耦建议（如使用 setUp 数据工厂、预置数据）。
  - 对于必须按流程执行的“场景流用例”，自动分组并标记执行顺序约束，不扣“独立性”分。
- **依赖清单**：

| 依赖类型 | 前置用例 | 后置用例 | 解耦建议 |
|:---|:---|:---|:---|
| 数据依赖 | TC_01 注册 | TC_02 登录 | 建议 TC_02 通过 API 直接插入用户 |

---

### ✏️ 具体用例优化建议（逐条）

**TC_001：用例标题**
- **问题**：预期结果仅写“提示成功”，未指明提示文案或后续页面状态。
- **建议**：明确为“顶部弹出绿色toast‘保存成功’，页面跳转至列表页，新记录出现在第一行”。

---

### ✅ 评审总结与行动项

- 格式问题：**X** 条（详见格式清单，不计入评分）
- 必须修改项（高严重）：**X** 条
- 建议修改项（中低严重）：**Y** 条
- 优先级调整建议：升级 **X** 条，降级 **Y** 条
- 缺失场景补充：**Z** 个类别需新增用例
- 依赖解耦动作：**W** 项

**通过条件**：高严重问题清零 且 综合评分 ≥ 75

---

## 五、附录：评分细则参考（部分示例）

### 完整性（30分）

- 每个已识别功能点缺覆盖扣5分
- 每个业务规则缺覆盖扣5分
- 每个等价类缺边界值扣2分
- 每个异常路径缺失扣5分
- 缺少重要字段校验扣3分

### 准确性（25分）

- 前置条件缺失或无法实现扣5分
- 测试步骤存在歧义或跳跃扣5分
- 预期结果无法验证或表述模糊扣5分
- 未提供具体测试数据扣3分
- 可重复性存疑扣2分（如依赖随机值、未说明清理动作）

### 有效性（15分）

- 明显未使用设计方法（如输入域只有正常值）扣8分
- 断言不包含反向验证（如只验证跳转，不验证按钮置灰）扣5分
- 用例无法暴露已知缺陷扣2分

### 可执行性（10分）

- 数据无法构造或未提供构造方法扣5分
- 环境依赖未说明扣3分
- 步骤无法独立复现扣2分

### 规范性（10分）

- 缺少关联需求ID扣3分
- 标题不规范（无动词且非对象+动作结构、过长）扣2分
- 优先级明显错误扣3分
- 术语不统一扣2分

### 可维护性（10分）

- 原子性不足（一个用例验证多个功能点）扣4分
- 独立性不足（强制执行顺序）扣3分
- 步骤与测试数据高度耦合扣3分
