个性化阅读
专注于IT技术分析

分支覆盖率测试是什么?

本文概述

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

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

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

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

分支覆盖

如何计算分行覆盖率?

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

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

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

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, 然后转到下一个条件。如果第二个条件为真, 则打印”小”。

代码结构的控制流程图

分支覆盖

在上图中, 描述了代码的控制流程图。在通过”是”决策的第一种情况下, 路径为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

赞(0) 打赏
未经允许不得转载:srcmini » 分支覆盖率测试是什么?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