错误跟踪
通过跟踪错误和缺陷来改进软件测试
查看解决方案
Working Late at Night in the Office: Businesswoman Uses Desktop Computer, Analyzing, Using Documents, Solving Problems, Finishing Important Project. Diligent Ambitious Young Worker. Side View
什么是错误跟踪?

错误跟踪是在软件测试期间记录和监控错误的过程。 错误跟踪也称为“缺陷跟踪”或“问题跟踪”。 大型系统可能存在成百上千个缺陷。 必须对各个缺陷进行评估、监控和优先级排序,以便进行调试。 在某些情况下,可能需要长时间跟踪错误。

Tutorials Point 说道:“由于复杂的业务关键系统往往存在数百个缺陷,因此缺陷跟踪是软件工程中的一个重要过程。” “其中一个挑战是对这些缺陷进行管理、评估和优先级排序。 缺陷的数量在一段时间内会成倍增加,为了有效地管理这些缺陷,可以使用缺陷跟踪系统来简化工作。” 1

错误跟踪如何运作

当应用程序或程序无法按照设计的方式运行时,就会出现软件错误。 大多数错误都是系统架构师、设计人员或开发人员所犯的错误。 测试团队使用错误跟踪系统来监控和报告在开发和测试应用程序期间发生的错误。

维基百科中提到: “错误跟踪系统的一个主要组件是用于记录已知错误相关事实的数据库。” “事实可能包括特定错误的报告时间、严重性、不正确的程序行为以及有关如何重现该错误的详细信息,还包括报告该错误的用户身份以及可以修复该错误的程序员。” 2

在整个生命周期中,单个缺陷可能会经历多个阶段或状态。 其中包括:

  • 活动:正在调查中
  • 测试:已修复并为测试做好准备
  • 已验证:已通过质量保证 (QA) 进行重新测试和验证
  • 已关闭:可以在 QA 重新测试后或者在确认它不是缺陷时关闭
  • 已重新打开:未修复并已重新激活 3

将根据优先级和严重性来管理错误。 严重性级别有助于确定问题对产品发布的相对影响。 这些分类的数量可能会有所不同,但它们通常包括以下某种形式:

  • 灾难性:导致软件完全故障或不可恢复的数据丢失。 没有变通方法,而且无法发布产品。
  • 功能受损:可能存在变通方法,但该变通方法的效果并不令人满意。 无法发布软件。
  • 非关键系统发生故障:存在令人满意的合理变通方法。 如果该错误被记录在案,那么可以发布产品。
  • 非常轻微:存在变通方法,或者可以忽略该问题。 它不会影响产品发布。

在大多数情况下,都会在错误跟踪数据库中监控状态和严重性级别。 出色的跟踪平台还会与大型的软件开发和管理系统配合使用:更好地评估错误状态以及对整个生产和时间表的潜在影响。

错误跟踪为何很重要

据估计,软件开发人员在每千行代码中就会产生 100 到 150 个错误。4 根据 IT 软件质量联盟 (CISQ) 的一份报告:“即使这些错误中只有一小部分(比如 10%)比较严重,那么相对较小的应用程序(有 20,000 行代码)将有大约 200 个严重的编码错误。” 5

软件测试对于确定和减少错误至关重要。 有效的 QA 流程可以发现数百甚至数千个缺陷,而测试团队则需要管理所有这些缺陷。 将错误跟踪集成到测试工作流程中可以提高效率,因为它可以帮助测试人员对每个错误的状态进行优先级排序、监控和报告。

敏捷顾问 Yvette Francino 说道:“缺陷跟踪有助于确保实际修复系统中发现的错误。” “跟踪工具不仅提供了一种确保跟进的方法,而且还提供了有价值的指标。 根据所使用的工具,团队可以将缺陷与已更改的代码、测试或其他数据联系起来,以便实现可追溯性或缺陷趋势分析。 如果某个模块漏洞百出,那么可能需要复查并重写该模块。” 6

理想情况下,如果错误比较容易修复并且修复成本非常低,那么应尽快进行测试。 IBM 较早的一项研究发现,与在开发阶段提前解决的错误相比,在生产后或发布后发现的缺陷修复成本可能要高出 15 倍。

许多团队目前都在使用一种称为持续测试的方法。 在这种情况下,在开发的所有阶段(从设计和编码到部署)都会进行质量测试和反馈。 人工智能 (AI) 等现代技术也可以通过在生命周期的早期检测和分析错误来简化测试过程。

应用程序质量与测试

以更快的速度向市场推出日益精密复杂的应用程序,几乎没什么缺陷,且成本更低。

错误跟踪系统的主要功能

质量控制对于开发强大的应用程序至关重要。 使用软件测试、变更管理和错误跟踪工具,团队可以发现缺陷、衡量其范围和影响并解决这些缺陷。

在《哈佛商业评论》中,Nicholas Bowen 概述了管理缺陷的过程。 第一步是分类和优先级排序:“通常,团队会优先考虑以下两种类型的错误:导致系统崩溃的错误以及不太严重但可能普遍存在的错误……接下来,确定每个严重性级别的目标响应时间。 如果使用的是新的质量管理系统,那么最初的重点应该是在数小时或数天内修复最严重的错误。 使用该系统时,您可以收集两个关键指标(即传入错误率和错误修复人员效率)的相关数据,并根据需要调整目标。” 他提到过,组织还需要创建一个系统,以供从 CEO 往下的各级人员都可以查看缺陷以及解决缺陷所需的时间。7

出色的错误跟踪系统可以通过提供能实现缺陷监控和报告以及生命周期可追溯性的单一工作流程来简化此过程。 它应该进一步与其他管理系统链接在一起,以便在软件开发和大型组织内共享可见性和反馈。 以 IBM Rational ClearQuest 为例,它提供了一个用于错误跟踪和报告的集中式平台。 它与其他 IBM 开发和变更管理系统相集成,有助于改善开发团队、运营团队和更广泛的团队之间的沟通和协作。

而且,这有助于找到使用 AI 在开发过程早期检测错误的测试和跟踪系统。 它可以优化团队运行的测试数量和类型,自动执行测试过程,并使用 AI 分析过去的缺陷并防止将来出现这些缺陷。

相关解决方案
IBM Rational ClearQuest

这是一款变更管理软件,有助于提高开发人员的效率,并找到最适合项目和团队的方法、流程和工具。

探索 Rational ClearQuest
软件测试

更快地将测试结果返回到开发阶段。 通过提前修复缺陷来降低风险和成本。

查看测试
DevOps Insights

从常用的持续集成和持续交付工具中获得全面的洞察,从而提高应用程序的速度、质量和可控制性。

探索 DevOps
资源 什么是软件测试?

了解软件测试的类型、优势和演变。

面向开发人员的软件开发

IBM Developer 提供了一些可帮助开发人员构建和维护软件组件的工具。

持续测试的基本指南

了解集成的持续测试如何加速应用程序开发。