点击上方“Java基基”,选择“设为星标”
做积极的人,而不是积极废人!
每天 14:00 更新文章,每天掉亿点点头发...
源码精品专栏
原创 | Java 2021 超神之路,很肝~
中文详细注释的开源项目
RPC 框架 Dubbo 源码解析
网络应用框架 Netty 源码解析
消息中间件 RocketMQ 源码解析
数据库中间件 Sharding-JDBC 和 MyCAT 源码解析
作业调度中间件 Elastic-Job 源码解析
分布式事务中间件 TCC-Transaction 源码解析
Eureka 和 Hystrix 源码解析
Java 并发源码
来源:网络
Bug 跟踪流程
什么是 bug 跟踪工作流
一份好的 bug 报告
什么是 bug 跟踪工具
Bug 跟踪功能
选择 Bug 跟踪软件应该考虑哪些因素
Bug herd
Bugzilla
MantisBT
Debugme
Donedone
Marker.io
Jira
Bughost
Zoho bugtracker
Backlog
Redmine
作者 | Eugene Stepnov
译者 | 张健欣
策划 | Tina
在如今的在线世界,几乎所有的公司都面临它们产品中的 bugs,并且考虑如何管理这些 bugs。应该使用哪个工具?如何搭建 bug 跟踪流程?在本文中,我们将详细探讨这些问题。
我们先来定义一下什么是 bug 跟踪(或者 bug 跟踪流程)。Bug 跟踪是报告、安排优先级以及处理 bugs 和问题的过程。它听起来不怎么有趣,但是如果想要提供良好的服务,除了建立一个 bug 跟踪和修复流程,别无它途。
当你意识到需要在你的公司中集成一个 bug 跟踪流程时,你需要实现一个特定的工作流。
“推荐下自己做的 Spring Boot 的实战项目:
https://github.com/YunaiV/ruoyi-vue-pro
那么,你从哪开始呢?
例如,你可以从实现 内部 bug 报告 政策开始。在发布任何新的或更新的软件之前,它要通过一个内部测试阶段。你的 QA 或软件开发人员能够手动测试应用程序来发现 bugs。
另外一个途径是从你的用户那里知道 bugs——这是外部 bug 报告。对于这种类型的报告,你可以使用不同的工具。
好的:你已经建立了 bug 报告来源。现在你需要跟踪它们。
跟踪 bugs 最简单的方法是一个基本的电子表格。你可以跟踪 bug 相关信息并解决它们。如果这个表格变得很大,那么你就会奔溃。因此,你需要使用特定的 bug 跟踪工具。Bug 跟踪软件不仅仅是一个数据库。它还是一个工具,能让你团队中的每一个人都看到 bug,从而让他们在正确的时间处理正确的 bug。
下一步是搭建一个 bug 跟踪漏斗。其基本安装遵循如下规则:
新 Bug
拒绝或确认?
安排优先级并分配
修复中
测试
测试中
修复完成
每一步都由你需要执行的具体动作以及涉及的具体人员组成。例如,为了修复一个问题,你需要复现它,而一个软件开发人员参与其中。我们不会深入讨论这个问题,因为本文的主题不同。
另外一种可选的工作流方案如下:
捕捉——捕捉 bugs 和问题
报告——报告 bug
分配——找出负责这个问题的人
安排优先级——团队将优先处理这个问题
解决——真正找到如何修复这个 bug 的方法
“推荐下自己做的 Spring Cloud 的实战项目:
https://github.com/YunaiV/onemall
我们再来看看一份 bug 报告中需要包含哪些内容。这将有助于我们评估 bug 跟踪工具。
优秀的 bug 跟踪软件会给你很大的灵活性,包含尽可能多的 bug 相关的的信息,从而安排优先级并修复它。这意味着你需要包含以下信息选项:
发生了什么。屏幕截图、屏幕记录或工作流程都会非常有用;
问题的时间和日期;
严重程度;
复现细节;
bug 状态;
bug 负责人
那么什么是一个 bug 跟踪工具呢?简而言之:bug 跟踪系统有一套能够帮助有效解决和管理问题的功能。
此外,bug 跟踪软件提供了已经发现的 bug 记录和已知的 bug 信息。这包括 bug 报告时间、异常行为描述和如何复现等有用的细节。
现在让我们深入谈论一个好的 bug 跟踪工具需要包含的核心功能:
工作流;
Bug 历史记录;
分析面板;
Bug 分配;
Bug 优先级和严重程度标签;
评论;
与其它工具的集成;
通知,至少通过邮件;
探索报告;
存储与获取;
问题状态;
高级搜索功能。
在选择一个工具之前,你应该考虑如下因素:
支持质量;
价格;
学习曲线;
与其它工具的集成数量;
性能;
公司上市时间。
这里有一些我们挑选的用于 bug 跟踪的顶级工具。
概述
BugHerd 是一个基于 Web 的问题跟踪项目管理工具。这个工具能够捕捉问题的屏幕截图,其中包括正在注释的确切的 HTML 元素。它使你的团队和客户能够报告 bugs 和管理所有的沟通,以便直接在你的站点上解决这些问题。
核心功能
这个工具捕捉诸如浏览器、CSS 选择器数据、操作系统以及屏幕截图等信息。这些都是你修复 bugs 所需的信息;
看板式任务板,以便进行更好的管理;
易于报告 bug;
数据以不同格式导出;
浏览器扩展;
问题的文件附件;
实时讨论。
集成
BugHerd 已经与 Slack、Github 和 Basecamp 集成。使用 Zapier,你可以将它与几乎任何工具集成。
价格
BugHerd 的价格为 5 个用户每月 39 美元起。它们为年度计划提供了 20% 的折扣和 14 天免费试用,不需要信用卡。如果你的团队有 25 个以上用户,也有一些定制计划。
优点
几乎任何用户都可以报告你的应用程序或网站的 bug。
缺点
它不是管理 bug 报告的最佳工具。
总结
总之,Bugherd 的最大好处是它的视觉简洁性和易用性,即使对于非技术人员来说也是如此。但是它不是一个好的工具来管理并分配问题给你的团队。
概述
Bugzilla 是一个流行的开源 bug 跟踪工具,被很多机构广泛采用,由 Mozilla 创建。它为开发和测试团队提供了一个系统来跟踪软件开发、应用程序开发和部署中的 bug 修复和代码变更。
核心功能
邮件通知;
报告和图表;
bugs 列表可以生成为不同格式;
高级查询;
内部时间跟踪;
重复问题自动检测。
集成
与源代码管理工具有集成,例如 Github。
价格
免费使用:Bugzilla 是开源的。
优点
开源
非常简单的用户界面
优化了数据库结构,以便更好地执行
高级查询
高度可定制的工作流
由 Mozilla 基金会积极维护和更新
缺点
过时的设计;
缺乏定制化;
陡峭的学习曲线。
总结
Bugzilla 是最知名的 bug 跟踪工具之一,功能丰富。此外,它还是免费的,但是也有一些小毛病,例如过时的用户界面和陡峭的学习曲线。我们认为它对于小型和中型团队来说是最好的工具之一。
概述
MantisBT 是一个开源问题跟踪器。这个易于使用的工具是 Web 应用程序形式,但也有一个移动版本。MantisBT 是用 PHP 构建的,兼容 MySQL 和 PostgreSQL 数据库。
核心功能
邮件通知;
源代码管理集成;
时间跟踪管理;
自定义字段。
集成
没有与现成的工具集成。
价格
有一个免费的计划。如果你想要托管的话,有一个收费计划从每个用户每月 4.95 美元起。
优点
插件库,丰富核心功能;
开源且免费;
对于用户数、问题数和项目数没有限制。
缺点
过时的用户界面;
有点儿复杂的接口——很难设置 bug 跟踪过程;
定制化不是很友好;
普通用户需要一些培训。
总结
我们 Flatlogic 认为它对于有经验的工程师来说是最好的工具之一。
概览
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 是一个 bug 跟踪器,给你的团队提供了一个简单的方式来跟踪 bugs 并有效修复它们。DoneDone 是一个 SaaS 服务:不需要安装。DoneDone 使得用户可以使用发布的构建来一键测试问题。
核心功能
由外部用户创建任务;
来自各种源头的通知;
自定义工作流和状态;
根据优先级、截止日期、状态、任务名、被分配人等对 bugs 进行分类。
集成
DoneDone 有一个移动应用程序,如果你想要自定义集成的话,它预置集成了 Slack、Glip、Harvest、Github 等其它应用程序。
价格
DoneDone 的价格是每个用户每月 5 美元起。它们为年度计划提供了 20% 的折扣。
优点
大量有用的集成;
简单时尚的用户界面;
有用的面板;
项目管理能力;
API 文档。
缺点
不太适合大型项目。
总结
DoneDone 对于初创企业、小型和中型规模的公司来说是一个很好的工具,来解决客户反馈和问题。它有灵活的定价和良好的接口,因此不需要太多时间来学习这个工具。
概览
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 提供了记录、报告、工作流、代码集成、计划和 wiki 等功能。Jira 最初是用来跟踪和管理软件开发中的 bugs。其中一些关键功能包括捕捉使用 Jira 软件的软件项目中任何地方的 bugs。一旦检测到一个 bug,你可以创建一个 issue 并添加所有相关的细节,例如描述、严重等级、截图、版本等。
核心功能
报表生成;
移动集成;
支持敏捷项目;
服务台;
自定义工作流;
强大的 API;
Jira 查询语言(JQL)用于高级查询、高级报告和自定义面板。
集成
这个工具直接与代码开发环境集成,非常适合开发人员。你还可以利用强大的 API 构建许多自定义集成。
价格
Jira 的免费计划允许 10 个用户。它有 2 个付费计划,每个用户每月 7 美元起。对于开源项目也有一个免费选项。对于 100 个以上的用户,你需要使用 Atlassian 的计算器。
优点
可定制的工作流;
Attlassian 插件市场;
有高级搜索功能的强大的 bug 跟踪器;
强大的报表工具。
缺点
对于小型到中型团队偏贵;
复杂的配置和故障排除;
陡峭的学习曲线;
对于小型团队过重;
非常占用资源。
总结
JIRA 对于中型和大型团队是最好的工具:凭借其定制化能力,它可以适应任何工作流。插件市场也有助于解决各种问题。然而,Jira 需要一个有经验的管理员或者一些稍微正式的培训。对于小型团队来说,JIRA 绝对是过重了。
概览
BugHost 是市场上最古老最成熟的 bug 跟踪系统之一。这个系统既简单又可靠:这就解释了为什么它的客户有 Eriksson、Chevron、Midway 等等。
核心功能
一次性更新多个 bug;
记录的缺陷数不限;
Bug 链接;
客户直接向你的项目提交 bugs;
导出功能和文件附件。
集成
这个工具没有任何原生集成和 API。
价格
这个公司为客户提供了 10 个计划,每月从 10 美元到 1000 美元。价格取决于项目数和用户数。
优点
易于管理 bugs;
可负担的价格;
具有良好支持的成熟工具。
缺点
过时的接口;
性能慢;
需要安装许可。
总结
总体上,如果你想要试试 bug 跟踪,这是一个挺好的工具,但是过时的网站和接口在 2020 年不是一个很好的选择。
概要
如果你寻求对于未解决的问题也完全可见,那么 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 是一个在线时尚的 bug 跟踪和项目管理软件。任何人都可以很轻松地用它报告 bugs,具有问题的更新、评论和状态变更的完整历史记录。
核心功能
甘特图和燃尽图;
Wikis 和观察名单;
一般查询和高级查询功能;
问题更新和状态变更的完整历史记录;
内置 Git 和 SVN。
集成
Backlog 预置集成了 Typetalk、Cacoo、Redmine、Jira Importer、iCal、email 和 Google Sheets 以及其它许多工具。还拥有强大的 API 来构建定制化集成。
价格
其价格从每月 35 美元起,支持多达 30 个用户、5 个项目和 1GB 存储。
优点
免费版本;
Wiki;
大量集成;
良好的用户界面。
缺点
对于高级用户太简单了,因此不适合具有复杂流程的大型项目。
总结
Backlog 是功能最丰富的跟踪工具之一。它结合了项目管理功能和问题跟踪功能。既可以作为一个自托管的解决方案,也可以作为一个 SaaS 服务,它比较适合小型和中型团队。
概览
Redmine 是一个开源的问题跟踪系统,集成了 SCM(Source Code Management,源码管理)系统。它还提供了其它项目管理相关的工具,例如时间跟踪、wikis、日历等等。
核心功能
甘特图和日历;
文件管理;
支持多个数据库;
灵活的基于角色的访问控制;
多语言支持;
可以同时处理多个项目;
邮件通知。
集成
它集成了 SCM 框架。
价格
Redmine 是免费使用的开源工具。
优点
开源;
免费使用;
适合敏捷项目;
良好的定制化。
缺点
缺乏支持;
过时的用户界面;
性能问题。
总结
对于热爱开源、定制化和免费产品的团队来说,这是一个非常棒的工具。
结论
如果你还在使用电子表格方法来进行 bug 跟踪,那么是时候改变了。使用一个 bug 跟踪工具会提高整体效率。在本文中,我们已经向你展示了一些能帮你提高效率的最佳工具。除了这些工具,一些软件公司拥有他们自己的内部 bug 跟踪系统,针对他们的项目构建和使用。我希望这篇文章能够帮你了解更多问题跟踪相关的信息,并且有助于你决定是否需要将它集成到你的流程和公司。
作者介绍
Eugene Stepnov 集成主管 / 产品经理
延伸阅读
https://blog.flatlogic.com/top-12-bug-tracking-tools/
欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:
已在知识星球更新源码解析如下:
最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。
提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)