📜  边值分析——三角问题

📅  最后修改于: 2022-05-13 01:57:00.140000             🧑  作者: Mango

边值分析——三角问题

边界值分析 (BVA)是一种黑盒软件测试技术,其中使用边界值设计测试用例。 BVA 基于单一故障假设,也称为关键故障假设,它指出故障很少是两个或多个同时发生的故障的产物。因此,在为 BVA 设计测试用例时,我们将除一个变量外的所有变量保持为标称值,并允许其余变量取极值。

BVA 的测试用例设计:
在首先为 BVA 设计测试用例时,我们确定问题中输入变量的数量。对于每个输入变量,我们然后确定它可以取的值的范围。然后我们确定每个输入变量的极值和标称值。

考虑一个输入变量 t 取值在 [l, r] 范围内。t 的极值是 -

t = l
t = l+1
t = r-1
t = r 

变量的标称值可以是 (l, r) 范围内的任何值。
在大多数 BVA 实现中,它被视为范围 (r+l)/2 的中间值。
右图显示了二变量问题分析的边界值的名义值和极值。

在单一故障假设下,对于有 n 个输入的问题,BVA 中的测试用例总数为 4n+1。
4n 个案例对应于测试案例,每个变量的四个极值使另一个 n-1 变量保持在标称值。另一种情况是所有变量都保持在标称值。

使用 BVA 进行测试用例设计的常见问题之一是下面讨论的三角形问题-

三角形问题接受三个整数 - a, b, c 作为三角形的三个边。我们还将三角形边的范围定义为 [l, r],其中 l>0。它返回由 a、b、c 组成的三角形的类型(不等腰、等腰、等边、非三角形)。

对于 a、b、c 形成三角形,应满足以下条件——

a < b+c
b < a+c
c < a+b 

如果违反这些条件中的任何一个,则输出不是三角形。

  • 对于等边三角形,所有边都相等。
  • 对于等腰三角形,正好有一对边相等。
  • 对于不等边三角形,所有边都是不同的。

下表显示了三角形问题的测试用例设计。范围值 [l, r] 取为 [1, 100],标称值取为 50。

总的测试用例是,

4n+1 = 4*3+1 = 13 
Test Case IDabcExpected Output
T115050Isosceles
T225050Isosceles
T3995050Isosceles
T41005050Not a Triangle
T5505050Equilateral
T650150Isosceles
T750250Isosceles
T8509950Isosceles
T95010050Not a Triangle
T1050501Isosceles
T1150502Isosceles
T12505099Isosceles
T135050100Not a Triangle