弱健壮边界值分析(Weak Robust BVA)
下面用一步步的推导来说明为什么弱健壮边界值分析(Weak Robust BVA)会产生 4n+14n+14n+1 个测试用例。
一、先回顾普通的边界值分析(Weak Normal BVA)
- 目标:对每个变量只取「最小值(Min)」、「最大值(Max)」和一个「一般值(Nominal)」(通常是区间中间值)。
- 用例组成:
对于第 iii 个变量,取两端边界:Min 和 Max,各贡献 2 个用例;
其余 n−1n-1n−1 个变量都取 Nominal 值;
最后再加一个「所有变量都取 Nominal」的用例。
- 数量计算:
2n⏟每个变量各取一次 Min/Max,其他变量取 Nominal + 1 = 2n+1 \underbrace{2n}_{\substack{\text{每个变量各取一次 Min/Max,}\\\text{其他变量取 Nominal}}} \;+\;1 \;=\;2n + 1 每个变量各取一次 Min/Max,其他变量取 Nominal2n+1=2n+1
二、引入“健壮性”(Robustness)
为了做健壮性测试,需要在每个边界的基础上再加上无效边界(即超出规格的取值):
- 对于每个变量:
有效边界:Min、Max → 2 个值
无效边界:Min–(小于最小)、Max+(大于最大) → 2 个值
- 所谓“弱健壮” 就是在普通 BVA 的基础上,为每个变量额外各加一个无效边界值,而不是对所有组合都做全排列。
三、计算弱健壮边界值分析的用例数
- 普通 BVA 用例:2n+12n + 12n+1
- 额外的无效边界用例:
- 每个变量各有两个无效边界(Min–、Max+),在做测试时:
取一个变量的某个无效边界值,其他 n−1n-1n−1 个变量都取 Nominal
这样对每个变量就有 2 个用例
- 共计 2×n=2n2 \times n = 2n2×n=2n 个
- 合并:
(2n+1) + 2n = 4n+1 (2n + 1) \;+\; 2n \;=\; 4n + 1 (2n+1)+2n=4n+1
四、举例说明
若 n=2n = 2n=2(两个变量 x,yx, yx,y):
- 普通 BVA :
- (x,y)(x,y)(x,y) = {(Min,Nom), (Max,Nom), (Nom,Min), (Nom,Max)} 共 4 个
- 全 Nominal:(Nom,Nom)(Nom,Nom)(Nom,Nom) 1 个
- 合计 2×2+1=52\times2 + 1 = 52×2+1=5 个
- 额外无效边界:
- (Min–,Nom)(Min–, Nom)(Min–,Nom)、(Max+,Nom)(Max+, Nom)(Max+,Nom) → 2 个
- (Nom,Min–)(Nom, Min–)(Nom,Min–)、(Nom,Max+)(Nom, Max+)(Nom,Max+) → 2 个
- 合计 2×2=42 \times 2 = 42×2=4 个
- 总数:5+4=95 + 4 = 95+4=9,即 4×2+1=94\times2 + 1 = 94×2+1=9。
“最坏情况边界值分析”(Worst-Case BVA)
“最坏情况边界值分析”(Worst-Case BVA)中之所以会产生 5n5^n5n 个测试用例,是因为对每个变量都要取五个代表值,然后做全组合。具体推导如下:
- 为每个变量选取 5 个值
- Min(最小边界)
- Min+(最小边界内侧一点)
- Nominal(一般值/中间值)
- Max-(最大边界内侧一点)
- Max(最大边界)
- 全组合
- 共有 nnn 个变量,每个变量都有 5 种取值,测试时要考虑它们的所有可能组合。
- 组合总数=每个变量取值数的乘积=5×5×⋯×55 \times 5 \times \cdots \times 55×5×⋯×5(共 nnn 项)
- 因此,总用例数=5n\displaystyle5^n5n
例子
- 若 n=2n=2n=2(两个变量 x,yx, yx,y),则每个变量取 {Min,Min+,Nom,Max−,Max}\{Min, Min+, Nom, Max-, Max\}{Min,Min+,Nom,Max−,Max} 共 5 个值,
全组合后共 52=255^2 = 2552=25 个测试用例。 - 若 n=3n=3n=3,则有 53=1255^3 = 12553=125 个用例,依此类推。
这样就清楚地说明了:在最坏情况边界值分析里,因为要对每个变量的所有 5 个关键取值做笛卡尔积,所以总用例数是 5n5^n5n。