bugtracker
   HOME

TheInfoList



OR:

A bug tracking system or defect tracking system is a
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
that keeps track of reported software bugs in software development projects. It may be regarded as a type of
issue tracking system An issue tracking system (also ITS, trouble ticket system, support ticket, request management or incident ticket system) is a computer software package that manages and maintains lists of issues. Issue tracking systems are generally used in colla ...
. Many bug tracking systems, such as those used by most
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
projects, allow end-users to enter bug reports directly. Other systems are used only internally in a company or organization doing software development. Typically bug tracking systems are integrated with other
project management software Project management software (PMS) has the capacity to help plan, organize, and manage resource tools and develop resource estimates. Depending on the sophistication of the software, it can manage estimation and planning, scheduling, cost control ...
. A bug tracking system is usually a necessary component of a professional software development infrastructure, and consistent use of a bug or issue tracking system is considered one of the "hallmarks of a good software team".


Making

A major component of a bug tracking system is a
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases s ...
that records facts about known bugs. Facts may include the time a bug was reported, its severity, the
erroneous program In the design of programming languages, an erroneous program is one whose semantics are not well-defined, but where the language implementation is not obligated to signal an error either at compile or at execution time. For example, in Ada: :In ...
behavior, and details on how to reproduce the bug; as well as the identity of the person who reported it and any programmers who may be working on fixing it. Typical bug tracking systems support the concept of the life cycle for a bug which is tracked through the status assigned to the bug. A bug tracking system should allow administrators to configure permissions based on status, move the bug to another status, or delete the bug. The system should also allow administrators to configure the bug statuses and to what extent a bug in a particular status can be moved. Some systems will e-mail interested parties, such as the submitter and assigned programmers, when new records are added or the status changes. It is possible to perform automated diagnosis based on the content of the bug report. For instance, one can do automated detection of bug duplicates or automatic bug fixing.


Usage

The main benefit of a bug-tracking system is to provide a clear centralized overview of development requests (including both bugs and improvements; the boundary is often fuzzy), and their state. The prioritized list of pending items (often called backlog) provides valuable input when defining the product road map, or maybe just "the next release". In a corporate environment, a bug-tracking system may be used to generate reports on the productivity of programmers at fixing bugs. However, this may sometimes yield inaccurate results because different bugs may have different levels of severity and complexity. The severity of a bug may not be directly related to the complexity of fixing the bug. There may be different opinions among the managers and architects. A ''local bug tracker (LBT)'' is usually a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer program ...
used by a team of application support professionals (often a
help desk A help desk is a department or person that provides assistance and information usually for electronic or computer problems. In the mid-1990s, research by Iain Middleton of Robert Gordon University studied the value of an organization's help desks ...
) to keep track of issues communicated to software developers. Using an LBT allows support professionals to track bugs in their "own language" and not the "language of the developers." In addition, an LBT allows a team of support professionals to track specific information about users who have called to complain—this information may not always be needed in the actual development queue. Thus, there are two tracking systems when an LBT is in place.


Part of integrated project management systems

Bug and issue tracking systems are often implemented as a part of integrated project management systems. This approach allows including bug tracking and fixing in a general product development process, fixing bugs in several product versions, automatic generation of a product
knowledge base A knowledge base (KB) is a technology used to store complex structured and unstructured information used by a computer system. The initial use of the term was in connection with expert systems, which were the first knowledge-based systems. ...
and release notes.


Distributed bug tracking

Some bug trackers are designed to be used with
distributed revision control In software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centr ...
software. These distributed bug trackers allow bug reports to be conveniently read, added to the database or updated while a developer is offline.
Fossil A fossil (from Classical Latin , ) is any preserved remains, impression, or trace of any once-living thing from a past geological age. Examples include bones, shells, exoskeletons, stone imprints of animals or microbes, objects preserved ...
and Veracity both include distributed bug trackers. Recently, commercial bug tracking systems have also begun to integrate with
distributed version control In software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centr ...
.
FogBugz FogBugz is an integrated web-based project management system featuring bug and issue tracking, discussion forums, wikis, customer relationship management, and evidence-based scheduling Evidence-based scheduling is a software estimation ap ...
, for example, enables this functionality via the source-control tool, Kiln. Although
wiki A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pub ...
s and bug tracking systems are conventionally viewed as distinct types of software, ikiwiki can also be used as a distributed bug tracker. It can manage documents and code as well, in an integrated distributed manner. However, its query functionality is not as advanced or as user-friendly as some other, non-distributed bug trackers such as
Bugzilla Bugzilla is a web-based general-purpose bug tracking system and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License. Released as open-source software by Netscape Communications in 199 ...
. Similar statements can be made about
org-mode Org Mode (also: ''org-mode''; ) is a document editing, formatting, and organizing mode, designed for notes, planning, and authoring within the free software text editor Emacs. The name is used to encompass plain text files ("org files") that incl ...
, although it is not wiki software as such.


Bug tracking and test management

While traditional
test management tool Test management tools are used to store information on how testing is to be done, plan testing activities and report the status of quality assurance activities. The tools have different approaches to testing and thus have different sets of feature ...
s such as
HP Quality Center Micro Focus Quality Center, formerly known as HP Quality Center is a quality management software offered by Micro Focus, who acquired the software division of Hewlett Packard Enterprise in 2017, with many capabilities acquired from Mercury Intera ...
and IBM Rational Quality Manager come with their own bug tracking systems, other tools integrate with popular bug tracking systems.


See also

*
Application lifecycle management Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, ...
*
Comparison of issue-tracking systems This article is a comparison of issue tracking systems that are notable, including bug tracking systems, help desk and service desk issue tracking systems, as well as asset management systems. The comparison includes client-server application, d ...
– Including bug tracking systems *
Comparison of project management software The following is a comparison of project management software. General information Features Monetary features See also * Kanban (development) * Project management software * Project planning * Comparison of scrum software * Comparison ...
– Including bug tracking systems


References


External links

*
How to Report Bugs Effectively
by
Simon Tatham Simon Tatham (born 3 May 1977) is a British computer programmer. He created and maintains PuTTY, a free software implementation of Secure Shell (SSH) and Telnet for Microsoft Windows and Unix, along with an xterm terminal emulator. He is also ...

List of distributed bug tracking software

How to Write a Bug Report that Will Make Your Developers Happy
{{Bug tracking systems Bug tracking system Help desk Project management software