在过去几年里,程序员改变着世界,然而,我们手中诞生的每个新网站或 APP 都面临着一个巨大的挑战——“bug”。在这个充满 bug 的世界里,最遥远的距离不是生与死,而是你亲手制造的 bug 就在你眼前,你却怎么都找不到她。因此本文准备了 7 款优秀的开源 bug 跟踪系统来查找、记录和解决这些 bug。当然优秀的项目还有很多,您可以在评论区写下您在用的或者您认为最好用的项目,以供其他开发者学习和交流。
1、Redmine
Redmine 是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持。
虽说像IBM Rational Team Concert的商业项目调查工具已经很强大了,但想坚持一个自由和开放源码的解决方案,可能会发现Redmine是一个有用的Scrum和敏捷的选择。 由于Redmine的设计受到Rrac的较大影响,所以它们的软件包有很多相似的特征。
Redmine建立在Ruby on Rails的框架之上,支持跨平台和多种数据库。。
2、Trac
Trac不仅仅是一个bug跟踪工具,还是一个增强版的Wiki以及项目管理工具,采用Python开发,专为软件开发项目设计。Trac 将自身描述为一种基于Web的项目管理系统的简约方法。从设计的角度来看,它确实很简约,但它绝对不缺少任何关键的功能。
然而,我不得不说,可能需要很长时间才能深入了解trac的功能丰富的接口。
3、Mantis
Mantis (MantisBT) 是一个BUG管理系统。主要特点如下:
- 用php写的系统,安装方便,不用像 bugzilla 那样安装那么多perl支持;
- 系统相对简单轻量级,使用简单;
- 支持 49 种不同的语言,是一种广泛使用的错误跟踪工具。
Mantis BT 1.2.0版本的发布引入了一个事件驱动的插件系统。作为这个领域里的老人,Mantis BT 与其他开源 bug 跟踪系统相比可谓相当老派。
在线演示地址:http://demo.mantisbt.org/
4、Fossil
Fossil是另一个简单易用的 bug 跟踪系统。 和 Trac 一样,Fossil不仅支持错误跟踪,还提供了一个Wiki和其他项目管理相关的功能。值得关注的功能列表:
- Bug跟踪和Wiki
- Web接口
- 自动同步
- 支持 HTTP 接口
- 嵌入式 CGI
- 稳健而且可靠
Fossil 的关键组件是其分布式版本控制系统。虽然Fossil似乎是一个非常稳定的bug跟踪工具,它的重点是版本控制,但这也让其不那么适用于技术小白。
5、Phabricator
在代码审查(Code Review)方面,Facebook做了一个可视化的开源工具 —— Phabricator。工程师可以在页面上非常方便的针对每一段(单行或者多行)代码进行交互讨论;负责审查的工程师可以接受代码改变,可以提出疑问要求原作者继续修改,可以提出自己不适合以推出该代码审查,等等。只有代码被明确接受之后才能被工程师提交到服务器端的代码库,这一点集成到提交工具中强制执行。基本理念就是凡是被很多人不断重复的好的习惯,要将其自动化,绑定到工具之中。以“Don’t make me think”的方式来推广好的practice。
6、WebIssues
WebIssues是一个采用客户机/服务器模式的团队协作工具和问题跟踪系统,可以支持小规模的开发队伍。它非常容易部署和定制,服务器可安装在任何支持PHP和MySQL或PostgreSQL的主机上,客户端可以是视窗或Linux的桌面。
7、BugZilla
Bugzilla 是一款开源的 Web 应用,是一款bug跟踪系统和测试工具,由 mozilla 开发,并采用 Mozilla 公共许可证授权(MPL),它经常被一些高科技公司如 mozilla、红帽公司和 gnome 使用,Bugzilla 起初由 Terry Weissman开发于1998年,它用 perl 语言编写,用 MySQL 作为后端数据库,它是一款旨在帮助管理软件开发的服务器软件,它有丰富的功能、高度优化的数据库等特性。
可以看到以上所列的 bug 跟踪系统中很多都是项目管理工具,用上它们肯定会让你在项目开发中如虎添翼。当然还有很多优秀的 bug 跟踪系统,例如Bloodhound,BugZero、The Bug Genie、 JIRA 等,感兴趣的可以点击项目名称了解详情。