“Bug tracking is one of the basic life-support functions in software development,” writes veteran developer David Lambert.1 “I’d rank it second after source code control as [a] critical support function.” Lambert has it right, and few developers would argue. But that doesn’t account for the complexity of bug tracking or the need for a centralized bug tracking system, which is why some teams are still working manually or from spreadsheets.
Even if you start small, business-oriented development is designed to scale up, and as your development projects grow — your software takes on more users, a broader platform, more features and versions — the volume of bugs will inevitably increase. At a certain level, they become difficult to manage without repeatable workflows and a system for collaboration. Many organizations use bug tracking software for this exact purpose.
In this guide, we’ll review common features, benefits, best practices, as well as a case study of a leading solution, to help you choose the best bug tracking software for your team.
Bug tracking software is designed to capture, log, and monitor the status of bugs in a software development project, whether that be an piece of of software for internal use, a customer-facing system, or software sold as a product. Bug tracking is sometimes referred to as “issue tracking” or “defect tracking,” which refer to errors that occur beyond the source code (e.g. design, requirements, configuration), but can also apply to certain non-software projects.3
Quality assurance (QA) teams are typically the heaviest users of bug tracking software, which makes sense, since their job is to test software and find issues before release: a QA specialist runs tests, logs bugs and issues into the database, and passes them to the dev team for resolution. But some newer systems also integrate with help desk software or work with local bug trackers (LBT)2 so end-users can report bugs directly, in their own language. Direct end-user reporting is usually more common with open source projects.
There are a couple ways you’ll see bug tracking software packaged, depending on the vendor:
While bug tracking itself is certainly a critical function for every development team, not everyone sees the need for a dedicated system. Some analysts claim that bug tracking is little more than a sophisticated to-do list. There’s some truth to this claim in a workflow sense, but it assumes that development and QA teams have the resources to manage bugs by hand, and that they manage a low volume of bugs.
Realistically, bugs are a constant in any modern software project — they appear during planning, design, coding, testing, and even after release. Bug tracking software helps companies protect their investments and provide the best finished product to customers. Here are three key benefits:
In this section, we’ll go over some common features to look for in a bug tracking solution, whether it be a standalone app or built-in to a project management suite. This is not a comprehensive list:
Code Repository Integration
Although there are other places in the development continuum where bugs, issues, and defects can occur, most come from the source code. As such, it’s crucial that bug tracking software integrates with the systems where your code is housed — whether that’s a basic command line tool, or a web hosted repository such as GitHub or Gitbucket, the like of which are growing more and more popular with modern dev teams. As of this year, GitHub reported over 10 million users and over 26 million repositories,6 making it the largest hosted repository in the world.
Manual versus Automatic Bug Capture
There has been a considerable amount of debate in the QA community about bug capture methods, specifically pertaining to manual vs automatic capture. Manual bug capture usually happens during the testing phase, when QA testers identify and log bugs one at a time. According to Electric Cloud’s findings, 58 percent of major bugs found in deployed or delivered software are a result of problems in the testing phase4 (as opposed to design or development). Automatic bug capture, on the other hand, uses scanning, auditing, and reporting tools to identify issues before they are known. One common example is the Windows Error Reporting feature introduced with Windows XP.
It’s best to choose a tool that supports both bug capture methods, as this expands your visibility and reduces the risk of an unknown bug slipping into the finished product.
Deciding Access Controls
Access control is important to consider both as you evaluate bug tracking solutions, and as you configure a chosen solution for your team. This determines not only who can view and edit bug profiles in the database, but who can create them in the first place. Do you want your QA analysts to have exclusive privileges, or do you want to extend access to other IT employees, even to users themselves?
This can be a difficult line to walk. Extend access to all stakeholders, and you’ll get a high volume of bugs reported, which is good in terms of thoroughness, but will inevitably bring some duplicate and unverifiable bugs. Restrict access to QA, and the quality of your reporting will increase, but you may miss some serious issues in the process.
Company: Zend, the PHP Company7
Solution: JIRA (by Atlassian)
Zend is a web infrastructure company headquartered in Cupertino, California. They offer a range of products centered around PHP web development, including Zend Server, Zend Platform, Zend Studio, Zend Guard, and the Zend Certification Test. In its early days, Zend was also responsible for some of the major evolutions of the PHP language, including PHP 3.0 and PHP 4.0.
They manage a large number of development projects, some customer-facing, and others internal. Before JIRA, Zend was using a bug tracking system by Mantis. Mantis was easy to customize, but it was also outdated and had frequent problems, so Zend started looking for a new solution. JIRA made their shortlist because of its popularity in the dev community, and based on its power and ability to integrate with other systems, JIRA outshined other bug tracking solutions.
Migration was fast and painless.
“There were a few skeptics, like QA, [but] the bottom line today is that QA is one of the biggest supporters of JIRA, and they are very happy about the change . . . Once we migrated, just a week later, people started seeing the benefits.” — Zeev Suraski, co-founder of Zend.
Zend most appreciates JIRA for its ability to support custom workflows, although the default workflows were fairly close to their current bug tracking process. They also use JIRA’s dashboards to run detailed reports on their bug database, which the old system did not support.
Other key benefits:
While JIRA’s solution worked well for Zend, it may not be the right choice for every business. Here are some other bug tracking tools commonly used by developers and QA teams:
Agile Project Management with Bug Tracking
Standalone Bug Tracking
At TechnologyAdvice, our goal is to connect businesses with the technology that best meets their needs. We’ve compiled product information, reviews, case studies, features lists, video walkthroughs, and research articles on hundreds of leading IT solutions, all to make the buying process more straightforward for decision makers like you.
If you’re curious about any of the bug tracking solutions listed in this guide, we’d love to talk to you. Call one of our experts for a free consultation, or use the Product Selection Tool on our site to get a personalized recommendation based on your industry and desired features.
Our team of experts is ready to help! 877.720.3289