首页/开发/软件测试速查/穷尽测试不可行与风险采样
测试基础与分层67 条

穷尽测试不可行与风险采样

除极简输入外,无法测试所有输入组合、路径与前置条件;测试本质上是基于风险的采样,需要选择能覆盖主要风险的子集。

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

为什么穷尽不可行

穷尽测试不可行是 ISTQB 七原则之一:除极简输入外,无法测试所有输入组合、执行路径与前置条件。输入域往往连续或无限,参数组合随数量指数增长,路径数量还受数据与并发影响。既然测不完,测试的本质就是基于风险的采样:选择能覆盖主要风险的子集,并说明选择依据与放弃范围。

基本信息

原则出处ISTQB 基础级测试七原则
组合规模3 个布尔参数 8 种组合;参数与取值增加后指数膨胀
替代策略等价类、边界值、判定表、成对组合、基于风险的优先级
记录要求采样依据与覆盖范围留档,便于评估残余风险

典型使用场景

  • 计划阶段向干系人说明「测到什么程度」与残余风险
  • 参数繁多的配置与表单:用成对(pairwise)组合把用例压到可执行规模
  • 回归取舍:按使用频率与变更范围排序,优先高频高危路径
  • 连续取值范围:等价类加边界值替代逐个取值
  • 时间受限的专项测试:明确放弃哪些组合并书面说明
  • 覆盖策略评审:确认采样维度能回答业务最关键的问题

组合规模直观感受

组合规模直观感受
# 3 个布尔开关:2^3 = 8 种组合
# 6 个参数各 10 档取值:10^6 = 100 万种,逐一遍历不可行
# 两两(pairwise)覆盖:覆盖任意两个参数的全部取值组合
#   —— 常见工具可把规模压到十几到几十条,适合交互缺陷筛查
# 结论:显式选择采样策略并记录依据,而不是随手挑用例

采样方法对照

方法思路适用场景
等价类划分每类取代表值输入可分组且类内等价
边界值取边界与边界加减一有序数值与长度限制
判定表条件与动作的组合业务规则密集的流程
成对组合覆盖任意两个参数的交互多开关多配置参数
基于风险按影响乘概率排序时间受限时的取舍
采样不是「随便挑」:每个入选用例应能回答它代表哪类风险;落选组合要能说明为什么可以放弃。
干系人常把「测试通过」理解为「没有缺陷」:用本原则先对齐预期,通过只代表采样范围内未发现失效。

易错点

  • 以组合太多为由不做系统性设计,退化为随手点测,高风险组合被遗漏
  • 采样依据不记录,后续无法判断哪些风险已覆盖、哪些是已知缺口
  • 把成对组合当万能:三个以上参数强交互的缺陷会漏检,关键组合仍需单独补充
  • 时间压力下悄悄削减范围而不告知干系人,残余风险被隐藏
  • 把用例数量当作覆盖度指标,采样无策略,数字好看风险照旧

数据来源与参考

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