企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 软件测试中的测试范围 > 原文: [https://www.guru99.com/test-coverage-in-software-testing.html](https://www.guru99.com/test-coverage-in-software-testing.html) ## 什么是测试覆盖率? 测试覆盖率定义为“软件测试”中的一项指标,用于衡量一组测试执行的测试量。 它将包括收集有关在运行测试套件时执行程序的哪些部分的信息,以确定已采用条件语句的分支。 简而言之,它是一种确保测试正在测试您的代码或通过运行测试而执行了多少代码的技术。 在本教程中,您将学习 * [什么是测试覆盖率?](#1) * [什么是测试覆盖率?](#2) * [如何实现测试覆盖率?](#3) * [测试覆盖率的好处](#4) * [代码覆盖率和测试覆盖率之间的主要区别是什么?](#5) * [用于计算测试覆盖率的公式](#6) * [测试覆盖率的示例](#7) * [示例 1:](#8) * [示例 2:](#9) * [的缺点:](#10) ## 什么测试范围? * 查找一组测试用例未实现的需求区域 * 帮助创建其他测试用例以扩大覆盖范围 * 确定测试覆盖率的定量度量,这是质量检查的间接方法 * 识别不会增加覆盖范围的无意义的测试用例 ## 如何实现测试覆盖率? * 可以通过使用静态审阅技术(例如同行审阅,检查和演练)来完成测试覆盖范围 * 通过将临时缺陷转换为可执行的测试用例 * 在代码级别或单元测试级别,可以通过使用自动代码覆盖率或单元测试覆盖率工具来实现测试覆盖率 * 功能测试范围可以通过适当的测试管理工具来完成 ## 测试覆盖率的好处 * 它可以确保测试的质量 * 它可以帮助识别发行或修复过程中实际接触过代码的哪些部分 * 它有助于确定应用程序中未经测试的路径 * 防止[缺陷](/defect-management-process.html)泄漏 * 时间,范围和成本可以控制 * 在项目生命周期的早期阶段预防缺陷 * 它可以确定应用程序中使用的所有决策点和路径,从而使您能够扩大测试范围 * 可以轻松找到单元级别和代码级别的需求,测试用例和缺陷的缺口 ## 代码覆盖率和测试覆盖率之间的主要区别是什么? 代码覆盖率和测试覆盖率是衡量技术,使您可以评估应用程序代码的质量。 以下是这些覆盖方法的展位之间的一些重要区别: | **参数** | **代码覆盖率** | **测试覆盖率** | | 定义 | 在应用程序运行时执行应用程序代码时使用的代码覆盖范围术语。 | 测试范围是指总体测试计划。 | | 目标 | 代码覆盖率指标可以帮助团队监视其自动化测试。 | 测试覆盖范围提供了有关测试应用程序书面编码级别的详细信息。 | | 亚型 | 代码覆盖范围按子类型划分,如语句覆盖范围,条件覆盖范围,分支覆盖范围,Toogle 覆盖范围,FSM 覆盖范围。 | 没有测试覆盖方法的子类型。 | ## 用于计算测试覆盖率的公式 要计算测试覆盖率,您需要遵循以下步骤: **步骤 1)**您要测试的软件质量中的总代码行 **步骤 2)**当前所有测试用例执行的代码行数 现在,您需要找到(X 除以 Y)乘以 100。此计算的结果为测试覆盖率%。 **例如:** 如果系统组件中的代码行数为 500,并且在所有现有测试用例中执行的行数为 50,则您的测试覆盖率是: ``` (50 / 500) * 100 = 10% ``` ## 测试覆盖率示例 ### 示例 1: 例如,如果“刀”是您要测试的项目。 然后,您需要集中精力检查它是否正确切出蔬菜或水果。 但是,还有其他方面需要寻找,使用户能够舒适地使用它。 ### 示例 2: 例如,如果您要检查记事本应用程序。 然后必须检查它的基本功能。 但是,您需要涵盖其他方面,因为记事本应用程序在使用其他应用程序时会做出预期响应,用户可以理解该应用程序的使用,并且在用户尝试执行异常操作时不会崩溃。 ## 缺点: * 测试覆盖率手册中的大多数任务都没有自动工具。 因此,需要花费大量精力来分析需求并创建测试用例。 * 测试覆盖率使您可以对特征进行计数,然后针对多个测试进行度量。 但是,总是存在判断错误的空间。