首页/开发/软件测试速查/分类树方法(Classification Tree)
用例设计方法62 条

分类树方法(Classification Tree)

把测试对象的输入域按分类与类逐层分解成树状结构,从各分类选取组合生成用例;适合输入结构复杂、组合维度多的系统。

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

分类树方法是什么

分类树(Classification Tree Method)是组合测试设计方法:把被测对象的输入域按维度逐层分解成树——根为被测对象,每个分类是一个维度,分类下的类是该维度的取值;再从不同分类各取一个类,组合成测试用例。适合输入结构复杂、组合维度多的系统,通常与 pairwise 等组合缩减技术配合使用。

基本信息

结构根(被测对象)→ 分类(维度)→ 类(取值)
组合规则从各分类各取一类构成组合,即一条用例的输入
缩减手段全组合数量爆炸时用 pairwise 等组合技术抽样
配套核对每个分类的类互斥且完整覆盖取值域
常见误区分类过粗导致组合区分度不足
推导依据分类与需求对照评审,避免整维遗漏

分类树示例

分类树示例
被测对象:商品搜索
查询词分类:空 / 单字符 / 常规词 / 超长串
结果集分类:0 条 / 1 条 / 多页
排序分类:相关度 / 时间 / 价格
筛选分类:无 / 单条件 / 多条件叠加
组合示例:常规词 + 多页 + 时间排序 + 多条件叠加

典型使用场景

  • 复杂输入域设计用例:表单、搜索、计费规则等多维组合场景。
  • 评审辅助:把分类树画出来,评审时逐维度核对取值完整性。
  • 组合缩减:全组合不可行时,用 pairwise 在分类交叉中抽样。
  • 回归定制:按缺陷涉及的维度挑选组合,生成针对性回归集。
  • 需求对照:树结构作为需求、开发、测试之间的共同讨论对象。
  • 新人培训:用具体组合理解维度、取值与用例的关系。

分类与取值示例

分类类(取值)代表关注点
查询词空 / 单字符 / 常规 / 超长空值与超长的边界处理
结果集0 条 / 1 条 / 多页空结果与分页语义
排序相关度 / 时间 / 价格切换排序后结果稳定性
筛选无 / 单条件 / 多条件叠加条件的互斥与优先级
分类与类互斥且完整:出现重叠或空缺时,组合里会出现非法格子或漏测取值,生成前先核对。
分类之间尽量正交:如果两个维度总是一起变化,考虑合并或重新划分,否则组合区分度很低。
组合数量按维度相乘增长:4 个分类各 4 个类就是 256 种全组合,通常需要缩减策略。

易错点

  • 分类划分过粗,组合结果区分度不足:类之间行为相近的取值应合并,行为不同的要拆开。
  • 树结构未与需求对照评审,遗漏整个分类维度:评审时逐条需求映射到分类。
  • 忘记核对类的互斥与完整:组合生成出现非法格子或漏测,设计阶段就埋下缺陷。
  • 直接全组合生成后不做缩减:用例数量失控,执行成本高企且重复覆盖严重。

数据来源与参考

  • ISTQB CTFL 4.0 大纲(分类树方法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