决策覆盖技术属于白盒测试,它为布尔值提供决策覆盖率。此技术报告布尔表达式的真假结果。每当语句中存在两个或多个结果的可能性时,例如
do while 语句、if 语句和 case 语句(控制流语句),它被视为决策点,因为有两个结果是真或假。
通常,决策点有两个决策值,一个为真,另一个为假,这就是为什么大多数时候结果总数为两个。决策覆盖率的百分比可以通过将行使结果的数量除以结果总数并乘以
100 来找到。
在这种技术中,很难获得100%的覆盖率,因为有时表达式会变得复杂。因此,有几种不同的方法来报告决策覆盖率。所有这些方法都涵盖了最重要的组合,并且与决策覆盖率非常相似。这些方法的好处是增强了控制流的灵敏度。
Test
(int a)
{
If(a>4)
a=a*3
Print (a)
}
|
Test
(int a=7)
{ if (a>4)
a=a*3
print (a)
}
|
Decision
Coverage = ½*100 (Only "True"
is exercised)
=100/2
= 50
Decision Coverage is 50%
|
Test
(int a=3)
{ if (a>4)
a=a*3
print (a)
}
|
=
½*100 (Only "False" is exercised)
<br>
=100/2
= 50
Decision Coverage = 50%
|