Bug tracking is the process of logging and monitoring bugs or errors during software testing. It is also referred to as defect tracking or issue tracking.
Large systems could have hundreds or thousands of defects. Each needs to be evaluated, monitored and prioritized for debugging. Sometimes, bugs might need to be tracked over a long period.
“Defect tracking is an important process in software engineering, as complex and business-critical systems have hundreds of defects,” says Tutorials Point. “One of the challenging factors is managing, evaluating and prioritizing these defects. The number of defects gets multiplied over a period of time and to effectively manage them, a defect tracking system is used to make the job easier."1
A software bug occurs when an application or program doesn’t work the way that it should function. Most errors are faults or mistakes made by system architects, designers or developers. Testing teams use bug tracking to monitor and report on errors that occur as an application is developed and tested.
“A major component of a bug tracking system is a database that records facts about known bugs,” says Wikipedia. “Facts may include the time a bug was reported, its severity, the erroneous program 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 fixing it.” 2
During its lifetime, a single defect could go through several stages or states. They include:
Bugs are managed based on priority and severity. Severity levels help to identify the relative impact of a problem on a product release. These classifications could vary in number, but they generally include some form of the following:
Usually, states and severity levels are monitored in a bug tracking database. A good tracking platform also ties into larger software development and management systems: the better to assess error status and the potential impact on overall production and timelines.
It is estimated that software developers make 100 to 150 errors for every thousand lines of code.4 According to a report by the Consortium for IT Software Quality (CISQ): “Even if only a small fraction—say 10 percent—of these errors are serious, then a relatively small application of 20,000 lines of code will have roughly 200 serious coding errors." 5
Software testing is essential for isolating and mitigating errors. A good QA process can uncover hundreds or even thousands of defects, and testing teams need to manage all of them. Integrating bug tracking into the testing workflow improves efficiency by helping testers prioritize, monitor and report on the status of each error.
“Defect tracking helps ensure that bugs found in the system actually get fixed,” says Agile consultant, Yvette Francino. “Tracking tools not only provide a way to ensure follow-through but also provide valuable metrics. Depending on the tool that is used, the team can tie defects to changed code, tests or other data that will allow for traceability or analysis on defect trends. If a certain module is riddled with defects, it may be time to review and rewrite that module." 6
Ideally, testing should be done as soon as possible—when bugs are easier and far less costly to fix. An earlier study by IBM found that defects found post-production or after release can cost 15 times more to fix compared to errors resolved early in development.
Many teams are now using a methodology that is known as continuous testing. In this case, quality testing and feedback are conducted at all stages of development, from design and coding to deployment. Modern technologies like artificial intelligence (AI), too, can aid the testing process by detecting and analyzing bugs early in the lifecycle.
Quality control is critical for developing robust applications. Software testing change management and bug tracking tools allow teams to uncover defects, measure their scope and impact — and resolve them.
In the Harvard Business Review, Nicholas Bowen outlines a process for managing defects. The first step is to classify and prioritize: “Generally, teams will prioritize two types of bugs: those that cause a system to crash and those that are less severe but could be pervasive....Next, decide your target response time for each level of severity. If the quality management system is new, then the initial focus should be on fixing the most severe bugs within hours or days. As you use your system, you can gather data on two key metrics, incoming bug rates and the productivity of the bug fixers, and adjust your targets as needed.” He says that organizations also need to create a system where defects and the time that is required to resolve them can be reviewed at all levels, from the CEO on down.7
A good bug tracking system can assist this process by providing a single workflow for defect monitoring, reporting and lifecycle traceability. It should further link with other management systems for shared visibility and feedback both within software development and the larger organization. IBM® Rational® ClearQuest®, for example, provides a centralized platform for error tracking and reporting. It integrates with other IBM development and change management systems, and helps improve communication and collaboration among developers, operations and broader teams.
As well, look for testing and tracking systems that use AI to detect errors early in the development process. It can optimize the number and types of tests that teams run, automate the testing process and use AI to analyze past defects and prevent them in the future.
Register now to learn how advanced AI analytics can unlock new opportunities for growth and innovation in your business. Access expert insights and explore how AI solutions can enhance operational efficiency, optimize resources and lead to measurable business outcomes.
Explore the latest IBM Redbooks publication on mainframe modernization for hybrid cloud environments. Learn actionable strategies, architecture solutions and integration techniques to drive agility, innovation and business success.
Explore how IBM Wazi Deploy and modern language features can streamline your z/OS DevOps. Learn how automation and open-source tools improve efficiency across platforms.
Embark on your DevOps transformation journey with IBM’s DevOps Acceleration Program. This program guides enterprises through critical stages such as assessment, training, deployment and adoption to achieve seamless DevOps implementation.
IBM named a Leader for the 19th year in a row in the 2024 Gartner® Magic Quadrant™ for Data Integration Tools.
Automate software delivery for any application on premises, cloud, or mainframe.
Use DevOps software and tools to build, deploy, and manage cloud-native apps across multiple devices and environments.
Unlock new capabilities and drive business agility with IBM’s cloud consulting services. Discover how to co-create solutions, accelerate digital transformation, and optimize performance through hybrid cloud strategies and expert partnerships.
All links reside outside ibm.com
1 https://www.tutorialspoint.com/software_testing_dictionary/defect_logging_and_tracking.htm
2 https://en.wikipedia.org/wiki/Bug_tracking_system
3 https://www.tutorialspoint.com/software_testing_dictionary/defect_life_cycle.htm
4 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
5 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
6 https://techbeacon.com/app-dev-testing/pros-cons-defect-tracking
7 https://hbr.org/2019/09/why-fixing-software-bugs-should-be-the-ceos-problem