You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

组合测试覆盖强度t对应的最小用例数推导及公式咨询

等取值参数集t路组合覆盖用例数计算逻辑

你提到的计算针对所有可配置参数取值数完全相等、参数总数远大于覆盖强度t的组合测试场景,对应给出的条件:11个参数、单参数5个取值,穷举测试用例数为5^11 = 48828125,和给出的数值完全匹配。

t=2、t=3场景下的算式推导逻辑

书里的计算式来自覆盖阵列(组合测试的核心数学模型)的可实现紧下界推导,逻辑如下:

  • 先任意选一个参数作为基准参数,该参数共有5种独立取值,每条测试用例只能给这个参数赋1个值,因此至少需要5组用例才能覆盖该参数的全部取值,这就是算式里第一个乘数5的来源。
  • 当覆盖强度t=2(成对覆盖)时,对基准参数的每一个固定取值,不需要用满5条用例覆盖其余参数的组合:用组合设计里的错位循环排列方法,仅需4条用例就能覆盖完所有没被其他基准值分组覆盖的两参数值对,不会漏覆盖也不会产生冗余,因此单基准值对应4条用例,总用例数为5 * 4 = 20。
  • 当覆盖强度提升到t=3时,在t=2的构造基础上,每提升1维覆盖要求,只需要在原有每个分组的基础上乘系数4:固定前两个参数的取值组合后,仅需4种错位排列就能覆盖所有剩余未覆盖的三元参数组合,不需要额外加冗余用例,因此总用例数为5 * 4 * 4 = 80。

该场景下的通用计算公式

当满足以下前提时,可以直接套用通用公式计算t路覆盖的最小可实现用例数:

  1. 所有参数的可选取值数量完全相等,记为v
  2. 参数总个数k≥v(即参数数量足够多,本次场景k=11、v=5,满足该条件)

通用计算公式为:
最小用例数 = v * (v-1)^(t-1)
其中t为组合覆盖强度。代入本次场景验证:

  • t=2时:5*(5-1)^(2-1) = 5*4 = 20,和书中结果一致
  • t=3时:5*(5-1)^(3-1) = 5*4*4 = 80,和书中结果一致

注意:这个公式算出来的是可以实际生成有效用例集的最小下界,前提是参数间没有取值冲突约束、所有参数取值数一致、且参数总个数不少于单参数的取值数。如果场景不满足这些前提,最小用例数需要结合实际情况调整,不能直接硬套公式。

内容的提问来源于stack exchange,提问作者venkysmarty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:33:13