软件测试技术什么是分支覆盖,分支覆盖率测试是什么?

2023-05-16

本文概述

分支覆盖技术用于覆盖控制流程图的所有分支。它至少覆盖一次决策点每个条件的所有可能结果(对与错)。分支覆盖技术是一种白盒测试技术, 可确保必须执行每个决策点的每个分支。

但是, 分支覆盖技术和决策覆盖技术非常相似, 但是两者之间存在关键的区别。决策覆盖技术覆盖每个决策点的所有分支, 而分支测试覆盖代码的每个决策点的所有分支。

换句话说, 分支覆盖遵循决策点和分支覆盖边缘。可以使用许多不同的度量来查找分支覆盖率和决策覆盖率, 但是一些最基本的度量是:在程序执行期间查找程序的百分比和执行路径。

像决策覆盖率一样, 它也使用控制流程图来计算分支数量。

72991867baca403947e03c7dd16a95fe.png

如何计算分行覆盖率?

有几种计算分支覆盖率的方法, 但寻路是最常用的方法。

在此方法中, 已执行分支的路径数用于计算分支覆盖范围。分支覆盖技术可以用作决策覆盖的替代方法。在某处, 它没有被定义为单独的技术, 但是它与决策范围不同, 并且对于测试控制流图的所有分支都是必不可少的。

让我们通过一个例子来理解它:

Read X

Read Y

IF X+Y > 100 THEN

Print "Large"

ENDIF

If X + Y<100 THEN

Print "Small"

ENDIF

这是基本的代码结构, 我们采用了两个变量X和Y以及两个条件。如果第一个条件为true, 则打印” Large”, 否则为false, 然后转到下一个条件。如果第二个条件为真, 则打印”小”。

代码结构的控制流程图

5d76c3a096485b86df0c41b4e2f299c9.png

在上图中, 描述了代码的控制流程图。在通过”是”决策的第一种情况下, 路径为A1-B2-C4-D6-E8, 覆盖的边数为1, 2, 4, 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

Case

Covered Branches

Path

分行覆盖

Yes

1, 2, 4, 5, 6, 8

A1-B2-C4-D6-E8

2

No

3, 7

A1-B3-5-D7

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试技术什么是分支覆盖,分支覆盖率测试是什么? 的相关文章

随机推荐