当涉及到软件质量时,我们希望尽可能多地以人工测试代码,实际上,对于每个测试周期,重要的是要考虑多种策略来衡量测试覆盖率,并将系统部署到位。 测试覆盖率是测试质量的度量之一,它告诉我们被测试的应用程序有多少已经过测试。你可以把它想象成打扫房子的地板。想象一下,如果我的清扫范围标准只包括清扫卧室。按照这个标准,如果我打扫了100%的卧室,那是否意味着整个房子是干净的?不,因为还有厨房,餐厅,浴室…你懂的!因此,必须始终小心测试覆盖率,认识到有时它有局限性。 测试覆盖率用于定义软件的某些部分,以便用测试覆盖它们。它还告诉我们何时进行了充分的测试,让我们知道还需要测试什么(从而扩大覆盖范围),并帮助我们定量地了解测试的范围。这是一个很好的衡量标准,即使有 100% 的测试覆盖率,我们也不能保证我们的应用程序 100% 没有错误。 有很多方法可以考虑测试覆盖率。在这里,我们将检查代码覆盖率、面向数据的覆盖率以及测试人员可以使用的大量其他技术。
代码覆盖率
代码覆盖率是衡量测试覆盖率最常用的指标。它测量测试用例覆盖的行数,报告代码中的行总数和测试执行的行数。本质上,它是测试套件运行时程序源代码的执行程度。代码覆盖率越高,未被发现的bug进入生产的可能性就越小。这种测量也可以分解为不同的层次;不仅包括代码行,还包括分支、逻辑构造函数内部的决策等。