《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 网络 「张健欣」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

作者 | Eugene Stepnov

译者 | 张健欣

策划 | Tina

在如今的在线世界,几乎所有的公司都面临它们产品中的 bugs,并且考虑如何管理这些 bugs。应该使用哪个工具?如何搭建 bug 跟踪流程?在本文中,我们将详细探讨这些问题。

Bug 跟踪流程

我们先来定义一下什么是 bug 跟踪(或者 bug 跟踪流程)。Bug 跟踪是报告、安排优先级以及处理 bugs 和问题的过程。它听起来不怎么有趣,但是如果想要提供良好的服务,除了建立一个 bug 跟踪和修复流程,别无它途。

当你意识到需要在你的公司中集成一个 bug 跟踪流程时,你需要实现一个特定的工作流。

什么是 bug 跟踪工作流

那么,你从哪开始呢?

例如,你可以从实现 内部 bug 报告 政策开始。在发布任何新的或更新的软件之前,它要通过一个内部测试阶段。你的 QA 或软件开发人员能够手动测试应用程序来发现 bugs。

另外一个途径是从你的用户那里知道 bugs——这是外部 bug 报告。对于这种类型的报告,你可以使用不同的工具。

好的:你已经建立了 bug 报告来源。现在你需要跟踪它们。

跟踪 bugs 最简单的方法是一个基本的电子表格。你可以跟踪 bug 相关信息并解决它们。如果这个表格变得很大,那么你就会奔溃。因此,你需要使用特定的 bug 跟踪工具。Bug 跟踪软件不仅仅是一个数据库。它还是一个工具,能让你团队中的每一个人都看到 bug,从而让他们在正确的时间处理正确的 bug。

下一步是搭建一个 bug 跟踪漏斗。其基本安装遵循如下规则:

  • 新 Bug
  • 拒绝或确认?
  • 安排优先级并分配
  • 修复中
  • 测试
  • 测试中
  • 修复完成

每一步都由你需要执行的具体动作以及涉及的具体人员组成。例如,为了修复一个问题,你需要复现它,而一个软件开发人员参与其中。我们不会深入讨论这个问题,因为本文的主题不同。

另外一种可选的工作流方案如下:

  • 捕捉——捕捉 bugs 和问题
  • 报告——报告 bug
  • 分配——找出负责这个问题的人
  • 安排优先级——团队将优先处理这个问题
  • 解决——真正找到如何修复这个 bug 的方法

一份好的 bug 报告

我们再来看看一份 bug 报告中需要包含哪些内容。这将有助于我们评估 bug 跟踪工具。

优秀的 bug 跟踪软件会给你很大的灵活性,包含尽可能多的 bug 相关的的信息,从而安排优先级并修复它。这意味着你需要包含以下信息选项:

  • 发生了什么。屏幕截图、屏幕记录或工作流程都会非常有用;
  • 问题的时间和日期;
  • 严重程度;
  • 复现细节;
  • bug 状态;
  • bug 负责人

什么是 bug 跟踪工具

那么什么是一个 bug 跟踪工具呢?简而言之:bug 跟踪系统有一套能够帮助有效解决和管理问题的功能。

此外,bug 跟踪软件提供了已经发现的 bug 记录和已知的 bug 信息。这包括 bug 报告时间、异常行为描述和如何复现等有用的细节。

Bug 跟踪功能

现在让我们深入谈论一个好的 bug 跟踪工具需要包含的核心功能:

  • 工作流;
  • Bug 历史记录;
  • 分析面板;
  • Bug 分配;
  • Bug 优先级和严重程度标签;
  • 评论;
  • 与其它工具的集成;
  • 通知,至少通过邮件;
  • 探索报告;
  • 存储与获取;
  • 问题状态;
  • 高级搜索功能。

选择 Bug 跟踪软件应该考虑哪些因素

在选择一个工具之前,你应该考虑如下因素:

  • 支持质量;
  • 价格;
  • 学习曲线;
  • 与其它工具的集成数量;
  • 性能;
  • 公司上市时间。

这里有一些我们挑选的用于 bug 跟踪的顶级工具。

Bug herd

图片来源:https://bugherd.com/

概述

BugHerd 是一个基于 Web 的问题跟踪项目管理工具。这个工具能够捕捉问题的屏幕截图,其中包括正在注释的确切的 HTML 元素。它使你的团队和客户能够报告 bugs 和管理所有的沟通,以便直接在你的站点上解决这些问题。

核心功能

  • 这个工具捕捉诸如浏览器、CSS 选择器数据、操作系统以及屏幕截图等信息。这些都是你修复 bugs 所需的信息;
  • 看板式任务板,以便进行更好的管理;
  • 易于报告 bug;
  • 数据以不同格式导出;
  • 浏览器扩展;
  • 问题的文件附件;
  • 实时讨论。

