分支覆盖率测试是什么()

本文概述

  • 如何计算分行覆盖率?
  • 代码结构的控制流程图
分支覆盖技术用于覆盖控制流程图的所有分支。它至少覆盖一次决策点每个条件的所有可能结果(对与错)。分支覆盖技术是一种白盒测试技术, 可确保必须执行每个决策点的每个分支。
【分支覆盖率测试是什么()】但是, 分支覆盖技术和决策覆盖技术非常相似, 但是两者之间存在关键的区别。决策覆盖技术覆盖每个决策点的所有分支, 而分支测试覆盖代码的每个决策点的所有分支。
换句话说, 分支覆盖遵循决策点和分支覆盖边缘。可以使用许多不同的度量来查找分支覆盖率和决策覆盖率, 但是一些最基本的度量是:在程序执行期间查找程序的百分比和执行路径。
像决策覆盖率一样, 它也使用控制流程图来计算分支数量。
分支覆盖率测试是什么()

文章图片
如何计算分行覆盖率? 有几种计算分支覆盖率的方法, 但寻路是最常用的方法。
在此方法中, 已执行分支的路径数用于计算分支覆盖范围。分支覆盖技术可以用作决策覆盖的替代方法。在某处, 它没有被定义为单独的技术, 但是它与决策范围不同, 并且对于测试控制流图的所有分支都是必不可少的。
让我们通过一个例子来理解它:
Read XRead YIF X+Y > 100 THENPrint "Large"ENDIFIf X + Y< 100 THENPrint "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-E8Path 2 - A1-B3-5-D7Branch 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

    推荐阅读