Bug tracking is a methodology used by software developers to collect reports of defects or "bugs" in software programs. This allows developers to further refine their software design by making continual changes or upgrades to the product in order to better serve the customer base. Programmers who author software often invite the public to help identify problems. If the program has a nominal following, finding bugs might be accomplished by simply asking users to report any difficulties via email. Bug tracking reports typically include an explanation of the exact nature of the problem, the version of the software in question, and the operating system.
While developers of programs with modest popularity can accomplish "manual" bug tracking via email, it would be a logistical nightmare for developers of more popular or ubiquitous software to attempt this approach. This is where developers can benefit most from using a special reporting software. To facilitate reporting, some highly popular software programs and operating systems incorporate built-in bug reporting. If the program crashes, it will attempt to connect to the Internet to relay an error log to an automated bug tracking system. As this feature might be considered a breech of privacy, it can normally be disabled if the users chooses to do so.
Mozilla, the company behind the very popular Firefox Web browser, has designed free bug tracking software, known as Bugzilla. Mozilla uses Bugzilla for Firefox and other products, but it is also available to companies, IT administrators or other interested parties who manage software development. To use a sophisticated tracking system like this, a user reports a bug by filling out an easy online form. This form might be available on the Internet or within a private network.
Though each bug tracking system differs in its features, reported bugs are typically assigned unique tracking numbers. The system prioritizes bugs according to various factors, and categorizes each as being of normal, high, or critical importance. Details are displayed in brief within a tracking table that is available to the programming team and optionally to the public as well. "Enhancements" or "wish list" items can also be included. By using the bug tracking interface, a user can click on a report number to read more details about a particular bug, add information to the report, or perform other actions such as reclassifying the bug or reporting a fix.
A bug tracking system allows programmers and managers alike to see at a glance where software is failing its customer base and how the development team is handling those problems. It provides an organized way to facilitate software enhancement procedures and opens a proper, regulated channel to end-users. This makes it easier to track bugs with minimal human resources invested in the organizational requirements of the process.
Effective bug tracking systems can improve customer satisfaction, raise productivity and reduce downtime. They can also keep track of coding changes, provide an interface for programmers to work together, and allow for the easy management of quality assurance. There are several software packages available online. Serious software developers and innumerable end-users benefit every day from these systems.