集成

BugHerd 已经与 Slack、Github 和 Basecamp 集成。使用 Zapier,你可以将它与几乎任何工具集成。

价格

BugHerd 的价格为 5 个用户每月 39 美元起。它们为年度计划提供了 20% 的折扣和 14 天免费试用,不需要信用卡。如果你的团队有 25 个以上用户,也有一些定制计划。

优点

几乎任何用户都可以报告你的应用程序或网站的 bug。

缺点

它不是管理 bug 报告的最佳工具。

总结

总之,Bugherd 的最大好处是它的视觉简洁性和易用性,即使对于非技术人员来说也是如此。但是它不是一个好的工具来管理并分配问题给你的团队。

Bugzilla

图片来源:https://www.bugzilla.org/

概述

Bugzilla 是一个流行的开源 bug 跟踪工具,被很多机构广泛采用,由 Mozilla 创建。它为开发和测试团队提供了一个系统来跟踪软件开发、应用程序开发和部署中的 bug 修复和代码变更。

核心功能

  • 邮件通知;
  • 报告和图表;
  • bugs 列表可以生成为不同格式;
  • 高级查询;
  • 内部时间跟踪;
  • 重复问题自动检测。

集成

与源代码管理工具有集成,例如 Github。

价格

免费使用:Bugzilla 是开源的。

优点

  • 开源
  • 非常简单的用户界面
  • 优化了数据库结构,以便更好地执行
  • 高级查询
  • 高度可定制的工作流
  • 由 Mozilla 基金会积极维护和更新

缺点

  • 过时的设计;
  • 缺乏定制化;
  • 陡峭的学习曲线。

总结

Bugzilla 是最知名的 bug 跟踪工具之一,功能丰富。此外,它还是免费的,但是也有一些小毛病,例如过时的用户界面和陡峭的学习曲线。我们认为它对于小型和中型团队来说是最好的工具之一。

MantisBT

图片来源:https://www.mantisbt.org/

概述

MantisBT 是一个开源问题跟踪器。这个易于使用的工具是 Web 应用程序形式,但也有一个移动版本。MantisBT 是用 PHP 构建的,兼容 MySQL 和 PostgreSQL 数据库。

核心功能

  • 邮件通知;
  • 源代码管理集成;
  • 时间跟踪管理;
  • 自定义字段。

集成

没有与现成的工具集成。

价格

有一个免费的计划。如果你想要托管的话,有一个收费计划从每个用户每月 4.95 美元起。

优点

  • 插件库,丰富核心功能;
  • 开源且免费;
  • 对于用户数、问题数和项目数没有限制。

缺点

  • 过时的用户界面;
  • 有点儿复杂的接口——很难设置 bug 跟踪过程;
  • 定制化不是很友好;
  • 普通用户需要一些培训。

总结

我们 Flatlogic 认为它对于有经验的工程师来说是最好的工具之一。

Debugme

图片来源:https://debugme.eu/

概览

DeBugMe 是一个可视化反馈工具,有一个内置的 bug 跟踪解决方案。这个工具和 Bugherd 很相似。使用 Debugme,用户可以轻易地通过绘画、高亮、加黑特定区域或者打一个钉子来为页面添加注释。

核心功能

  • 自动记录关于操作系统、分辨率、浏览器版本、插件等重要信息;
  • 通过评论交流;
  • 通过邮件通知;
  • Bug 报告管理。

集成

与以下工具原生集成:Trello、Redmine、Jira、Gmai、Pivotal Tracker、Teamwork、Visual Studio Online、Outlook 和 Yahoo。你可以通过 Zapier 与其它工具同步。

价格

DebugMe 的价格为 10 个用户每月 8 美元起。

还有一个针对 2 个用户的免费计划。

优点

  • 广泛的集成;
  • 相当灵活的定价;
  • 适合小型团队的基础报表系统。

缺点

另一方面,这个报表工具不是很适合大型项目。

总结

就提供可视化反馈能力而言,DebugMe 是 Bugherd 的一个很好的替代方案。但是对于复杂项目管理来说,它不是一个很好的工具。

Donedone

图片来源:https://www.donedone.com/

概览

DoneDone 是一个 bug 跟踪器,给你的团队提供了一个简单的方式来跟踪 bugs 并有效修复它们。DoneDone 是一个 SaaS 服务:不需要安装。DoneDone 使得用户可以使用发布的构建来一键测试问题。

核心功能

  • 由外部用户创建任务;
  • 来自各种源头的通知;
  • 自定义工作流和状态;
  • 根据优先级、截止日期、状态、任务名、被分配人等对 bugs 进行分类。

集成

