To handle all requirements mentioned in the previous chapter, people created various Issue tracking systems. In this chapter, the most popular ones will be introduced. There are plenty of other tracking systems – or ports or clones of those mentioned below (for example, a Java port jTrac exists for the Python based Trac, etc.). The five mentioned below are something like exemplars for all others.
Because all below-mentioned systems have their goods, and they must be compared in some way, here are the specific that will be discussed. We will primarily expand on requirements mentioned in the previous chapter.
-
Installation and initial configuration
Brief introduction into systems environment requirements and explanation how difficult is it to setup the tracking system for initial use.
-
User interface and learning curve
Some system user interfaces are more user friendly than others. Shown (if possible by screenshots) are typical use cases “Creating new and looking for a ticket”.
-
Ticket system
It is expected that the system allows the setup of workflow and to add custom attributes. Here, the investigation will show how difficult it is to change default workflows, if it is possible to add or modify custom attributes, and what steps are needed to make this happen.
-
Projects management
The possibility to handle more projects within one instance of tracking system will be discussed
-
Analysis and monitoring
The kinds of statistics, graphs, and other monitoring resources that are provided by the tracking system will be shown.
-
Source code management systems integration
Here, a short summary will be provided about the possibility to connect various versions of control systems (SVN, CVS, etc.) with the tracking system.
-
Accessibility and extensibility
The reader will see the possibilities of extending basic functionality of the tracking system by plug-ins, and learn about its accessibility from other systems.
-
Specialties
This part will summarize additional value against other systems, as is either advertised by developers of the tracking system, or as has been displayed throughout this investigation.
Special care will be taken about the JIRA issue tracking system. In the author’s opinion, this tracking system is the winner of this “competition”, and it has been decided to use it as much as possible within NetBeans IDE.
3.1Bugzilla
Homepage: http://www.bugzilla.org/
License: Open source
Implemented in: Perl
Demo site: http://landfill.bugzilla.org/ (registration required)
Bugzilla is probably the most well-known of the open source issue-management tools. It is used on many open source projects such as Mozilla, Eclipse, and many Linux distributions, and is well-adapted to large, open projects.
Installation
Bugzilla itself is distributed as a gZip package. Before installing Bugzilla itself, the user must manually prepare a running environment – install Perl, a database (MySQL or PostgreSQL), and a web server with Perl module support (the most common is Apache HTTPD server with a mod_perl module). Afterwards, the user unpacks the downloaded gZip package to a chosen directory and edits configuration files of the web server and configuration files of the application.
[TSO-GAR]
User interface
Easily said, Bugzilla UI is strictly functional. There is nothing very nice about it, it provides plenty of functions within a small space, and in the beginning, the user can feel quite uncomfortable and lost; however, after discovering it, the user will find out that it is not very complicated and working with it is straightforward.
Screen shot : Bugzilla use-case - Main Page
Screen shot : Bugzilla use-case - New bug report (select Classification)
Screen shot : Bugzilla use-case - New bug report (enter details)
Screen shot : Bugzilla use-case - Simple Search
Screen shot : Bugzilla use-case - Bug List
Screen shot : Bugzilla use-case - View/Edit bug report
Ticket system
Bugzilla supports a fairly complete, albeit hard-coded workflow model (see diagram below). Although this workflow model cannot be customized in Bugzilla, it usually proves sufficient for most organizations.
Figure : Bugzilla ticket workflow
Bugzilla also supports adding custom fields to a bug database, to capture and search data that is unique to the organization.
[TSO-MOZ1]
Projects management
Bugzilla allows administrators to create and modify so called “Classification trees” of products. This means there is no problem to create a tree where, for example, the first level would be names of projects, and second level would be names of products being edited. No special hacks are required.
Analysis and monitoring
Bugzilla has a very advanced reporting system, which is at first look quite hard to start to use – the user interface is not very friendly.
To see how the bug database currently looks like, a table can be created using any two fields as the X and Y axis, and using any search criteria to limit the bugs in question. For example, Product could be represented by the X axis, and Status by the Y axis, and then a report would show how many bugs were in each Status, in each Product.
The same table can be viewed as a line graph, bar graph, or pie chart. A “Z axis” can also be specified to generate multiple tables or graphs. These reports can be exported as CSV, so that they can be edited in a spreadsheet. Finally, to see how the Bugzilla installation has changed over time, Bugzilla also supports a charting system, which can create graphs that track changes in the system over time.
[TSO-SMA]
Source code management systems integration
Bugzilla integration with source code management systems is provided via plug-ins. CVS, Subversion, Bonsai, Teamtrack Performance and Tinderbox are officially supported.. Those and others can be found on the Add-ons resources page.
Accessibility and extensibility
Bugzilla can be accessed and modified by an XML-RPC web services interface. This makes it possible to write external tools that interact with Bugzilla easily.
There are also many plug-ins and extensions for Bugzilla. A list of them can be found at https://wiki.mozilla.org/Bugzilla:Addons.
[TSO-MOZ2]
Specialties -
Bugzilla UI is generated from HTML templates; therefore, it is possible to customize UI quite easily.
-
There is wide variety of localizations available.
-
Bugzilla notifies users of any new or updated bugs by e-mail.
-
Bugzilla supports basic time tracking.
-
Bugzilla also supports a system of votes, in which users can vote for issues or features they wish to see implemented.
[TSO-MOZ1] [TSO-SMA] [TSO-WIK1]
Conclusion
Bugzilla is a tried-and-true solution that supports large projects and user bases. Its workflow features are more than sufficient for most organizations. On the downside, Bugzilla is particularly complicated to install and maintain, and the user interface would not win any prizes for design or usability. Its reporting features will do the job, though they are not particularly user-friendly.
Dostları ilə paylaş: |