软件测试中的测试覆盖率

什么是测试覆盖范围?

测试覆盖率在软件测试中被定义为度量一组测试执行的测试量的度量,将包括收集有关在运行测试套件时执行程序的哪些部分的信息,以确定采用了条件语句的哪些分支。

简而言之,它是一种测试技术,用于确保正在测试代码,或者通过运行测试执行了多少代码。

在本教程中,将了解

  • 什么是测试覆盖范围?
  • 测试覆盖范围是什么?
  • 如何实现测试覆盖?
  • 测试覆盖的好处
  • 代码覆盖率和测试覆盖率之间的主要区别是什么?
  • 计算测试覆盖率的公式
  • 测试覆盖率示例

测试覆盖范围是什么?

  • 查找一组测试用例未覆盖区域
  • 帮助创建额外的测试用例以增加覆盖率
  • 确定测试覆盖率的定量度量,这是一种间接的质量检查方法
  • 识别不会增加覆盖率的无意义测试用例

如何实现测试覆盖?

  • 测试覆盖可以通过使用静态审查技术(如同行评审)来完成
  • 通过将新缺陷转换为可执行的测试用例
  • 在代码级别或单元测试级别,可以通过自动代码覆盖或单元测试覆盖工具来实现测试覆盖
  • 功能测试覆盖可以在适当的测试管理工具的帮助下完成

测试覆盖的好处

  • 可以保证测试的质量。
  • 可以帮助识别在发布或修复过程中代码
  • 有助于确定应用程序中未测试的路径
  • 防止缺陷泄漏
  • 可以控制时间、范围和成本
  • 在项目生命周期的早期阶段预防缺陷
  • 可以确定应用程序中使用的所有决策点和路径,从而允许增加测试覆盖率
  • 可以很容易地找到单元级别和代码级别的需求、测试用例和缺陷中的差距

代码覆盖率和测试覆盖率之间的区别

代码覆盖率和测试覆盖率是度量技术,允许评估应用程序代码的质量。 以下是这些覆盖方法的之间的一些关键区别:

参数 代码覆盖率 测试覆盖范围
定义 当应用程序在运行时执行应用程序代码时使用的代码覆盖术语。 测试覆盖率是指总体测试计划。
目标 代码覆盖率度量可以帮助团队监控自动化测试。 测试覆盖率提供了有关应用程序的编写代码已测试到的级别的详细信息。
亚型 代码覆盖率分为语句覆盖率、条件覆盖率、分支覆盖率、Toogle覆盖率、FSM覆盖率等子类型。 没有测试覆盖率方法的子类型。

计算测试覆盖率的公式

要计算测试覆盖率,需要执行以下给定步骤:

步骤1) 正在测试的软件质量中的代码总行

步骤2) 所有测试用例当前执行的代码行数

现在,需要计算(X除以Y)乘以100。此计算的结果是测试覆盖率。

例如:

如果系统组件中的代码行数是500,跨所有现有测试用例执行的行数是50,那么测试覆盖率是:

(50 / 500) * 100 = 10%

测试覆盖率示例

示例1:

例如,如果“到”是要测试的项目。然后需要把重点放在检查上,但是,还有其他方面需要寻找,比如用户应该能够轻松地使用它。

示例2:

例如,如果要检查记事本应用程序。但是,需要涵盖其他方面,因为记事本应用程序在使用其他应用程序时会做出预期的响应,用户了解应用程序的用法,而不会在用户尝试做一些不寻常的事情时崩溃,等等。

缺点:

  • 测试覆盖中的大多数任务,因为没有自动化的工具,需求和创建测试用例需要大量的工作。
  • 测试覆盖率允许对功能进行计数,然后对照多个测试进行测量,但还是容易出错。

IT赶路人

专注IT知识分享