澄清"完整路径覆盖"的含义

  • 本文关键字:quot 覆盖 澄清 路径 testing
  • 更新时间 :
  • 英文 :


在课堂上,我们得到了这个静态方法,我们被要求测试。该方法应该(但并不总是(返回作为输入给出的相同整数值。

static int identity(int x) {
if (20 <= x && x <= 30) {
x /= 2;
}
if (5 <= x && x <= 15) {
x *= 2;
}
return x;
}

该问题要求我们创建具有"完整路径覆盖"的最小测试集。由于有两个条件语句,因此您希望生成 2^n 个测试,在本例中为 4。但是,不可能创建第一个条件为真而第二个条件为假的测试。这是否意味着具有"完整路径覆盖"的最小测试数为 3?

从测试人员的 POV 中,我会查看您范围的边缘以确定您的测试覆盖率。您不想只确保执行 if 语句 - 您希望检查范围的边界以及范围内的一个输入。

鉴于此,我将测试以下输入并期望以下输出:

| input | output |
| 19    | 19     | (just outside first boundary minimum)
| 20    | 20     | (just inside first boundary minimum)
| 24    | 24     | (value within the range)
| 30    | 30     | (just inside first boundary maximum)
| 31    | 31     | (just outside first boundary maximum)
| 4     | 4      | (just outside second boundary minimum)
| 5     | 10     | (just inside second boundary minimum)
| 10    | 20     | (value within the range)
| 15    | 30     | (just inside second boundary maximum)
| 16    | 16     | (just outside second boundary maximum)

如果你想阅读更多,谷歌边界测试。

最新更新