先看题干有没有“多个条件共同决定结果”
判定表法最适合处理多条件组合。比如是否会员、订单金额是否达标、优惠券是否有效、库存是否充足,这几个条件共同决定能不能下单、能不能优惠、是否需要人工审核。这里如果只用等价类或边界值,很容易漏掉某些组合。
题干如果说“多个条件组合”“不同规则对应不同动作”“希望系统覆盖各种组合”,通常优先想到判定表。它不是简单测一个输入框,而是把业务规则摊开,看每种组合对应什么动作。
| 方法 | 更关注什么 | 题干信号 |
|---|---|---|
| 判定表 | 条件组合与动作规则 | 多个条件、不同动作、规则覆盖 |
| 因果图 | 输入条件之间的逻辑关系 | 原因、结果、约束、逻辑关系 |
| 等价类 | 输入域分类 | 有效类、无效类、代表值 |
| 边界值 | 范围边界附近 | 上限、下限、最大、最小 |
因果图先画关系,判定表再落到用例
因果图法的优势在于分析输入条件和输出结果之间的逻辑关系,尤其是条件之间存在“与、或、非、互斥、唯一、包含”等约束时,先画因果图会比较清楚。它能帮助你发现哪些条件不能同时成立,哪些条件必须搭配出现。
判定表则更像落地工具,把条件桩、动作桩和规则列出来。很多实际讲法会先用因果图整理逻辑,再把它转换成判定表,最后根据每一列规则设计测试用例。所以两者不是敌人,而是前后衔接。
老师式小例子
登录系统:账号正确、密码正确、账号未锁定,三个条件共同决定是否允许登录。
如果题目问这些条件之间有什么逻辑约束,可以想到因果图。
如果题目问如何系统覆盖所有条件组合并列出动作,更像判定表。
不要把判定表当成边界值分析
很多同学看到输入条件就习惯性想边界值,但判定表关注的不是“7、8、9、15、16、17”这种边界点,而是条件之间组合后会触发什么业务动作。比如密码长度是边界值,账号状态加登录次数加验证码规则,更像判定表。
边界值可以和判定表结合使用,但它解决的是另一个问题。先用判定表确定规则组合,再在某些输入条件里选边界数据,这是更完整的测试设计思路。考试选择题通常只问首选方法,题干强调组合就不要跑偏。
| 题干说法 | 优先方法 | 判断理由 |
|---|---|---|
| 密码长度 8 到 16 位 | 边界值分析 | 重点在边界附近 |
| 年龄分合法、过小、过大、空值 | 等价类划分 | 重点在输入分类 |
| 会员等级、金额、优惠券共同决定折扣 | 判定表 | 重点在条件组合 |
| 条件之间有互斥和约束关系 | 因果图 | 重点在因果逻辑和约束 |
场景题的判断顺序
软件评测师题目经常把几种黑盒方法放在一起。建议先问:是否有明确范围边界?有,先看边界值。是否能把输入分成有效和无效类别?有,先看等价类。是否多个条件组合决定动作?有,先看判定表。是否强调原因、结果和约束关系?再考虑因果图。
真正做项目时,这些方法可以组合使用;但考试选择题往往要求你找最贴合题干的一种。读题时不要只盯方法名字,要看出题人给了哪些信号词。这个习惯,比背一堆定义更能稳定拿分。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- 判定表法适合测试什么场景?判定表测试 / 软件评测师判定表