覆盖率80%是针对行吗?

不是的,覆盖率80%通常针对的是行覆盖率,但也可以用来衡量其他类型的覆盖率。在编程开发中,覆盖率主要有几种:

  • 行覆盖率:代码中每一行是否被执行过。80%意味着每100行代码中,有80行在测试中运行了。
  • 分支覆盖率:代码中的if-else、switch等分支是否都被测试到。即使行覆盖率100%,一些分支逻辑可能没测全。
  • 函数/方法覆盖率:每个函数是否被调用过。
  • 条件覆盖率:复杂条件(如A && B)中每个子条件(A、B)的真假是否都被覆盖。

常见的做法是优先保证行覆盖率80%以上,但也要关注分支和条件覆盖率,否则容易漏掉关键逻辑。比如一个if语句有两行代码,行覆盖率可能很高,但如果只测了true分支而没测false分支,代码可能仍有缺陷。

所以,行业里提到“覆盖率80%”通常默认是行覆盖率,但理想情况下应该结合多种覆盖率指标,并针对高风险代码(如核心业务逻辑)设定更高标准。