Bug是软件开发过程中的“副产品”,也是开发人员最不想见到的状况。如果没有跟踪和梳理各种bug和问题并及时解决,项目就会花费非常多的时间,导致整个项目的重心偏移。如果在此过程中,测试人员使用一个合适的Bug管理工具,将可以提高整个团队的工作效率,把控产品质量,更好的完成任务。


根据每个公司性质的不同,规模的不同,所用到的bug管理工具也可能不同。你们用的bug管理工具是什么呢?下面介绍几款主流的bug管理工具:

JIRA(付费)


JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件。这里的”问题”对应的英文单词是Issue,所以含义比较广,包括Bug,Task,Enhancement,Improvement等等跟软件开发相关的名词。

跟踪管理即对问题的整个生命周期进行记录和管理。一个问题从创建到解决到关闭涉及到很多相关信息,包括是什么问题,谁发现的问题,谁处理了这个问题,如何处理的,相应的代码有什么改变等等,JIRA可以方便的记录这些信息,并且在问题的不同状态呈现在相应的责任人面前。

JIRA具有很多优点,对测试来说,以下3点必须知道:

1. 针对问题其默认定义了丰富的字段来记录问题的各种信息,包括Issue Type, Issue summary, Issue Description, priority, assignee, reporter, resolutions等等;

2. 默认定义了工作流的一些状态: new, open, defer, pending, resolved, reopened, closed。 默认定义了一个简易的工作流, open-in progress-resolved-closed;

3. 支持邮件通知,邮件通知可以同工作流中和工作流之外的事件关联;

Trac


Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。

Trac是以面向进度模型为项目管理模型的,很明显的特点就是它以里程碑(Milestone)方式进行项目管理的。每个里程碑中的具体要做哪些事情,就使用Ticket来进行定义、跟踪等。

Gitlab


Gitlab管理bug也是最近才接触到。跟项目绑定,特别方便管理bug,随时assign给相关开发,也可以看到开发提交bug时的Commits,每次发版可以对照相关提交,既方便测试,也可以在出现问题时找到对应开发。

Mantis


缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker。

Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。

基本特性:

1. 个人可定制的Email通知功能,每个用户可根据自身的工作特点只订阅相关缺陷状态邮件;

2. 支持多项目、多语言;

3. 权限设置灵活,不同角色有不同权限,每个项目可设为公开或私有状态,每个缺陷可设为公开或私有状态,每个缺陷可以在不同项目间移动;

4. 主页可发布项目相关新闻,方便信息传播;

5. 具有方便的缺陷关联功能,除重复缺陷外,每个缺陷都可以链接到其他相关缺陷;

6. 缺陷报告可打印或输出为CSV格式,1.1.7版:支持可定制的报表输出,可定制用户输入域;

7. 有各种缺陷趋势图和柱状图,为项目状态分析提供依据,如果不能满足要求,可以把数据输出到Excel中进一步分析;

8. 流程定制方便且符合标准,满足一般的缺陷跟踪。

Bugzilla


Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System),它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。

Bugzilla Bug报告分类

(1)待确认的(Unconfirmed)

(2)新提交的(New)

(3)已分配的(Assigned)

(4)问题未解决的(Reopened)

(5)待返测的(Resolved)

(6)待归档的(Verified)

(7)已归档的(Closed)

(8)Bug处理意见

(9)已修改的(Fixed)

(10)不是问题(Invalid)

(11)无法修改(Wontfix)

(12)以后版本解决(Later)

(13)保留(Remind)

(14)重复(Duplicate)

(15)无法重现(Worksforme)

Bugzilla指定处理人:

(1)可以指定一个处理人

(2)如不指定处理人,则系统指定管理员为默认处理人

Bugzilla链接:

输入超链接地址,引导处理人找到与报告相关联的信息

Bugzilla概述:

(1)概述部分“Summary”的描述,应保证处理人在阅读时能够清楚提交者在进行什么操作的时候发现了什么问题。

(2)如果是通用组件部分的测试,则必须将这一通用组件对应的功能名称写入概述中,以便今后查询。

Bugzilla平台操作系统:

(1)测试应用的硬件平台(Platform),通常选择“PC”

(2)测试应用的操作系统平台(OS)

BUG管理工具的跟踪过程

再来说说一下bug管理工具的跟踪过程(以BugZilla为例子):

测试人员发现了BUG,提交到Bugzilla中,状态为new,BUG的接受者为开发接口人员,

开发接口将BUG分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG,如果是本人的BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个BUG,然后测试人员关闭此问题。

如果开发人员接受了BUG,并修改好以后,将BUG状态修改为已修复,并告知测试在哪个版本中可以测试。

测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关闭BUG。

我以上分享的每个工具都有自己的优缺点,选择一款适合自己的来提升工作效率。bug管理工具也不仅仅是介绍到的几款,还有禅道,Redmine等,大家可以自己搜搜了解下。

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。

欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ  群:   755431660