Originally published at: http://www.sitepoint.com/use-bugzilla-efficiently-squash-bugs/
Bugzilla is an open source (Mozilla Public License) bug management framework, used extensively by open-source development communities such as the Linux Kernel, Mozilla, OpenBSD, Webkit, GNOME, KDE, Apache, Red Hat and LibreOffice.
Bugzilla has been a favorite of developers for 20 years, helping them to achieve their common goal – Zarro Boogs. Bugzilla is written in Perl and it works on various databases including MySQL, Oracle, PostgreSQL and SQLite.
Let’s take a look at the framework and see why developers should consider using Bugzilla and how it helps in separating bug management from feature requests, making life easier for developers as well as administrators.
Login with Persona
Bugzilla allows you to login with Mozilla’s Persona which helps to replace multiple passwords and takes care of your privacy. That means you can just login at Bugzilla with any existing Persona account and you’re good to go.
Single Installation
Only one Bugzilla installation is needed per organization. You can manage and add different projects, and project sub-components, from the administration panel.
Flags for Review
What if you want to get information from a user before taking an action? Or you want your code to be reviewed by someone else before closing the bug? Bugzilla comes to the rescue with flags like needinfo
, sec-review
, review
and sec-bounty
, where you can add the names of users so that they’ll be notified and see pending actions regarding that bug in their dashboard. Pretty cool!
Attachment of Patches and Comments
Bugzilla allows you to comment on bugs (although you can’t edit them once they’ve been posted, so be careful folks) which allows conversation between developers and managers regarding the bugs. Users can add attachments to bugs, such as images, code samples or patches which have to be merged into the main codebase. These attachments can either be publicly visible or set to private.
Whiteboard (For adding tags in whiteboard for searches)
So, the question that was (*ahem*) bugging us since the beginning: How to separate bugs from feature requests. Well, there are plenty of ways to do that in Bugzilla, but the two prominent ones are either making a custom dropdown list or using the whiteboard. You can add tags in whiteboard such as feature-request
which indicates a bug has been filed for feature request. Another tag I’ve seen admins use frequently is goodfirstbug
which shows that the bug can be taken by new comers since it is easy to solve! These tags are searchable through the search bar.
Accessible forms for easy bug-filing
Bugzilla is perfect for helping non-technical users to file a bug in seconds. All they have to do is click on File a Bug -> Select the Product -> Fill the bug details -> Submit. Easy right? You can also create custom fields for the bug forms. It also has a feature called Bugzilla Helper, to guide the users in submitting the bug, step by step.
Profile of each member
Every member at Bugzilla has a profile which shows details of a user such as “bugs filed”, “comments made”, “bugs assigned to the member”, “commented on”, “QA-Contact”, “patches submitted”, “patches reviewed” and “bugs poked”. This helps the management team to keep a track on the work of the individual developers.
Assigning Bugs and QA-Contact to Developers
You can assign bugs to users or tag them for QA-contact
. When you assign a bug to a user, they can see the bugs assigned to them in their dashboard as well their profile. Similarly, you can tag a person for QA-Contact
for a specific bug, so that after the bug is closed he can be contacted regarding Quality Assurance for that particular area.
Setting Status, Priority and Severity of the Bugs
An important feature for administrators, is that you can set Status (ASSIGNED, NEW, UNCONFIRMED, REOPENED
), Priority (--, P1, P2, P3
) and Severity (normal, major, enhancement, minor, trivial, blocker, critical
) of the bugs. After all, important things should be attended first and a glance should be enough tell the position of a bug.
Product Dashboard and Notifications via Mail
Bugzilla has a product dashboard which shows you the total bug count filed under a product and also makes pretty bar charts showing the percentage of bugs by Status, Priority, Severity and by Individual Assignee. It even keeps you alerted by sending you notifications of the changes in bugs where you are CC’d through emails.
Bugzilla vs The Rest
There are plenty of other good bug-tracking options out there, including JIRA, Mantis, Trac, Redmine, EventNum and Fossil. Bugzilla supports integrated reports, charts, and scheduled reports by email, whereas others have integrated wiki. Redmine seems to have the most features in this field. Bugzilla, JIRA, Redmine and Trac support test planning integration, customizable workflow and unicode support whereas Fossil supports none of the above and Mantis does not have test planning integration.
Redmine, Fossil and Trac do not support indexed full-text search. Bugzilla and JIRA provide interfaces such as CLI, REST and SOAP. JIRA provides Visual Studio interface which is pretty impressive. JIRA also has a simple authentication system but Bugzilla’s Persona takes the cake. If you were keen on a good, stable bug-management app that wasn’t Bugzilla, your best bet would be JIRA.
Conclusion
Bugzilla is a great product and as you have seen, widely used. It can improve efficiency in administration, bug management and keeping track of project development and the activities of developers.
Using a bug management app — any bug management app — for your projects helps in improving productivity and gives your users an easy platform to report bugs for their beloved product. It’s well worth investigating.
Do you use a bug management app? What are your tips for efficiently zapping bugs?
Continue reading this article on SitePoint