语句覆盖测试

2025年3月17日 | 阅读 3 分钟

语句覆盖是应用最广泛的软件测试方法之一。 它属于白盒测试。

语句覆盖技术用于设计白盒测试用例。 此技术涉及至少执行一次源代码的所有语句。 它用于计算源代码中已执行的语句总数,占源代码中存在的语句总数的比例。

语句覆盖导出了白盒测试过程中的测试用例场景,该场景基于代码的结构。

Statement Coverage

在白盒测试中,测试人员的重点在于内部源代码的工作方式以及代码的流程图或流程图。

通常,在内部源代码中,有各种各样的元素,例如运算符、方法、数组、循环、控制语句、异常处理程序等。 基于给程序的输入,某些代码语句被执行,而某些代码语句可能不被执行。 语句覆盖技术的目的是覆盖代码中所有可能的执行语句和路径线。

让我们通过一个例子来了解计算语句覆盖率的过程

在这里,我们采用源代码来创建两种不同的场景,根据输入值来检查每种场景的语句覆盖率百分比。

源代码结构

  • 获取两个值的输入,例如 a=0 和 b=1。
  • 求这两个值的和。
  • 如果总和大于 0,则打印“这是一个积极的结果”。
  • 如果总和小于 0,则打印“这是一个消极的结果”。

因此,这是程序的基本结构,也是它将要完成的任务。

现在,让我们看看两种不同的场景以及给定源代码的语句覆盖率百分比的计算。

场景 1
如果 a = 5,b = 4

在场景 1 中,我们可以看到总和的值将为 9,大于 0,并且根据条件,结果将为“这是一个积极的结果。” 黄色突出显示的语句是此场景的已执行语句。

要计算第一种场景的语句覆盖率,请取语句总数(即 7)和已用语句数(即 5)。

Statement Coverage link
Statement Coverage link

同样,在场景 2 中,

场景 2
如果 A = -2,B = -7

在场景 2 中,我们可以看到总和的值将为 -9,小于 0,并且根据条件,结果将为“这是一个消极的结果。” 黄色突出显示的语句是此场景的已执行语句。

要计算第一种场景的语句覆盖率,请取语句总数(即 7)和已用语句数(即 6)。

语句总数 = 7
已执行的语句数 = 6

Statement Coverage link
Statement Coverage link

但是,我们可以看到所有语句都在两种场景中被覆盖,我们可以认为总体语句覆盖率是 100%。

Statement Coverage link

因此,语句覆盖技术涵盖了无效代码、未使用的代码和分支。


下一个主题决策覆盖测试