决策覆盖测试
软件测试大致分为白盒和黑盒测试技术。在白盒测试中,软件的数据结构、算法、逻辑、流程和代码都经过验证。决策覆盖测试是白盒测试的概念之一。它是一种旨在确认程序内所有决策结果均运行良好的技术。它有助于确认所有决策条件至少已执行一次。
什么是软件决策覆盖测试?
软件决策覆盖测试是白盒测试的一部分。它由开发人员进行,以验证程序中的整体决策结果。它仅处理布尔值,即每个布尔表达式的真或假。在某些情况下,如果语句(例如 do while、if 和 case)产生两个或多个结果的概率,则将其称为决策点,因为存在两个结果,要么是假,要么是真。
软件决策覆盖测试借助控制流图或流程图,触及代码中每个布尔条件的所有可能结果。由于决策主要由两个值组成,即真或假,因此在大多数情况下,结果总数为两个。
计算软件决策覆盖率百分比的公式
可以通过将执行的结果总数除以源代码中的决策结果总数,然后乘以一百来计算软件决策覆盖率。
决策覆盖率 = (执行的决策结果总数 / 源代码中的决策结果总数) * 100
很难获得百分之百的覆盖率,因为在某些情况下,决策表达式并不简单。因此,有许多方法来计算决策覆盖率。这些方法涵盖了所有组合,并具有与决策覆盖相似的特征。
示例
让我们以下面的代码片段为例来确定决策覆盖的数量。
Input X and Y Z = X + Y IF Z > 100 THEN PRINT "IT IS COMPLETED" END IF IF X > 50 THEN PRINT "IT IS NOT COMPLETED" END IF END
现在让我们使用第一个测试用例计算决策覆盖率,使用值 X = 60 和 Y = 60。
X = 60 和 Y = 60 的上述代码行的流程图如下所示 −

在上面的流程图中,共有 4 个决策结果,用绿色表示为 1、2、3 和 4。根据使用值 X = 60 和 Y = 60 的第一个测试用例,我们将执行 2 个决策结果,用蓝色表示为 5 和 6。因此根据公式,
决策覆盖率 = (执行的决策结果总数 / 源代码中的决策结果总数) * 100 决策覆盖率 = (2 / 4) * 100 = 50 %。
现在让我们使用第二个测试用例计算决策覆盖率,使用值 X = 40 和 Y = 20。
上面代码行的流程图,其中 X = 40 和 Y = 20 如下所示 −

在上面的流程图中,共有 4 个决策结果,分别用绿色表示为 1、2、3 和 4。根据第一个测试用例使用值 X = 40 和 Y = 20,我们将执行 2 个决策结果,分别用蓝色表示为 5 和 6。因此,根据公式,
决策覆盖率 = (执行的决策结果总数 / 源代码中的决策结果总数) * 100 决策覆盖率 = (2 / 4) * 100 = 50 %。
因此,通过考虑两个测试用例,我们将得到总共 4 个决策结果,总共执行 4(2+2) 个决策结果。因此,根据公式 −,总决策覆盖率
决策覆盖率 = (执行的决策结果总数 / 源代码中的决策结果总数) * 100 决策覆盖率 = (4 / 4) * 100 = 100 %。
通过创建两个测试用例,其值为 X = 60 和 Y = 60,以及 X = 40 和 Y = 20,我们实现了 100% 的决策覆盖率。
结论
至此,我们对软件决策覆盖率测试教程的全面介绍就结束了。我们首先描述了什么是软件决策覆盖率测试、计算软件决策覆盖率百分比的公式以及获取软件决策覆盖率百分比的示例。这使您具备了软件决策覆盖率测试的深入知识。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。