back
loading skill details...
具备高级测试用例设计能力,能输出覆盖复杂页面跳转、路由参数及多页面联动的标准化高质量测试用例。
# test_case_design_senior - 高级功能测试用例设计
## 技能概述
具备高级功能测试工程师的测试用例设计能力,可输出结构标准、覆盖率高、逻辑清晰、考虑全面的高质量测试用例;**支持页面跳转、详情页跳转、关联页面跳转、路由参数、页面联动等复杂场景**;严格按照标准模板输出,包含测试用例编号、测试类型、功能模块、子功能、测试标题、用例级别、预置条件、测试步骤、预期结果、实际结果等完整字段,满足企业级测试规范与质量要求。
---
## 核心能力
### 1. 标准用例结构输出
- **严格遵循完整字段模板(严格按照输出模板输出测试用例)**
- 测试用例编号:唯一标识,便于追踪和管理
- 测试类型:功能测试、性能测试、安全测试、兼容性测试等
- 功能模块:所属的业务模块或系统组件
- 子功能:具体的功能点或操作场景
- 测试标题:简明扼要地描述测试目的
- 用例级别:P0(关键)、P1(重要)、P2(一般)、P3(可选)
- 预置条件:执行测试前必须满足的状态或数据准备
- 测试步骤:详细的操作步骤,确保可重复执行
- 预期结果:每个步骤对应的预期产出或状态变化
- 实际结果:测试执行后的真实结果记录
### 2. 深度需求拆解与测试点提取
- **识别显性测试点**:从需求文档、UI 设计、流程图、接口文档、代码等软件开发相关文档中直接获取的功能规格
- **挖掘隐性测试点**:基于经验推导的用户行为模式、异常场景
- **确保全覆盖**:功能完整性验证、数据正确性验证、界面一致性验证
- **优先级划分**:根据业务重要性和风险程度确定测试重点
### 3. 高覆盖率用例设计
- **主流程用例**:正常用户操作流程验证
- **分支流程用例**:各种条件分支路径覆盖
- **异常场景用例**:错误输入、异常操作、系统故障处理
- **边界值用例**:输入范围边界、数量边界、时间边界
- **异常参数用例**:特殊字符、超长字符串、非法格式
- **权限校验用例**:不同角色权限隔离和访问控制
- **数据一致性用例**:数据跨模块同步、事务一致性
- **并发场景用例**:多人同时操作、数据竞争检测
### 4. 用例逻辑严谨清晰
- **步骤简洁可执行**:避免歧义描述,每个步骤可独立验证
- **预期结果明确无歧义**:使用客观可测量的表述,非主观判断
- **可读性强**:结构化呈现,便于快速理解测试意图
- **复用性强**:通用场景可抽象为测试套件,支持批量调用
### 5. 高级用例设计方法应用
- **等价类划分法**:将输入域划分为有效/无效等价类,减少冗余用例
- **边界值分析法**:针对边界情况设计专项测试,发现常见错误
- **场景法**:基于用户业务流程构建端到端测试场景
- **判定表驱动法**:多条件组合场景,穷举所有可能性
- **错误推测法**:基于历史缺陷数据和开发经验预测潜在问题
- **风险驱动测试**:优先覆盖高风险区域和高频使用场景
### 6. 复杂业务场景覆盖
- **跨模块集成测试**:多个系统/模块间的协作验证
- **上下游依赖测试**:数据源、外部接口、消息队列等依赖验证
- **接口联动测试**:REST API、GraphQL、WebSocket 等多协议接口协同
- **异常兜底测试**:服务降级、熔断、重试机制的有效性验证
- **逆向操作测试**:撤销、回滚、补偿操作的正确处理
### 7. 用例规范化与可落地性
- **格式统一**:符合企业规范的表格或文档格式
- **字段完整**:必填信息不缺失,元数据齐全
- **可执行性强**:直接用于人工测试或自动化脚本生成
- **回归友好**:易于维护和更新,支持版本迭代
- **自动化对接**:步骤可映射为测试代码,预期结果可断言
- **质量评估支撑**:覆盖率指标可量化,缺陷密度可统计
### 8. 页面跳转与路由测试
- **页面跳转测试**:按钮跳转、列表跳详情页、菜单跳转、外部链接跳转
- **详情页跳转测试**:从列表页点击进入详情页,校验数据展示完整性
- **关联页面跳转**:从当前页面跳转到业务关联页面(如订单→用户、商品→店铺)
- **路由参数测试**:URL 参数传递、query 参数、path 参数、参数缺失/错误处理
- **跳转权限校验**:未登录跳转登录页、无权限跳转 403、越权访问拦截
- **跳转回退测试**:浏览器后退、返回按钮、面包屑导航、历史栈管理
- **异常跳转测试**:404 页面、空数据页面、错误参数跳转、循环跳转检测
### 9. 跳转后页面校验
- **页面渲染校验**:页面元素完整、布局正确、无错位/缺失
- **数据加载校验**:详情数据与列表一致、数据格式正确、空状态处理
- **标题匹配校验**:页面标题与内容匹配、动态标题更新正确
- **参数传递校验**:路由参数正确传递到目标页、参数解析无误
- **页面状态校验**:加载状态、成功状态、错误状态、空状态显示正确
- **交互功能校验**:详情页内按钮、表单、Tab 切换等功能正常
### 10. 跨页面联动逻辑
- **多页面业务关联**:分析页面间的业务流程关系,设计端到端测试
- **数据传递测试**:页面间数据传递、表单数据携带、状态共享
- **状态同步测试**:一个页面操作后,关联页面状态同步更新
- **缓存一致性**:页面返回后数据是否刷新、缓存策略验证
- **消息通知联动**:操作后触发通知,通知点击跳转正确页面
---
## 输出模板
### 测试用例 Excel/表格格式
| 测试用例编号 | 测试类型 | 功能模块 | 子功能 | 测试标题 | 用例级别 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 |
|------------|---------|---------|--------|---------|---------|---------|---------|---------|---------|
| TC_XXX_001 | 功能测试 | 用户管理 | 登录 | 验证正确的用户名和密码可以成功登录 | P0 | 1. 用户已注册<br>2. 网络正常 | 1. 打开登录页面<br>2. 输入正确的用户名<br>3. 输入正确的密码<br>4. 点击登录按钮 | 1. 跳转至首页<br>2. 显示用户信息 | 待执行 |
### 测试用例编号规则
`TC_{模块缩写}_{功能序列号}_{场景后缀}`
示例:
- `TC_USER_LOGIN_001_NORMAL` - 用户模块 - 登录功能 - 第 001 条 - 正常场景
- `TC_ORDER_DETAIL_002_JUMP` - 订单模块 - 详情页 - 第 002 条 - 跳转场景
- `TC_PRODUCT_LINK_003_CROSS` - 商品模块 - 关联页面 - 第 003 条 - 跨页面联动
### 用例级别定义
| 级别 | 说明 | 适用场景 |
|-----|------|---------|
| P0 | 关键用例 | 核心业务流程、阻碍系统正常使用的问题、主流程跳转 |
| P1 | 重要用例 | 主要功能、影响用户体验的问题、详情页跳转、权限校验 |
| P2 | 一般用例 | 次要功能、不影响主体流程的问题、关联页面跳转 |
| P3 | 可选用例 | 边缘场景、美化优化相关、异常参数跳转 |
### 测试类型分类
- **功能测试**:验证功能是否符合需求
- **性能测试**:响应时间、吞吐量、资源占用
- **安全测试**:身份认证、授权、数据加密、XSS/SQL 注入
- **兼容性测试**:浏览器、操作系统、设备分辨率
- **回归测试**:修改后验证原有功能未受损
- **接口测试**:API 契约、数据传输、错误处理
- **UI 测试**:界面布局、交互体验、文案准确性
- **路由测试**:页面跳转、路由参数、URL 规范、浏览器历史
- **联动测试**:跨页面数据传递、状态同步、业务关联
---
## 使用方法
### 触发场景
当用户提供以下类型的请求时,此技能自动激活:
1. **生成/编写测试用例**:"帮我写一下用户登录功能的测试用例"
2. **完善用例**:"这些测试用例不够全面,请补充异常场景"
3. **审查用例**:"检查一下这些测试用例是否有遗漏"
4. **转换格式**:"把 Word 里的需求转换成测试用例"
5. **补充覆盖**:"这个支付功能还缺哪些测试场景"
6. **评审辅助**:"我需要准备测试用例评审,生成一套完整的用例"
7. **页面跳转测试**:"帮我设计列表跳详情页的测试用例"
8. **路由参数测试**:"这个页面 URL 带参数,怎么测试"
9. **跨页面联动**:"订单页和用户页有关联,怎么设计用例"
### 输入要素
为生成高质量的测试用例,尽量提供以下信息:
1. **需求描述**:功能需求的详细说明
2. **业务背景**:该功能在整体产品中的定位
3. **约束条件**:技术限制、合规要求等
4. **目标用户**:主要使用人群及其特征
5. **关联系统**:涉及的其他模块或第三方服务
6. **页面路由信息**:URL 结构、路由参数、跳转逻辑
7. **页面关联关系**:页面间的业务关联、数据流向
### 输出内容
1. **完整测试用例集**:涵盖所有识别出的测试点
2. **测试优先级排序**:按 P0-P3 分级展示
3. **覆盖率说明**:已覆盖的测试维度列表
4. **缺失风险提示**:可能存在的测试盲区建议
5. **页面跳转专项说明**:跳转路径、参数校验、权限检查
6. **联动场景说明**:跨页面数据流、状态同步点
---
## 最佳实践
### 用例设计原则
✅ **DO - 推荐做法**
- 每个用例只验证一个明确的目标
- 使用清晰的数字序号标记步骤
- 预期结果使用"应该/必须/会"等确定性词汇
- 包含正向和反向两种情况的验证
- 标注敏感信息的脱敏处理方式
- 为复杂场景添加截图或伪代码说明
- 页面跳转用例明确标注跳转目标页面
- 路由参数用例覆盖参数缺失、错误、越界场景
- 联动用例标注数据传递路径和同步点
❌ **DON'T - 避免做法**
- 模糊的描述如"检查是否可以正常工作"
- 一次性执行过多无关操作
- 忽略前置条件和环境配置
- 混合多个验证点在一个步骤中
- 使用主观判断代替客观测量
- 忽略异常处理流程
- 忽略跳转后的页面状态校验
- 忽略路由参数的安全性校验
- 忽略跨页面数据一致性问题
### 用例评审要点
1. **完整性检查**:是否覆盖所有需求点和隐性场景
2. **独立性检查**:用例之间是否存在强依赖关系
3. **可执行性检查**:步骤是否清晰、工具是否可得
4. **可维护性检查**:命名规范、变更可追溯
5. **优先级合理性**:P0 用例是否真正关键
6. **跳转覆盖检查**:页面跳转路径是否全覆盖
7. **参数校验检查**:路由参数测试是否充分
8. **联动逻辑检查**:跨页面数据流是否清晰
### 用例管理建议
- 建立用例库版本管理机制
- 定期清理过期或废弃的用例
- 根据缺陷反馈持续优化用例
- 结合自动化测试框架进行用例复用
- 保持用例与需求版本的关联性
- 为页面跳转用例维护路由映射表
- 为联动用例维护页面依赖关系图
---
## 示例案例
### 示例 1:电商下单功能测试用例
```markdown
## 订单模块 - 商品下单 - P0
### TC_ORDER_CREATE_001 正常下单流程
**测试类型**: 功能测试
**功能模块**: 订单管理
**子功能**: 商品下单
**用例级别**: P0
**预置条件**:
1. 用户已登录且账户余额充足
2. 商品库存大于 0
3. 收货地址已配置
**测试步骤**:
1. 浏览商品详情页
2. 选择规格型号(如有)
3. 点击"立即下单"按钮
4. 确认订单信息(商品、数量、价格、收货地址)
5. 选择支付方式
6. 点击"提交订单"
7. 完成支付
**预期结果**:
1. 进入订单确认页
2. 订单金额计算准确(含运费优惠)
3. 订单创建成功,返回订单号
4. 库存扣减正确
5. 收到订单 confirmation 通知
**实际结果**: 待执行
```
### 示例 2:用户注册功能异常场景
```markdown
## 用户模块 - 注册 - P1
### TC_USER_REGISTER_002 邮箱格式错误
**测试类型**: 功能测试
**功能模块**: 用户管理
**子功能**: 用户注册
**用例级别**: P1
**预置条件**: 访问注册页面
**测试步骤**:
1. 在邮箱输入框输入不完整格式的邮箱(如 abc@com)
2. 输入合法的密码和确认密码
3. 点击"注册"按钮
**预期结果**:
1. 邮箱字段显示红色错误提示
2. 提示内容明确告知格式要求
3. 无法继续提交表单
4. 控制台无报错日志
**实际结果**: 待执行
```
### 示例 3:列表跳详情页测试
```markdown
## 商品模块 - 列表跳详情 - P0
### TC_PRODUCT_LIST_001 正常跳转详情页
**测试类型**: 路由测试
**功能模块**: 商品管理
**子功能**: 列表跳详情
**用例级别**: P0
**预置条件**:
1. 用户已登录
2. 商品列表页有数据
**测试步骤**:
1. 打开商品列表页
2. 点击任意商品卡片/名称
3. 等待页面跳转完成
4. 校验详情页展示内容
**预期结果**:
1. 成功跳转到商品详情页
2. URL 包含正确的商品 ID(如 /product/12345)
3. 详情页展示的商品信息与列表一致
4. 商品图片、价格、库存等关键信息正确
5. 详情页功能按钮(购买、收藏等)可用
**实际结果**: 待执行
```
### 示例 4:路由参数测试
```markdown
## 订单模块 - 详情页 - P1
### TC_ORDER_DETAIL_002 路由参数缺失
**测试类型**: 路由测试
**功能模块**: 订单管理
**子功能**: 详情页路由
**用例级别**: P1
**预置条件**: 用户已登录
**测试步骤**:
1. 手动访问订单详情页 URL,但省略订单 ID 参数(如 /order/detail?id=)
2. 观察页面反应
**预期结果**:
1. 页面显示错误提示"订单 ID 不能为空"
2. 或自动跳转到订单列表页
3. 不出现白屏或系统错误
**实际结果**: 待执行
---
### TC_ORDER_DETAIL_003 路由参数非法
**测试类型**: 安全测试
**功能模块**: 订单管理
**子功能**: 详情页路由
**用例级别**: P1
**预置条件**: 用户已登录
**测试步骤**:
1. 手动访问订单详情页 URL,传入非法订单 ID(如 /order/detail?id=abc)
2. 观察页面反应
**预期结果**:
1. 页面显示"订单不存在"或类似提示
2. 不展示任何订单详情信息
3. 不提供越权访问其他订单的入口
**实际结果**: 待执行
```
### 示例 5:跨页面联动测试
```markdown
## 订单模块 - 用户关联 - P1
### TC_ORDER_USER_001 订单页跳用户详情页
**测试类型**: 联动测试
**功能模块**: 订单管理
**子功能**: 关联页面跳转
**用例级别**: P1
**预置条件**:
1. 用户已登录
2. 存在已完成的订单
**测试步骤**:
1. 打开订单详情页
2. 点击买家信息区域的用户名称/头像
3. 等待页面跳转
4. 校验跳转目标页面
**预期结果**:
1. 成功跳转到用户详情/店铺页
2. 用户信息与订单中的买家信息一致
3. URL 包含正确的用户 ID
4. 用户页面功能正常(关注、发消息等)
**实际结果**: 待执行
---
## 订单模块 - 状态同步 - P1
### TC_ORDER_USER_002 订单状态变更后列表同步
**测试类型**: 联动测试
**功能模块**: 订单管理
**子功能**: 状态同步
**用例级别**: P1
**预置条件**:
1. 用户已登录
2. 存在待发货订单
**测试步骤**:
1. 打开订单列表页,记录订单状态
2. 点击进入订单详情页
3. 在详情页执行发货操作
4. 返回列表页(浏览器后退或点击面包屑)
5. 检查订单列表中该订单状态
**预期结果**:
1. 列表页订单状态已更新为"已发货"
2. 或页面提示刷新后显示最新状态
3. 数据与详情页操作结果一致
**实际结果**: 待执行
```
### 示例 6:权限跳转测试
```markdown
## 系统模块 - 权限控制 - P0
### TC_SYS_AUTH_001 未登录访问详情页
**测试类型**: 安全测试
**功能模块**: 权限管理
**子功能**: 登录拦截
**用例级别**: P0
**预置条件**: 用户未登录
**测试步骤**:
1. 直接访问需要登录的详情页 URL(如 /order/detail?id=123)
2. 观察页面跳转
**预期结果**:
1. 自动跳转到登录页
2. 登录成功后能回到原访问页面(携带 redirect 参数)
3. 不泄露任何订单信息
**实际结果**: 待执行
---
### TC_SYS_AUTH_002 越权访问他人订单
**测试类型**: 安全测试
**功能模块**: 权限管理
**子功能**: 越权访问
**用例级别**: P0
**预置条件**: 用户 A 已登录
**测试步骤**:
1. 获取用户 B 的订单 ID
2. 用户 A 访问用户 B 的订单详情页(/order/detail?id=用户 B 订单 ID)
3. 观察页面反应
**预期结果**:
1. 显示"无权访问"或"订单不存在"
2. 不展示任何用户 B 的订单信息
3. 记录安全日志
**实际结果**: 待执行
```
### 示例 7:浏览器回退测试
```markdown
## 通用模块 - 浏览器历史 - P2
### TC_BROWSER_BACK_001 详情页返回列表
**测试类型**: 路由测试
**功能模块**: 浏览器历史管理
**子功能**: 回退功能
**用例级别**: P2
**预置条件**:
1. 用户在商品列表页
2. 列表有分页或筛选条件
**测试步骤**:
1. 在列表页设置筛选条件(如价格区间、品牌)
2. 点击某个商品进入详情页
3. 使用浏览器后退按钮返回
4. 检查列表页状态
**预期结果**:
1. 返回列表页而非首页
2. 之前的筛选条件保持
3. 滚动位置保持或合理重置
4. 列表数据未丢失
**实际结果**: 待执行
```
---
## 质量保证标准
### 用例评审通过标准
1. ✅ **覆盖率达标**: 核心功能 P0 用例覆盖率 100%
2. ✅ **逻辑自洽**: 无矛盾或冲突的步骤描述
3. ✅ **可执行性**: 可在 3 分钟内完成单条用例验证
4. ✅ **边界覆盖**: 输入边界、异常场景均有对应用例
5. ✅ **优先级合理**: P0 用例不超过总数 30%
6. ✅ **跳转覆盖**: 页面跳转场景全覆盖
7. ✅ **参数校验**: 路由参数测试完整
8. ✅ **联动完整**: 跨页面数据流测试清晰
### 交付质量标准
- 用例总数不低于需求点的 3 倍(包含异常场景)
- P0+P1 用例占比不低于 60%
- 每条用例平均步骤数 3-8 步
- 无空洞描述,预期结果均可客观验证
- 符合企业测试管理规范格式要求
- 页面跳转用例包含跳转目标、参数、权限校验
- 联动用例包含数据传递路径和同步点说明
---
## 技术支持
### 常用测试方法速查
**等价类划分示例**:
- 年龄输入框:有效等价类 [1,120],无效等价类 <1, >120, 非数字
- 状态下拉:有效等价类 [启用,禁用,冻结],无效等价类 其他任意值
- **路由参数**:有效等价类 [合法 ID 格式],无效等价类 [空值、非数字、超长、特殊字符]
**边界值分析示例**:
- 文件上传大小限制 10MB:9MB, 10MB, 10.1MB
- 文本框限制 200 字符:199 字,200 字,201 字
- **列表分页**:第 1 页、最后 1 页、超出最大页码
**判定表示例**:
| 条件 | A(有优惠券) | B(满 100 元) | C(可用) | 结果 |
|-----|-----------|----------|-------|-----|
| 1 | Y | Y | Y | 可以使用 |
| 2 | Y | Y | N | 不可用(已过期) |
| 3 | Y | N | Y | 不可用(不满足门槛) |
| 4 | N | Y/Y | Y/Y | 不适用 |
### 页面跳转测试检查清单
- [ ] 正常跳转:点击跳转目标正确
- [ ] 参数传递:URL 参数完整且正确
- [ ] 权限校验:未登录/无权限拦截正确
- [ ] 404 处理:不存在资源跳转 404 页
- [ ] 空状态:无数据时展示空状态页
- [ ] 浏览器回退:历史栈管理正确
- [ ] 返回按钮:页面内返回功能正常
- [ ] 面包屑导航:层级导航准确
- [ ] 外部跳转:新标签页打开外部链接
- [ ] 循环跳转:检测并阻止循环重定向
### 跨页面联动测试检查清单
- [ ] 数据传递:页面间数据携带正确
- [ ] 状态同步:操作后关联页面状态更新
- [ ] 缓存策略:返回页面数据刷新策略合理
- [ ] 消息通知:通知点击跳转正确页面
- [ ] 业务闭环:跨页面业务流程完整
- [ ] 数据一致:多页面展示同一数据一致
- [ ] 操作反馈:一个页面操作,关联页面有反馈
---
## 附录
### 常见测试数据类型
| 数据类型 | 有效范围 | 典型边界 | 异常示例 |
|---------|---------|---------|---------|
| 整数 | -2147483648 到 2147483647 | -1, 0, 1, 最大值,最大值 +1 | 小数、字母 |
| 浮点数 | 根据精度要求 | 0.0, 0.1, 最小正数 | 无穷大、NaN |
| 字符串 | 1-200 字符 | 0 字符、200 字符、201 字符 | null、emoji、特殊符号 |
| 日期 | 1970-01-01 到 2099-12-31 | 前一天、当天、后一天 | 未来年份、非法日期 |
| 布尔值 | true/false | - | 1, 0, "true", "" |
| 枚举 | predefined values | 首项、末项、中间项 | 不在定义范围内的值 |
| **路由参数** | 符合 URL 规范 | 正常 ID、空值、边界值 | 特殊字符、SQL 注入、XSS |
### 参考资源
- ISTQB 测试术语标准
- ISO/IEC/IEEE 29119 软件测试标准
- Google Testing Blog
- Microsoft Test Engineering Guidelines
- Web 路由测试最佳实践
- 前端页面联动测试指南
don't have the plugin yet? install it then click "run inline in claude" again.