DoneDone 有一个移动应用程序,如果你想要自定义集成的话,它预置集成了 Slack、Glip、Harvest、Github 等其它应用程序。

价格

DoneDone 的价格是每个用户每月 5 美元起。它们为年度计划提供了 20% 的折扣。

优点

  • 大量有用的集成;
  • 简单时尚的用户界面;
  • 有用的面板;
  • 项目管理能力;
  • API 文档。

缺点

不太适合大型项目。

总结

DoneDone 对于初创企业、小型和中型规模的公司来说是一个很好的工具,来解决客户反馈和问题。它有灵活的定价和良好的接口,因此不需要太多时间来学习这个工具。

Marker.io

图片来源:https://marker.io/

概览

Marker.io 是一个现代风格的问题管理工具,允许你从客户和团队成员那里收集可视化反馈,并直接将它报告到你现有的项目管理工具。Marker.io 可以很快实施;你只需要复制粘贴一行代码到你的应用程序。

核心功能

  • 问题记录有一个反馈按钮而不需要离开网站;
  • 用户可以使用箭头可视化地标记问题;
  • 带反馈的弹出窗口;
  • 使用 Browserstack 进行跨设备测试。

集成

预置集成有 Trello、Asana、Jira、GitHub、GitLab、Bitbucket、Slack 和 Basecamp。

价格

有 3 个层次的计划,分别为每月 59 美元、99 美元和 199 美元。价格取决于用户个数。

优点

  • 快速的学习曲线;
  • 良好的客户支持;
  • 关于问题的技术性信息。

缺点

  • 定价有点儿陡峭;
  • 不能将一个 bug 分配给一个项目。

总结

如果你已经有了一个现有的项目管理系统,那么 Marker.io 是最好的工具之一。它非常适合任意规模的已经很好地使用了 Trello、Asana、Jira、GitHub、GitLab 和 Slack 的团队。

Jira

图片来源:https://www.atlassian.com/software/jira

概览

JIRA 提供了记录、报告、工作流、代码集成、计划和 wiki 等功能。Jira 最初是用来跟踪和管理软件开发中的 bugs。其中一些关键功能包括捕捉使用 Jira 软件的软件项目中任何地方的 bugs。一旦检测到一个 bug,你可以创建一个 issue 并添加所有相关的细节,例如描述、严重等级、截图、版本等。

核心功能

  • 报表生成;
  • 移动集成;
  • 支持敏捷项目;
  • 服务台;
  • 自定义工作流;
  • 强大的 API;
  • Jira 查询语言(JQL)用于高级查询、高级报告和自定义面板。

集成

这个工具直接与代码开发环境集成,非常适合开发人员。你还可以利用强大的 API 构建许多自定义集成。

价格

Jira 的免费计划允许 10 个用户。它有 2 个付费计划,每个用户每月 7 美元起。对于开源项目也有一个免费选项。对于 100 个以上的用户,你需要使用 Atlassian 的计算器。

优点

  • 可定制的工作流;
  • Attlassian 插件市场;
  • 有高级搜索功能的强大的 bug 跟踪器;
  • 强大的报表工具。

缺点

  • 对于小型到中型团队偏贵;
  • 复杂的配置和故障排除;
  • 陡峭的学习曲线;
  • 对于小型团队过重;
  • 非常占用资源。

总结

JIRA 对于中型和大型团队是最好的工具:凭借其定制化能力,它可以适应任何工作流。插件市场也有助于解决各种问题。然而,Jira 需要一个有经验的管理员或者一些稍微正式的培训。对于小型团队来说,JIRA 绝对是过重了。

Bughost

图片来源:http://www.bughost.com/

概览

BugHost 是市场上最古老最成熟的 bug 跟踪系统之一。这个系统既简单又可靠:这就解释了为什么它的客户有 Eriksson、Chevron、Midway 等等。

核心功能

  • 一次性更新多个 bug;
  • 记录的缺陷数不限;
  • Bug 链接;
  • 客户直接向你的项目提交 bugs;
  • 导出功能和文件附件。

集成

这个工具没有任何原生集成和 API。

价格

这个公司为客户提供了 10 个计划,每月从 10 美元到 1000 美元。价格取决于项目数和用户数。

优点

  • 易于管理 bugs;
  • 可负担的价格;
  • 具有良好支持的成熟工具。

缺点

  • 过时的接口;
  • 性能慢;
  • 需要安装许可。

总结

总体上,如果你想要试试 bug 跟踪,这是一个挺好的工具,但是过时的网站和接口在 2020 年不是一个很好的选择。

Zoho bugtracker

图片来源:https://www.zoho.com/bugtracker/

概要

