首页/开发/软件测试速查/判定表与组合测试的取舍
用例设计方法62 条

判定表与组合测试的取舍

判定表适合条件组合决定业务规则(结果明确);成对组合(pairwise)适合参数多、交互以两两为主且缺陷多由参数交互产生的场景。

软件测试速查开发更新于 2026-10-13

判定表与组合覆盖对比

判定表(Decision Table)把业务规则列成条件桩与动作桩的穷举矩阵,保证每条规则组合都被覆盖;成对组合测试(Pairwise)则认为大多数缺陷由两个因子的交互触发,用少量组合覆盖任意两因子的取值对。前者精确而组合爆炸,后者高效但可能漏掉三因子以上的强交互,两者应按场景取舍或搭配使用。

基本信息

判定表要素条件列表、条件取值组合、动作列表、每条规则的动作
pairwise 原理任意两个参数的所有取值组合至少出现一次
退化手段判定表可通过合并与无关项压缩,保留有效规则
工具支持PICT、AllPairs 等生成成对组合,手工表维护判定规则
适用信号规则明确、取值离散、组合有限的任务先看判定表
混合策略高交互规则子集用判定表,其余参数用 pairwise 降维

典型使用场景

  • 业务规则引擎:优惠叠加、费率计算等规则明确的场景优先判定表。
  • 配置参数组合:浏览器、系统、分辨率等参数空间用 pairwise 压缩。
  • 测试用例瘦身:全组合上万条的用例集,用 pairwise 收缩到可执行规模。
  • 评审依据:判定表让业务方逐条确认规则,减少理解偏差。
  • 边界交融场景:条件存在依赖关系时,先判定表梳理再决定是否需要全组合。

两种方法对比

维度判定表Pairwise
覆盖保证规则级全组合或压缩后全覆盖任意两因子组合覆盖
组合规模随条件数指数增长接近因子数的低次方规模
漏检风险低(规则内)三因子以上交互可能漏掉
适用对象规则明确的功能逻辑多参数配置与兼容矩阵
阅读体验业务方可直接评审生成结果对业务方不直观
判定表要处理无关项:取值不影响动作的条件组合应合并,否则维护成本爆炸。
pairwise 不是万能挡箭牌:安全关键与已知强交互场景仍需更高阶组合覆盖。
两者可以叠加:主规则用判定表保证正确性,环境维度用 pairwise 控制规模。

易错点

  • 用判定表硬扛高维参数:组合爆炸,没人维护后直接失控。
  • pairwise 覆盖缺关键组合:业务上必须同时成立的组合被生成器漏掉。
  • 忘记处理依赖条件:参数间有包含关系时,生成出的非法组合没有意义。
  • 只看数量不看有效性:用例数少了但没按需求优先级挑选,重要规则没覆盖。
  • 不做评审直接执行:规则理解偏差一路带到线上。

数据来源与参考

  • ISTQB CTFL 4.0 大纲
  • NIST《Introduction to Combinatorial Testing》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