Nearly every development project incorporates the use of a defect tracking tool. Sometimes referred to as a “bug tracking” tool, defect tracking is really nothing more than a database with reporting facilities that is used to keep track of bugs as they are reported, note progress on what is being done to fix the defect, and then to create a report to show all related activity. The defect tracking tool is not meant to be used as a software checker or a tool that actually detects flaws, but rather as a responsive management tool to be used throughout the development cycle. Bug detection tools are also widely available, which focus on analyzing source code instead.
There are dozens of defect tracking tools on the market, although at the most simple level, any basic spreadsheet will do. Nonetheless, official defect tracking tools do offer several conveniences and advanced features that add value, making them much more beneficial than the do-it-yourself approach. In addition to commercial bug tracking tools, there are also several freeware tools available. Defect tracking features are also often incorporated into larger systems, including development platforms and configuration management tools.
While some of the defect tracking tools focus on the development end, still others are more geared towards the IT help desk. These tools may work with trouble ticket and other types of help desk tools and are used to allow the help desk to report a defect.
Bugzilla, a free product, is one of the best known defect tracking tools. One of the more feature-rich free defect tracking tools, Bugzilla doesn’t stop at just tracking defects and other types of code changes. It also promotes communication between team members, facilitates patch updates, and offers several other quality assurance features.
Defect tracking tools tend to be either free or inexpensive. Most offer a simple Web interface, sometimes also incorporating an email feature that allows for easy submission of bug reports. There are two approaches for reporting defects. Some systems allow for internal reporting only, while others include a public interface that allows any user to report a flaw. The system is meant to address the entire lifecycle of the software and its reported defects. The flaws themselves can be managed by an authorized administrator, who can indicate the status of a bug report to show that it is being repaired or has been fixed.
As a release management tool, bug tracking is also very useful in that it can provide good insight into product development, further requirements, and user feedback. Defect tracking may be incorporated into revision control software.