缺陷跟踪管理系统
缺陷跟踪管理系统是一种应用软件,它被设计用来帮助质量保证和程序员在工作中维护软件缺陷的跟踪报告,也可以被认为是一种问题跟踪管理系统。
许多的缺陷跟踪管理系统, 比如那些大多数在开源软件工程中使用的,允许用户直接登记缺陷报告,还有一些则是只在公司或者机构内部用来进行软件开发。很具代表性,缺陷跟踪管理系统总是集成一些软件工程管理应用软件。
缺陷跟踪管理系统在软件开发时是非常有用的,它被广泛使用于软件公司的产品开发。
组件
缺陷跟踪管理系统的一个很重要的组件是用于记录已知缺陷的数据库。记录包括程序缺陷的报告时间、严重度,异常的程序表现以及如何重现软件缺陷的细节;还有报告程序缺陷的人员身份和可能修正此缺陷的程序员。
典型的缺陷跟踪管理系统是应该是不断跟踪软件缺陷在其生命周期中被分配的状态指数。缺陷跟踪管理系统应当允许管理员设定基于状态的权限,把缺陷转为另一种状态或者删除它。同时系统也应该当允许管理员设定缺陷的状态,并可将缺陷转为其特定的状态。
用途
缺陷跟踪管理系统的主要作用是提供了对开发请求的集中概览(包括缺陷本身以及改进方案,其界限经常是很模糊的),以及开发请求的状态。待定项目(一般被称为“积压工作”)的优先级在定义产品的布局或者“下一个发布”时提供了有益的输出。
在一个合作的环境下,缺陷跟踪管理系统被用来在程序员修正程序缺陷时生成报告。然而,这有时会带来不准确的结果,因为不同的缺陷有不同的严重度和复杂度的等级。缺陷的严重度不一定会直接与修正缺陷的复杂度相关,对经理和软件架构者来说会有不尽相同的看法。
本地缺陷跟踪器(LBT)通常是一种计算机程序,软件维护的专业团队(经常被称为帮助台)用它来保持对问题的跟踪,并传达给软件开发者。LBT可以让软件支持专业人士用他们“自己的语言”来跟踪软件缺陷,而不必用“开发者语言”。另外,LBT可以被用来跟踪关于用户打来抱怨的问题的一些特定的信息,而这些信息可能并不在实际的开发队列中(所以,说到LBT的话那就有两个跟踪系统)。
分布式缺陷跟踪
一些缺陷跟踪器被设计成分布式修改控制软件,这些分布式缺陷跟踪器使得缺陷报告阅读起来更便利,当开发者不在线时也能在数据库中加入或者更新报告。[1] 缺陷跟踪器包括DisTract和Bugs Everywhere.
尽管wikis和缺陷跟踪管理系统看起来是截然不同的软件,但ikiwiki是可以被用来当作分布式缺陷跟踪器的。它可以以一种集成分布的方式管理文档以及代码。不过, 它的查询功能是不够先进的,在用户使用方面并不如其它一些非分布式缺陷跟踪器那么友好,比如BugZilla。[2]