分支覆盖技术用于覆盖控制流图的所有分支。它至少一次涵盖决策点的每个条件的所有可能结果(真和假)。分支覆盖技术是一种白盒测试技术,可确保必须执行每个决策点的每个分支。
在此方法中,执行分支的路径数用于计算分支覆盖率。分支覆盖技术可以用作决策覆盖的替代方法。在某处,它没有被定义为一种单独的技术,但它不同于决策覆盖率,对于测试控制流图的所有分支至关重要。
Read X
Read Y
IF X+Y > 100 THEN
Print "Large"
ENDIF
If X + Y<100 THEN
Print "Small"
ENDIF |
这是基本的代码结构,我们采用两个变量 X 和 Y 以及两个条件。如果第一个条件为真,则打印“大”,如果为假,则转到下一个条件。如果第二个条件为真,则打印“小”。
在上图中,描绘了代码的控制流图。在遍历“是”决策的第一种情况下,路径为A1-B2-C4-D6-E8,覆盖边的数量为
1、2、4、5、6 和 8,但此路径未覆盖边 3 和 7。为了覆盖这些边缘,我们必须遍历“否”决定。在“否”决策的情况下,路径为
A1-B3-5-D7,覆盖边的数量为 3 和 7。因此,通过这两条路径,所有分支都覆盖了。
Path 1 -
A1-B2-C4-D6-E8
Path 2 - A1-B3-5-D7
Branch Coverage (BC) = Number of paths
=2 |