Day 4 —— 用例设计方法(二):场景法 + 错误推测法 + 判定表

 

一、场景法(也叫流程分析法)

1. 核心思想

大多数 Bug 不在单个功能,而在功能串起来走的时候。场景法就是按用户真实操作路径设计用例。

2. 两个概念:基本流 + 备选流

概念含义例子
基本流 一路顺畅走到底的正确路径 登录成功→下单→支付成功
备选流 中途出现异常/分歧的分支

密码错、库存不足、支付失败

 

基本流 1 条,备选流 n 条,每条基本流和每条备选流都能组合出用例。

3. 举例:登录 → 下单 → 支付

流路径类型
基本流 登录成功 → 选商品 → 提交订单 → 支付成功 基本流
备选 1 密码错误,登录失败 备选流
备选 2 商品库存不足,下单失败 备选流
备选 3 余额不足,支付失败 备选流
备选 4 支付中断后返回,订单是否保留 备选流
备选 5 重复提交,是否生成重复订单 备选流

重点:备选流里的"支付中断""重复提交""超时"这类才是真实项目故障重灾区。

4. 场景法步骤

  1. 画出主要业务流程(基本流)
  2. 找出所有可能出错或分叉的节点(备选流)
  3. 每个分叉点设计用例,覆盖正向 + 异常 + 超时

口诀:一条顺路走到底,岔路口上做文章;正常异常加超时,三条线都别漏。

二、错误推测法

1. 核心思想

靠经验和直觉,猜哪里最容易出错,专门去测。 没有固定公式,全靠积累。

2. 常见"爱出错"的地方(背下来)

场景典型问题
空值/空格 只输空格能否提交
重复提交 连点按钮是否生成多条
特殊字符 '、;、<script>(SQL 注入/XSS)
极端数值 0、负数、超大数、超长字符串
时间边界 跨天、跨月、闰年 2 月 29
网络异常 断网、弱网、超时
并发 两个人同时抢最后一件库存
权限越权 A 用户能否看 B 用户订单

口诀:空格重复特殊符,极端数值和时间;断网超时和并发,权限越权最容易漏。

3. 举例

测一个"提交订单"按钮,错误推测清单:

  • 连点 5 次 → 是否生成 5 个订单?
  • 金额填负数 / 0 → 能否提交?
  • 商品数量填 999999 → 有无上限校验?
  • 断网时点击 → 有无友好提示?
  • 篡改请求金额 → 后端是否校验(不只是前端)?

最后一条最值钱:很多 Bug 是"前端校验了、后端没校验",改个请求包就绕过了。

三、判定表(因果图)

1. 什么时候用

当多个条件组合决定一个结果时用。比如"会员折扣",要同时看是否会员、消费金额、是否有优惠券。

2. 判定表结构

条件/动作规则1规则2规则3规则4
是否会员 是 是 否 否
金额≥100 是 否 是 否
打 9 折 ✓      
打 95 折   ✓    
无折扣     ✓ ✓

做法:列出所有条件 → 列出所有条件组合(2 的 n 次方)→ 填每种的预期结果 → 每种组合一条用例。

3. 判定表 vs 等价类

方法解决特点
等价类/边界值 单个输入合法不合法 单维度
判定表 多个条件组合的结果 多维度组合
场景法 多步骤流程 时间顺序
错误推测 经验猜错 靠积累

 

📋 小结表(Day 4)

方法解决什么核心要点
场景法 多步骤流程 基本流 + 备选流,覆盖异常/超时/重复提交
错误推测法 经验盲区 空格、重复点击、特殊字符、极端值、并发、越权
判定表 多条件组合 列条件 → 列组合 → 填结果 → 每组一条用例
对照 一个维度用等价类,多维度用判定表,有流程用场景法,没把握用错误推测 四种方法按场景选

四种方法怎么选:

  • 单个输入框校验 → 等价类 + 边界值
  • 多条件组合算结果 → 判定表
  • 有先后步骤的业务流程 → 场景法
  • 不知道还能测什么、想补漏 → 错误推测法

口诀:单输入等价边,多条件判定表;有流程走场景,没思路靠推测。

🔑 口诀

基本流一路顺,备选流找岔口;正常异常加超时,三条线都别漏;空格重复特殊符,极端数值与时间;断网超时加并发,权限越权最易漏;多条件列判定表,组合齐全不漏项。

一句话记:流程用场景、组合用判定、补漏靠推测。


✍️ 练习题(Day 4)

  1. 场景法里的"基本流"和"备选流"分别指什么?各举一个例子。
  2. 需求:"用户注册后,邮箱需激活才能登录,激活链接 24 小时内有效。"请用场景法列出 1 条基本流和 3 条备选流。
  3. 请用错误推测法,为一个"上传头像"功能列出至少 5 个容易出错的测试点。
  4. 判定表题:某电商促销规则——"是会员且消费满 100 打 8 折;是会员不满 100 但满 50 打 9 折;非会员一律原价"。请画出判定表(条件 + 规则 + 动作)。
  5. 判断题:错误推测法有严格的公式步骤,任何人都能得出完全相同的用例。(对/错?为什么)

第 4 题参考思路:条件为"是否会员""是否满 100""是否满 50",组合 8 条规则,其中部分组合被前一条优先规则覆盖(涉及规则优先级,判定表里要标出"不可能"或"按优先级取"的情况)。

 

posted on 2026-10-20 11:10  WapN  阅读(21)  评论(0)    收藏  举报

导航