主页 topics 什么是错误跟踪? Bug 跟踪
使用 IBM 解决方案跟踪错误 订阅有关云计算的最新消息
 包含电脑显示器、服务器、云朵、点的组合拼贴插图
什么是错误跟踪?

错误跟踪是在软件测试期间记录和监控错误或故障的过程。它也称为缺陷跟踪或问题跟踪。

大型系统可能会有成百上千或成千上万个缺陷。每个缺陷都需要进行评估、监控和优先排序以进行调试。有时可能需要长期跟踪错误。

“缺陷跟踪是软件工程中的一个重要过程,因为复杂的业务关键系统可能会存在数百个缺陷,”Tutorials Point 表示。“其中一个具有挑战性的因素是管理、评估这些缺陷并确定其优先级。缺陷的数量会随着时间的推移成倍增加,为了有效进行管理,使用缺陷跟踪系统可以使工作变得更加简单。

利用 DaaS 实现工作场所灵活性

了解桌面即服务 (DaaS) 如何帮助企业实现与本地部署应用程序相同水平的性能和安全性。

相关内容

注册并获取有关混合云的指南

错误跟踪的工作原理

当应用程序或程序未按照其应有的方式运行时,就会出现软件错误。大多数错误或失误都是由系统架构师、设计人员或开发人员造成。测试团队使用错误跟踪来监视和报告应用程序开发和测试过程中出现的错误。

“错误跟踪系统的一个重要组成部分是记录已知错误相关实际信息的数据库,”维基百科表示。“实际信息可能包括报告错误的时间、错误的严重性、错误的程序行为和重现错误的详细信息,以及报告此错误的人员和可能正在修复此错误的任何程序员。”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 开发运维
平台工程服务

平台工程是 DevOps™ 的下一步。利用开发人员经验加快上市时间 (TTM)。

深入了解咨询平台工程
资源 什么是软件测试?

了解软件测试的类型、好处和发展。

面向开发人员的软件开发

IBM Developer 提供工具以帮助开发人员构建和维护软件组件。

持续测试基本指南

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

采取后续步骤

您准备好实施 DevOps 了吗?要按照市场需求的速度交付软件和服务,团队必须快速迭代和试验,并在反馈和数据的驱动下频繁部署新版本。最成功的云开发团队通过现代 DevOps 文化和实践,采用云原生架构,并使用一流的工具组装工具链,实现了生产力的大幅提升。

探索 DevOps 解决方案 免费试用