Bugzilla,Gnats 与 Bugzero 比较评估

Bugzilla,Gnats 与 Bugzero 比较评估

Websina / 摘译One-eighth

本文简要说明 Bugzero 缺陷(Bug)跟踪系统与另外两个流行的开源缺陷(Bug)跟踪系统 Bugzilla 和 Gnats 在安装、配置和定制方面的比照差异,目的是帮助你明确在选择缺陷(Bug)管理与跟踪系统之前应该考虑的几个问题。

安装

Bugzero(基于 Java/J2EE 和数据库,跨平台支持):

  • 安装 Java (jdk 1.3+)
  • 安装任意一种数据库,包括 MySQL
  • 安装任意一种 J2EE 或 Servlet 引擎
  • 安装 Bugzero (启动setup安装向导,图形界面)
任何一个有一些 Java/J2EE 经验的人都可以用不到1小时或至多几小时的时间将 Bugzero 搭建起来,如果你有现成的数据库和 Servlet 引擎,安装过程会更快。

Bugzilla(基于 Perl 和 MySQL 数据库,Unix 平台/最新支持 Windows,开放源代码)

  • 安装 MySQL 数据库
  • 安装 Perl 5.6.1 或以上
  • 安装许多 Perl 模块(命令:perl -MCPAN -e 'install "<modulename>"')

1. AppConfig (1.52)
2. CGI (2.93)
3. Data::Dumper (any)
4. Date::Format (2.21)
5. DBI (1.38)
6. DBD::mysql (2.9003) if using MySQL
7. DBD::Pg (1.31) if using PostgreSQL
8. File::Spec (0.84)
9. File::Temp (any)
10. Template (2.08)
11. Text::Wrap (2001.0131)
12. Mail::Mailer (1.67)
13. MIME::Base64 (3.01)
14. MIME::Parser (5.406)
15. Storable (any)

可选 Perl 模块:
1. GD (1.20) (支持图表)
2. Chart::Base (1.0) (支持图表)
3. GD::Graph (any)(支持图表)
4. GD::Text::Align (any)(支持图表)
5. XML::Parser (any) (支持XML)
6. PatchReader (0.9.4)
7. Image::Magick (any) (图形附件转换成PNG格式)

  • 安装 Bugzilla( 命令:perl -MCPAN -e 'install "Bundle::Bugzilla"')
  • 引用 Bugzilla 网站的描述:
    Someone with much Bugzilla experience can get you up and running in less than a day, and your Bugzilla install can run untended for years. If your Bugzilla strategy is critical to your business workflow, hire somebody with reasonable UNIX or Perl skills to handle your process management and bug-tracking maintenance & customization.
如果你没有 Bugzilla 实施经验并且没有足够的 Perl 技能,安装和配置  Bugzilla 将是一件非常耗时且费力的事情。

Gnats(基于 C 和文件存储,只支持 Unix,开放源代码)

  • 安装 gnatsd
  • 配置 gnatsd
  • 安装一个 GUI 前端接口
  • 安装一些 Perl 模块
配置 Gnats 需要编辑几个位于不同位置的配置文件。


定制

使用 Bugzilla,你很可能需要改写一些源代码才能实现诸如填加自定义字段、改变字段数据类型、定制下拉菜单和配置用户访问权限等等。而使用 Bugzero,只需轻松地点击几下鼠标就可以完成这些任务。

应用案例1

增加或删除字段以定制 Bug 报告表格

应用案例2

修改一个字段的选项,例如“优先级”字段的优先级

解决方案:

Bugzero:使用基于 Web 的管理工具可以轻松完成,无需编程技能。
Bugzilla:没有增加/删除字段的用户界面,要增减一个字段的选项,尤其是那些涉及 Bug 处理进展状态的字段,必须改写相关代码才能实现。显然,定制 Bugzilla 需要一些编程技能,尤其是 Perl 的技能。


可用性

在 Bugzilla 中,如果需要将某个 Bug 重新分配给另一个负责人,你必须输入这个新负责人的完整 Email 地址,而不是从一个负责人下拉菜单中方便地选择,这是否会令你感到困惑?你是否注意到,Bugzilla 中的附件没有文件名且文件类型是不可见的,这使得当你想保存这个文件时,你必须先搞清楚它的扩展名是什么?

Bugzilla 只能单向排序,无法反向排序。如果你有多个预存的查询定义,并且希望它们有不同的显示列,那么很遗憾,这无法实现,因为改变列是全局性的,所有查询定义都会受到影响。

Bugzilla 存在这些可用性问题,虽然问题不大,但总会浪费你的时间。


流程

应用案例1

开发人员应该没有权限将 Bug 标记为‘verified’或‘closed’,他们只能将其标记为‘resolved/fixed/analyzed’。只有测试人员才能‘closed/verified’一个 Bug。

应用案例2

一个已知 Bug 的后继状态不应该是‘new’,只有状态‘fixed’ 的后继状态才能是‘closed’;而状态‘closed’ 的后继状态只能是‘reopened’ 等等。

解决方案

Bugzero:使用基于 Web 的管理工具可以轻松实现这些状态限制。
Bugzilla:必须修改 Perl 代码才能实现以上要求。在大多数情况下,如果你需要流程控制,Bugzilla 满足不了你的需求。
Gnats:不允许修改。


安全

应用案例1

系统有很多用户,他们来自许多公司或组织,而且每个公司都有几个用户,来自同一个公司的用户应该能够看到由他们提交的所有报告,但是不能看到有其他公司用户提交的报告。

应用案例2

你的产品有一些由用户提交的 Bug,开发人员解决了它们。开发人员应该将解决方法或过程输入 Bug 跟踪系统,这些信息仅供开发组成员共享,并不希望被你的用户看到。

解决方案

Bugzero:案例1,你可以给公司用户组赋予‘Group’权限。案例2,你可以将普通用户组设定为 “解决方法”字段的被禁止访问组,这样“解决方法”字段对普通用户来说是不可见的。
Bugzilla:没有解决方案。Bugzilla 常用于开源软件项目的开发管理,其安全设定的灵活性是有限的。
Gnats:没有解决方案。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值