
Introduction
Defect tracking is one of the key aspects of a software development process. Without getting into the question of whether a defect is major or minor, it is absolutely necessary to log, manage, and fix each and every defect in order to develop a stable and effective application. In the software industry, some people believe that there is no need to use a defect tracking tool. They believe that there is no point in tracking and managing an ever-growing inventory of defects, since the ultimate objective is to fix the defects as soon as they appear in the system. However, identifying the source of a defect, and then monitoring the defect removal process are always important from a manager’s perspective. A manager needs to analyze the efficiency of defect tracking and removal mechanism, as well as minimize the cost involved in the process. A defect tracking tool accumulates and simplifies defects being reported from various sources. Stakeholders like customers, analysts, developers, and testers submit defects from time to time. It is not always logically possible to fix those defects as soon as they are submitted to developers. There is a fair chance of a new defect getting identified during the process of fixing. This new defect needs to be tracked so that all important information about it is stored properly. It should also allow deriving various kinds of metrics and reports that would help the management to analyze various defect rising and removal trends. Hence, choosing the appropriate defect tracking tool for your organization is critical. There are several tool vendors available in the markets who claim to provide you with the best of the defect tracking features. Here we list down the top 10 features that you may look for while selecting the best defect tracking tool for your organization.
1. Accessible from Anywhere and Anytime
In today’s scenario, users who submit defects are located in different geographical locations. They need to access the defect tracking tool anytime, using any device, and from any part of the globe. The tool should be 100% web-based. Additionally, the tool has to be accessible from mobile devices running on Android, iOS, and Blackberry. In short, the tool should be have an anytime anywhere availability.
2. Ability to Submit Defects from Various Sources Easily
Defects can be submitted from various sources like corporate website, email, MS Word, and Excel files. The defect tracking tool should have the capability to import defects from all these varied sources and store them in a centralized repository, so that management can derive meaningful reports and metrics out of the data. Generally, users do not want to spend much time in submitting or updating defects. Hence, the tool should have the capability for users to enter defects easily and quickly. Automatic creation of defects on Test Case failure will be an added advantage of such defect management tool.
3. Customized Workflow
Software defects are expensive. Moreover, the cost of finding and correcting defects represents one of the most expensive software development activities. It is never possible to eliminate all defects from a product in order to ensure better quality of a release. While defects are inevitable, we can still minimize their numbers and impacts on our projects. To achieve this, development teams need to implement a defect management process that focuses on capturing and preventing defects as early in the process as possible, and minimizing the impact of defects. The selected Defect Management tool must support defining a workflow at a defect level.
4. Integration with Other Tools
Another important feature to look for in a defect tracking tool, is the ability to integrate with all other modules of ALM. This enables management to track the progress of a release from a centralized location. In many instances, the testing teams and the defect resolution teams manage their test cases, defects, and code files in disparate tools. Unless these artifacts are integrated with each other, a lot of manual interventions are required for importing the defects from the test tool to the defect tracking tool, and again from the defect tracking tool to the source control tool(s). While integrated, defects are synchronized in real time and the updated defect status is automatically reflected in the subsequent tools. With the help of this integration, developers can view all the artifacts from within their IDE without the need of hopping from one tool to another for collecting data. They can update the status of the defects from within their IDE which gets reflected immediately to the testers in the defect management tool.
5. Dashboard
The ability to create Dashboard is also a significant feature of a defect tracking tool. Dashboard enables users to view a snapshot of the defects as well as the whole project from various aspects through a single window. Dashboard creation should be flexible enough so that users can customize it as needed. Additionally, users should be able to derive both textual as well as graphical reports to show the details of the defects.
6. Reporting Capabilities
Defect reporting based on certain filters or search conditions is crucial for QA managers. The reporting functionality enables users to view various kinds of reports, each being defined from a different perspective. For example, you can view a report of all defects submitted during the last two weeks, or you can view a report showing the list of high priority defects that are not yet closed. The reporting module should be flexible enough, so that users can select the defect attributes to be displayed as columns in the reports, the format of the report – textual or graphical, and also the filter criteria to define the record set. Another significant feature is the ability to save reports in the tool itself, so that the users do not need to create those every time from scratch. Users should be able to view those reports with just a simple mouse click.
Textual Reports
Graphical Reports
Matrix Report7. Email Notifications
Using the email notification feature, the desired team members can receive automated notifications whenever a defect is submitted or updated in a defect management tool. This results in effective communications among the team members which help them take prompt action on the defects, as and when they are submitted in the defect tracking tool.
8. File Attachments
The ability to attach files is the next key aspect to look for while selecting a defect tracking tool. This feature is mostly used by the development and testing teams while adding or modifying bugs. Users often attach files and screenshots to the defects, so that it becomes easier for the developers to understand a defect better and later reproduce it easily.
9. Support for a Wide Range of Custom Fields
In software engineering, there is no specific standard for maintaining defects. Each organization uses some specific attributes of defects to keep a track of them. The selected tool should provide the ability to define custom attributes of defects. Information like Priority, Severity, Category, Defect Status, Environment, Frequency, Detected On, Detected By, Assigned To, Resolved On, Closed On, – are some of the common and required attributes with respect to defects. However, these are not enough to manage defects properly. Attaining the ability to define various kinds of custom fields is very much needed in a good defect management tool.
10. Support for Escalation
The management should get notified for any critical defect which is opened for a long time. In a manual defect monitoring environment, it is very difficult to keep track of this. The defect management tool should have the capacity to escalate the defects based on business rules, so that managers get notified and succeed in taking corrective actions.