软件测试
SDLC模型
测试类型
测试方法
白盒技术
黑盒技术
黑匣子类型
功能类型
非功能性类型
测试用例开发
测试技术
测试管理
缺陷跟踪
测试分类
测试工具

分支覆盖测试

分支覆盖测试

分支覆盖技术用于覆盖控制流图的所有分支。它至少涵盖了决策点的每个条件的所有可能结果(真和假)。分支覆盖技术是一种白盒测试技术,可确保每个决策点的每个分支都必须执行。
然而,分支覆盖技术和决策覆盖技术非常相似,但两者之间有一个关键的区别。决策覆盖技术涵盖每个决策点的所有分支,而分支测试涵盖代码每个决策点的所有分支。
换句话说,分支覆盖遵循决策点和分支覆盖边缘。许多不同的指标可用于查找分支覆盖率和决策覆盖率,但一些最基本的指标是: 在程序执行期间查找程序的百分比和执行路径。
和决策覆盖一样,它也使用控制流图来计算分支数。
Branch Coverage

如何计算Branch Coverage?

Branch Coverage 的计算方法有多种,但最常用的方法是寻路。
在该方法中,执行分支的路径数用于计算分支覆盖率。分支覆盖技术可以用作决策覆盖的替代方法。在某处,它没有被定义为一种单独的技术,但它不同于决策覆盖,并且对于测试控制流图的所有分支必不可少。
让我们通过一个例子来理解它:
Read X
Read Y
if X+Y > 100 THEN
Print "Large"
ENDIF
if X + Y<100 THEN
Print "Small"
ENDIF
    
这是我们采用两个变量 X 和 Y 以及两个条件的基本代码结构。如果第一个条件为真,则打印"大",如果为假,则转到下一个条件。如果第二个条件为真,则打印"Small"。

代码结构控制流图

Branch Coverage
在上图中,描绘了代码的控制流图。在第一种情况下遍历"是"决策,路径为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
    
案例 覆盖的分支 路径 分支机构覆盖
1、2、4、5、6、8 A1-B2-C4-D6-E8 2
没有 3,7 A1-B3-5-D7
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4