Comparison of Bug and Issue Tracking Systems

Bug - Issue TrackingIssue-tracking systems are used by organizations to create, manage and resolve issues. A software development company uses issue-tracking system at the center of its development to track bugs and thereby improve the code quality and speed of development. Issues can also be reported by help desk resources in Corporations who provide help desk or service support to their customers.An issue-tracking system is used by people from cross-functional teams. Therefore it should be so simple to use that people like to use it instead of avoiding it. Yet it should flexible and configurable enough to handle complexities and scale with projects. Following is a comparison of the top most popular issue-tracking systems on the basis of core features and important factors to be considered while choosing to deploy an issue-tracking system.

Implementation Language and Backend

One of the important factors to consider while choosing an issue-tracking system is the implementation language. Choice depends on the current IT environment and the available skill-set in the organization. Most of the issue-tracking systems are implemented in either C, C++, C#, ASP, perl, php, RoR or JAVA. Bugzilla, MantisBT and Request Tracker are implemented using perl. While Trac is implemented in Python. JIRA on the other hand is implemented in JAVA. Since JAVA is the most widely used programming language, it makes sense to use a JAVA based issue-tracking system.

Issue-tracking systems require a backend database even though there are some less popular systems like org-mode and ikiwiki which support files. Database based systems are better than file based since the later may not scale well. Common database options are limited to Access, MS SQL Server and/or MySQL. Only a few issue-tracking systems like JIRA are really cross database systems. JIRA can work with MySQL, PostgreSQL, Oracle and SQL Server. While Bugzilla system requires MySQL, Oracle or PostgreSQL.

The JIRA installation package can be used with an embedded database or be connected to any database compatible with JDBC. Moreover, installation is a breeze since JIRA is implemented using Java.

Features

The effectiveness of an issue-tracking system is in its ability to provide dynamic documentation integration/generation. The content structure should be easy to analyze and transform into other structures for distribution. Most systems like Bugzilla, Trac, Assembla, etc. provide documentation features like reports and charts, integrated document manager, reports via email notification, Wiki and RSS. JIRA offers a much wider range of documentation options. JIRA reports can be viewed via RSS, XML or HTML, or exported to Confluence (Enterprise Wiki), PDF, Excel or Word. JIRA also supports customizable charts.

JIRA can be integrated with more than a dozen of the most popular test planning systems. An issue-tracking system that integrates with test planning system will improve the consistency, organization and control of issues throughout testing process. Bugzilla has a test case management extension called Testopia. While few other systems like Trac, Redmine and Gemini provide some form of test planning integration.

Most of the popular systems have a plug-in API to support integration with other products. JIRA too has a plug-in API and an open architecture. Lots of plug-ins are available for JIRA. Therefore a plug-in can be found for any feature that is lacking in JIRA.

Many systems offer other core features like customizable workflow, custom fields and unicode support. JIRA supports many customizable workflow schemes and custom fields of many times.

Input Interfaces

Web and Email interfaces are the most common input interfaces. Bugzilla and JIRA provide other interfaces such as CLI, Desktop GUI, REST, SOAP and Mylyn. JIRA also provides Visual Studio interface via the Atlassian Visual Studio extension. Only Zentrack provides JSON/XML input interface which is not so popular.

Notification Interfaces

Most of the issue-tracking systems provides various notification interfaces to notify the assigned user and the reporter of a task when any changes are made to their task. Most of them send notifications via email. While many other additionally support RSS feeds. User can track issues by subscribing to these RSS feeds. JIRA supports email as well as RSS. JIRA users can also be notified using the XIMPP protocol, originally called Jabber.

Revision Control System Integration

CVS and Subversion are the most commonly supported revision control systems. Trac, Redmine, Bugzilla and JIRA support some more popular systems such as Git, Mercurial and Perforce.

Authentication Methods

LDAP is the most commonly used authentication method in issue-tracking systems. Another authentication methid that is getting popularity is OpenID, which is supported by MantisBT, Redmine, Trac, Assembla, ikiwiki, Request Tracker and YouTrack. Bugzilla and JIRA support LDAP and Form-based authentication method. JIRA has a comparatively simpler authentication than Bugzilla (which has features for grouping users and issues)

Summary

Based on the above information and comparison, it is evident that JIRA is the best bet. JIRA is a widely used proprietary, free for non-commercial use issue-tracking system. It is licensed from Atlassian, which is well known in the open source community for offering free licenses for open source projects.

Related

The following two tabs change content below.

Mohan Late

Mohan has 14 years of experience in the IT industry. He is presently working as a Product Manager for a leading online advertisement network company, which was ranked as the fastest growing technology company in Texas. It as on 168th of Inc. 500 fastest growing companies. Most of his experience comes from working closely with bleeding edge technology startup companies based in USA and Germany. Mohan is passionate about new technologies and enjoys evaluating, reviewing and writing on new products and technologies. He has published several articles on agile methodologies, open source technologies, internet marketing, social media and enterprise social networks. He has done his bachelors in engineering from MIT, Pune. You can reach him at mohan.late@gmail.com.

Latest posts by Mohan Late (see all)

Mohan Late

Mohan has 14 years of experience in the IT industry. He is presently working as a Product Manager for a leading online advertisement network company, which was ranked as the fastest growing technology company in Texas. It as on 168th of Inc. 500 fastest growing companies. Most of his experience comes from working closely with bleeding edge technology startup companies based in USA and Germany. Mohan is passionate about new technologies and enjoys evaluating, reviewing and writing on new products and technologies. He has published several articles on agile methodologies, open source technologies, internet marketing, social media and enterprise social networks. He has done his bachelors in engineering from MIT, Pune. You can reach him at mohan.late@gmail.com.

  • Anonymous

    Hi nishant 
                        Really the text is quite helpful for me .. thanks a lot, I would like to know couple of  more things regarding SQL injection ie how to break authentication (Just to enhance the quality of authentication our company provide) if you can help !!!!

    ___Shiraz

  • Laatmaar

    jira is not free

  • Interesting article, it’s very pity you didn’t mention Bontq though.