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

本文概述

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

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

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

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

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单元测试覆盖率是衡量软件项目中单元测试对源代码的覆盖程度的度量指标。它表示在单元测试中执行的代码与整个代码库中的可执行代码之间的比例。单元测试覆盖率旨在评估测试用例是否足够全面地覆盖了代码的不同部分,以便发现潜在的错误和问题。 单元测试覆盖率通常以百分比形式表示,可以分为几个不同的度量指标: 1. 语句覆盖率(Statement Coverage):表示在单元测试中执行的代码语句与总代码语句数之间的比例。它衡量了每个语句是否被至少执行一次。 2. 分支覆盖率(Branch Coverage):表示在单元测试中执行的分支与总分支数之间的比例。它关注代码中的条件语句和分支,确保每个分支都被至少执行一次。 3. 条件覆盖率(Condition Coverage):表示在单元测试中执行的条件(例如,布尔表达式)与总条件数之间的比例。它关注每个条件的真假值,并确保每个条件的所有可能情况都被覆盖到。 4. 路径覆盖率(Path Coverage):表示在单元测试中执行的代码路径与总代码路径数之间的比例。它关注代码中的不同路径和执行流程,确保所有可能的执行路径都被覆盖到。 通过衡量单元测试覆盖率,开发团队可以评估测试用例的质量和完整性。较高的覆盖率通常意味着测试用例对代码进行了更全面的测试,从而提高了软件的质量和稳定性。然而,单元测试覆盖率并不是唯一衡量测试质量的指标,还需要考虑测试用例的有效性和边界条件的覆盖等方面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值