如果你寻求对于未解决的问题也完全可见,那么 Zoho 项目的问题跟踪模块,Zoho Bug Tracker 是一个不错的在线工具。用户可以定义一个循环,根据阶段管理问题。它们还可以自动提醒和通知,以便团队成员知道哪些问题必须查看。

Zoho Bug Tracker 是任务管理软件 Zoho Project 的一个模块。它是一个在线工具,能让你创建项目、里程碑、任务、bugs、报告、文档等等。这个 bug 跟踪模块本身具有一般寻找的所有需要的功能。这个产品是商业性的,但不是很贵。

核心功能

  • 灵活的工作流;
  • 问题划分到不同的类别;
  • 时间和项目管理;
  • 时间表;
  • 通知和新闻流。

集成

Zoho Bug Tracker 预置与许多第三方工具进行了集成:Crashlytics、Zapier、Dropbox、Box、GitHub、Bitbucket、Jira、OneDrive、Google Drive。它还与 Zoho 应用程序同步。

价格

Zoho Bug Traker 的价格从每个用户每月 3 美元起。它们还提供了一个免费版本。

优点

  • 大量集成;
  • 时尚易用的用户界面;
  • bug 分类。

缺点

  • 缺少定制化;
  • 对于复杂项目不是一个很好的工具;
  • 计划数不是无限的。

总结

如果你寻求对于不确定的问题也完全可见,那么 Zoho Bugtracker 模块是一个非常不错的在线工具。

Backlog

图片来源:https://backlog.com/

概览

Backlog 是一个在线时尚的 bug 跟踪和项目管理软件。任何人都可以很轻松地用它报告 bugs,具有问题的更新、评论和状态变更的完整历史记录。

核心功能

  • 甘特图和燃尽图;
  • Wikis 和观察名单;
  • 一般查询和高级查询功能;
  • 问题更新和状态变更的完整历史记录;
  • 内置 Git 和 SVN。

集成

Backlog 预置集成了 Typetalk、Cacoo、Redmine、Jira Importer、iCal、email 和 Google Sheets 以及其它许多工具。还拥有强大的 API 来构建定制化集成。

价格

其价格从每月 35 美元起,支持多达 30 个用户、5 个项目和 1GB 存储。

优点

  • 免费版本;
  • Wiki;
  • 大量集成;
  • 良好的用户界面。

缺点

对于高级用户太简单了,因此不适合具有复杂流程的大型项目。

总结

Backlog 是功能最丰富的跟踪工具之一。它结合了项目管理功能和问题跟踪功能。既可以作为一个自托管的解决方案,也可以作为一个 SaaS 服务,它比较适合小型和中型团队。

Redmine

图片来源:https://www.redmine.org/

概览

Redmine 是一个开源的问题跟踪系统,集成了 SCM(Source Code Management,源码管理)系统。它还提供了其它项目管理相关的工具,例如时间跟踪、wikis、日历等等。

核心功能

  • 甘特图和日历;
  • 文件管理;
  • 支持多个数据库;
  • 灵活的基于角色的访问控制;
  • 多语言支持;
  • 可以同时处理多个项目;
  • 邮件通知。

集成

它集成了 SCM 框架。

价格

Redmine 是免费使用的开源工具。

优点

  • 开源;
  • 免费使用;
  • 适合敏捷项目;
  • 良好的定制化。

缺点

  • 缺乏支持;
  • 过时的用户界面;
  • 性能问题。

总结

对于热爱开源、定制化和免费产品的团队来说,这是一个非常棒的工具。

结论

如果你还在使用电子表格方法来进行 bug 跟踪,那么是时候改变了。使用一个 bug 跟踪工具会提高整体效率。在本文中,我们已经向你展示了一些能帮你提高效率的最佳工具。除了这些工具,一些软件公司拥有他们自己的内部 bug 跟踪系统,针对他们的项目构建和使用。我希望这篇文章能够帮你了解更多问题跟踪相关的信息,并且有助于你决定是否需要将它集成到你的流程和公司。

作者介绍

Eugene Stepnov 集成主管 / 产品经理

延伸阅读

https://blog.flatlogic.com/top-12-bug-tracking-tools/

文章目录
  1. 1. Bug 跟踪流程
  2. 2. 什么是 bug 跟踪工作流
  3. 3. 一份好的 bug 报告
  4. 4. 什么是 bug 跟踪工具
  5. 5. Bug 跟踪功能
  6. 6. 选择 Bug 跟踪软件应该考虑哪些因素
  7. 7. Bug herd
  8. 8. Bugzilla
  9. 9. MantisBT
  10. 10. Debugme
  11. 11. Donedone
  12. 12. Marker.io
  13. 13. Jira
  14. 14. Bughost
  15. 15. Zoho bugtracker
  16. 16. Backlog
  17. 17. Redmine