1-click AWS Deployment 1-click Azure Deployment 1-click Google Deployment
Overview
Bugzilla is an open-source tool used for issues and bugs tracking system. It is an extensively used as a bug-reporting device for all sorts of testing functions. Bugzilla is an open-source tool used to track bugs and issues of a project or a software. It helps the developers and other stakeholders to keep track of unresolved glitches with the product.
- It was written by Terry Weissman in TCL programming language in 1998.
- Later, Bugzilla was written in PERL and it uses the MYSQL database.
- Bugzilla can be used as a Test Management tool since it can be easily linked with other test case management tools like Quality Centre, ALM, Testlink,
- Bugzilla provides a powerful, easy to use solution to configuration management and replication problems.
- It can dramatically increase the productivity and accountability of an individual by providing a documented workflow and positive feedback for good performance.
Most commercial and defect-tracking software vendors charged enormous licensing fees in the starting days of Bugzilla. As a result, Bugzilla quickly became a favorite among the open-source users, due to its genesis in the open-source browser project with Mozilla. It is now the most precious defect-tracking system against which all the others are measured. Bugzilla sets the power in an individual’s hand to improve the value of business while providing a usable framework for natural attention to detail and knowledge store to flourish.
Requirements
Operating System
To install and run Bugzilla on your server, the core requirement is to have Perl installed. This means that Bugzilla can be installed on any platform where Perl can be installed, including Windows, Linux, and Mac OS X. Linux is highly recommended and is our 1st-class citizen operating system.
Hardware
The hardware requirements depend heavily on the size of the user base and on the number of bugs in your database. For small teams (up to a few tens of users) with few bugs (up to a few thousands bugs), any good machine will do the job pretty well. The important part is to have enough RAM (4 GB or more recommended) and a fast processor (for instance, 3 GHz). Such hardware is pretty common nowadays. A harddisk with 50 GB of free space is large enough.
Larger teams with several thousands of users and several hundreds of thousands bugs need more hardware. To give you an idea, the Bugzilla installation at Mozilla uses 8 servers: 3 webheads (12 GB of RAM each), 1 master database (35 GB of RAM), 3 slave databases (35 GB of RAM each), and 1 email relay. Moreover, mod_perl is enabled for improved performance. Note that it is designed for very high concurrent access, which is quite unusual, so your requirements are probably lower than that.
Software
Bugzilla needs a database server, a web server, and Perl. In all recommendations below, “Bugzilla requires version X” must be understood as “Bugzilla requires version X or newer“. In all cases, the newer, the better, as newer releases have more bug fixes, are still supported and still get security fixes. If you install the mimimum version mentioned below, the risk is that this version will reach End Of Life pretty soon and so can be unsupported at any time.
Perl:
Bugzilla 4.4 and older require Perl 5.8.1, but Bugzilla 5.0 and newer require Perl 5.10.1. However, if possible you should install Perl 5.12 or newer, as these newer versions have some useful improvements which will make your life easier.
Database Server:
Bugzilla supports MySQL, PostgreSQL, Oracle and SQLite. We highly recommend MySQL and PostgreSQL, which have the best support from Bugzilla and are used daily by Bugzilla developers. Oracle has several known issues and is a 2nd-class citizen. It should work decently in most cases, but may fail miserably in some cases too. SQLite is recommended for testing purposes only or for small teams.
If you install MySQL, version 5.0.15 is required by Bugzilla 4.x, but we highly recommend version 5.5 or newer. If you install PostgreSQL, version 8.3 is required.
Web Server:
Bugzilla has no minimum requirements for its web server. We recommend to install Apache 2.2, though Bugzilla works fine with IIS too (IIS 7 or higher recommended). If you install Apache and you want improved performances, you can enable its mod_perl module.
Reporting Bugzilla Bugs
Bugzilla is not Mozilla or Firefox or Thunderbird.
If the bug you wish to report affects Mozilla, Firefox, Thunderbird, Camino, or Seamonkey, you need to go to bugzilla.mozilla.org.
There are other Bugzillas:
Many people seem to find this page when trying to report bugs in a variety of products. This page is *only* for reporting bugs that affect the Bugzilla bug tracking software itself. Lots and lots of companies and organizations use Bugzilla to handle their bug reporting, but in almost all cases, it’s not *this* Bugzilla. If someone told you to report a bug in Bugzilla, but the bug you came to report isn’t about Bugzilla itself, you might try looking for the correct Bugzilla on our installation list or look on the affected product’s web site to see if they link to their Bugzilla (or other bug tracking system) directly.
Reporting bugs that affect Bugzilla:
- If you are not the administrator of a Bugzilla then you are probably looking for the above paragraph (titled “There are other Bugzillas”). These links are only for problems that affect the Bugzilla bug tracking system itself, they are not for problems in other products. The Bugzilla bug tracking system is a product of its own, and it’s that Bugzilla product which is referenced here.
- Look to see if your bug has already been reported.
- If a related bug doesn’t already exist, report a new bug.
- Write full and complete bug reports so we can fix your problem as soon as possible.
Workflow of Bugzilla
Logging in to Bugzilla
The Welcome page will look as below:
If you are first time user then click on Open a New Account
Enter the Email id with which you want to log in and click Send. A confirmation email will be sent.
Click on the link in the email to continue setting the password.
(Note: Click on any image for enlarged view)
Enter the password and click on Create. You will be automatically logged in and the page is displayed as below
This is your Home Page. Let us now look into the icons present in the Home Page viz File a Bug, Search, User Preferences and Quick Search.
File a Bug
1) Click on File a Bug icon and the page will navigate to the below-displayed page
On this page, we can see all the product classification headers that are available to the user.
2) Now click on All link. This will show you all the products that are present in each of the classification headers.
3) Now click on the product in which you want to log a bug. In this article, we will consider the Food Replicator product from the Unclassified header.
The user is now in entering Bug for Food Replicator screen.
The fields that are present in the default bug screen are:
- Product – Which we selected on the previous page
- Component – Each product can be split into one or more components based on the use or functionality etc.
- Version – Version of the product in which the bug was detected
- Reporter – Email id of the person logging the bug
- Severity – Severity of the bug
- Hardware and OS – Machine details from which bug is logged
- Summary – To provide a summary for the bug
- Description – A complete description of the bug
- Add an Attachment – To provide any supporting file as an attachment
- Submit a Bug – To submit the bug and create a Bug ID
HOW TO INSTALL BUGZILLA ON WINDOWS
Bugzilla is the open source bug tracking system.It’s very simple to use with a lot of features. Bugzilla allows us to track the bugs and collaborate with developers as well as teams in your organization effectively.
If you are building the project, you need a way to keep track of all the bugs. Many people keep track of bugs in an excel spreadsheet which can be difficult to maintain and manage. The better way is to use bug tracking system and for this we can use Bugzilla. I don’t think it is the best one out there but it is the only open source that I know about and yes first time It can be a big pain to install Bugzilla so let’s see installation steps of Bugzilla.
Step 1: Download and Install Active Perl
First of all, you need to install Active Perl on our machine.Download the latest version of Active Perl from here.
Now, Install Active Perl in the root directory like my directory is C:/Perl64 using the Windows .msi installer. After installing Active, Perl starts “Perl Package Manager(PPM)” from the start menu.Here All the modules are listed in it.You need to select/search following modules and install it by right clicking on selected module.Then after go to file and select Run marked actions and your modules starts installing.
Following are the mandatory modules:
AppConfig
CGI
Data-Dumper
DateTime
DBI
DBD-mysql
Digest-SHA
DateTime-Timezone.
Template-Toolkit
Email-send
Email-MIME
URI
Math-Random-ISAAC
Win32
Win32-API
Following are the optional modules:
GD
Chart
Template-GD
GDTextUtil
GDGraph
MIME-tools
libwww-perl
XML-Twig
PatchReader
Perl-ldap
Authen-SASL
RadiusPerl
SOAP-Lite
JSON-RPC
JSON-XS
Step 2: Download Bugzilla.
Next,Download the stable release of bugzilla from here. Now extract the downloaded files and put it on particular folder like i have added it into C:Path to Folderbugzilla
NOTE:You have to have installed MySQL,PHPMyAdmin,PHP and Apache in your machine to setup bugzilla.
Step 3: Database Setup database
Now, Create one new database “Bugzilla” in your MySQL.Then Open local config file in the editor from the folder Bugzilla.and change the following information.
$db_host = 'localhost'; $db_name = 'bugzilla'; $db_user = 'user'; // Desired username of database $db_pass = 'password'; // Desired password of database
Step 4: Bugzilla Configuration
After Changing database details, run the below command and this will initialize a database and create required tables.
c:bugzilla>perl checksetup.pl
At the time of configuration, it asks a mail server hostname.Also, it asks an administrator email and password.
Step 5:Configure Apache
Now, Open your httpd.conf file in apache and place following steps:
First of all, Enable CGI support in Apache by uncommenting the AddHandler cgi-script .cgi line.
AddHandler cgi-script .cgi #Bug Zilla Listen 127.0.0.1:91 <directory "c:path_to_folderbugzilla"=""> Options Indexes FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all ScriptInterpreterSource Registry-Strict DirectoryIndex index.html index.html.var index.cgi ServerAdmin webmaster@dummy-host.somenet.com DocumentRoot "C:Path_to_folderbugzilla" ServerName dummy-host.somenet.com ServerAlias www.dummy-host.somenet.com
Features
For Users
Advanced Search Capabilities
Bugzilla offers two forms of search:
- A basic Google-like bug search that is simple for new users and searches the full text of a bug.
- A very advanced search system where you can create any search you want, including time-based searches (such as “show me bugs where the priority has changed in the last 3 days”) and other very-specific queries.
Email Notifications Controlled By User Preferences
You can get an email about any change made in Bugzilla, and which notifications you get on which bugs is fully controlled by your personal user preferences.
Bug Lists in Multiple Formats (Atom, iCal, etc.)
When you search for bugs, you can get the results in many different formats than just the basic HTML layout. Bug lists are available in Atom, if you want to subscribe to a search like it was a feed. They’re also available in iCalendar format, so if you’re using the time-tracking features of Bugzilla you can see where your bugs fit into your calendar!
There are even more formats available, such as a long, printable report format that contains all the details of every bug, a CSV format for importing into spreadsheets, and various XML formats.
Scheduled Reports (Daily, Weekly, Hourly, etc.) by Email
Bugzilla has a system that will send you, another user, or a group that you specify the results of a particular search on a schedule that you specify! It can be at any time of day, and it can happen as often as every fifteen minutes.
Access to this system is controlled by Bugzilla’s groups system, so you can limit who has access to it, and separately, who is able to send reports to users other than themselves.
Reports and Charts
Bugzilla has a very advanced reporting systems. If you want to know how your bug database looks right now, you can create a table using any two fields as the X and Y axis, and using any search criteria to limit the bugs you want information on.
For example, you could pick Product as the X axis, and Status as the Y axis, and then you would see a report of how many bugs were in each Status, in each Product.
You can also view that same table as a line graph, bar graph, or pie chart.
You can also specify a “Z axis” to generate multiple tables or graphs.
You can even export these reports as CSV so that you can work with them in a spreadsheet.
Finally, to see how your Bugzilla installation has changed over time, Bugzilla also supports a charting system, which can create graphs that track changes in the system over time.
Automatic Duplicate Bug Detection
When filing a bug in Bugzilla, as soon as you start typing a short summary for it, Bugzilla will automatically look for similar bugs in the system and allow the user to add themselves to the CC list of one of those bugs instead of filing a new one.
File/Modify Bugs By Email
In addition to the web interface, you can send Bugzilla an email that will create a new bug, or will modify an existing bug. You can also very easily attach files to bugs this way.
Time Tracking
You can estimate how many hours a bug will take to fix, and then keep track of the hours you spend working on it. You can also set a deadline that a bug must be complete by.
For installations that don’t need time-tracking, you can turn off these fields. You can also control who is able to see them. (Just modify the time tracking group parameter!)
Request System
The Request System is a method of asking other users to do something with a particular bug or attachment. That other user can then grant (say “yes” to) your request, or deny (say “no” to) your request, and Bugzilla keeps track of their answer. You can use it for various purposes; whether you need to ask for code review, request information from a specific user, or get a sign-off from a manager, the system is extremely flexible and can do what you need.
Private Attachments and Comments
If you are in the “insider group,” you can mark certain attachments and comments as private, and then they will be invisible to users who are not in the insider group.
Users will know that a comment was hidden (because the comment numbering will look something like “1, 2, 3, 5” to them), but they will not be able to access its contents.
Automatic Username Completion or Drop-Down User Lists
For small Bugzilla installations, Bugzilla supports showing all users in a drop-down list to select from, when reassigning bugs to another user, adding a user to the CC list, or many other areas.
Administrators can control who appears in these drop-down lists for each user with “user visibility” controls, to prevent certain users from knowing about the existence of other users.
For larger installations, Bugzilla supports “autocomplete” when typing a username for the assignee, CC list, or other field that takes a username. After you type at least three characters into one of these fields, Bugzilla will suggest a list of users who have those letters in their username or their real name.
Patch Viewer
Patch Viewer gives you a nice, colorful view of any patch attached to a bug. It also integrates with LXR, CVS, and Bonsai to provide you even more information about a patch.
In particular, it makes code review much easier.
“Watch” Other Users
In Bugzilla, you can say that you want to “watch” another user. Then, you will get every email that user gets from Bugzilla, as though that user was you. This is particularly useful when one developer goes on vacation and another needs to handle that developer’s bugs while the other developer is on vacation.
This doesn’t allow you to bypass security–if you don’t have access to a bug, you won’t get notifications about it, no matter what.
Move Bugs Between Installations
Bugzilla supports the ability to move a bug from one Bugzilla installation to another. This even works across versions–you can move a bug from a Bugzilla 2.16 installation to a Bugzilla 3.0 installation without having to do any manual work.
Save and Share Searches
Once you have performed a search, you can “save” it so that it appears in the footer of every page and all you have to do to run it again is click the link.
Once you have saved a search, if you have the right permissions you can also share that search with any group that you belong to in Bugzilla. Then they will have the option of displaying your search in their footer along with their searches!
For Administrators
Excellent Security
The Bugzilla Project takes security seriously. Bugzilla runs under Perl’s “taint” mode to prevent SQL Injection, and has a very careful system in place to prevent Cross-Site Scripting. Bugzilla’s history of patching security vulnerabilities is excellent, and the system is designed at every stage with security in mind.
Bugzilla is also very careful about information leaks–if you use Bugzilla’s group system to hide something, it is absolutely hidden. Nobody will be able to get any information about it whatsoever.
Also, email addresses of users are not available to logged out users, to make life harder to spammers. And if someone tries to abuse your account by guessing your password, this account will be automatically locked after a few attempts to prevent brute force.
Extension Mechanism for Highly Customizable Installations
All of Bugzilla’s User Interface and every email that Bugzilla sends are generated from “templates”, files that contain mostly just HTML, CSS, and JavaScript. Depending on how far you want to customize your installation, you don’t have to know Perl to customize Bugzilla, you just have to edit the templates!
For more complex tasks, Bugzilla has a very advanced Extensions system that allows you drop files into any Bugzilla installation and change its behavior in various ways. There is a list of available extensions that you can install on your Bugzilla, and also very extensive documentation on how to write your own Extension. Extensions are a great way to write customization for Bugzilla that you can maintain with few changes even across major releases of Bugzilla!
Custom Fields
Bugzilla supports adding custom fields to your bug database, to capture and search data that is unique to your organization! Many different types of custom fields are supported, and you can even display them based on the value of another field, to only use them when they are relevant.
Custom Workflow
Bugzilla comes with a default list of bug statuses and resolutions, as well as a default workflow. But they can all be edited to better match your needs. This means bug statuses and resolutions can be created or deleted very easily, and the workflow is fully customizable.
Full Unicode Support
All of Bugzilla fully supports Unicode, including multi-byte languages such as Japanese and Chinese. You can enter data into Bugzilla in Unicode, and you can search and sort all data correctly in Unicode.
Localization
Bugzilla administrators can configure which languages are supported by their installations and automatically serve correct, localized content to users based on the HTTP ‘Accept-Language’ header sent from users’ browsers.
There are currently localized templates available for:
- Belarusian
- Bulgarian
- Chinese
- Czech
- French
- German
- Japanese
- Polish
- Portuguese (Brazil)
- Spanish (Spain or Mexico)
- Russian
These localized template packs are third-party contributions, may only be available for specific versions, and may not be supported in the future. (See the Localizations Section of the Download page.)
It is also possible to translate Bugzilla yourself, by just copying and translating the existing templates. See the Localizer’s Guide for more information!
mod_perl Support for Excellent Performance
Bugzilla can be run under Apache’s mod_perl, which greatly speeds up individual page loads. Bugzilla pages often load in under a second when running under mod_perl.
Bugzilla also runs in a non-mod_perl environment, so you can run it under Apache’s normal mod_cgi, IIS, or the web server of your choice!
Webservices (XML-RPC and JSON-RPC) Interfaces
Bugzilla can be accessed and modified by an XML-RPC or a JSON-RPC Webservices interface. This makes it possible to write external tools that interact with Bugzilla easily. The Bugzilla Project works to keep the Webservice interface of Bugzilla stable across releases, so an application written against one version of Bugzilla’s XML-RPC or JSON-RPC interface should continue to work against future Bugzilla versions.
Control Bug Visibility/Editing with Groups
Bugzilla allows you to define which groups of users can edit or see which bugs. These controls are very advanced, and were designed to support small-group needs to full enterprise group systems.
Impersonate Users
Bugzilla administrators can impersonate any user in the system (except other administrators). This helps for troubleshooting, and also is useful at other times.
Multiple Authentication Methods
Bugzilla supports authenticating against its built-in user database or against an LDAP server.
It also supports fall-through authentication, so that it can use any authentication method supported by Apache (or your web server).
You can also “stack” these authentication methods, so that, for example, it falls back to the Bugzilla database if the user isn’t found in LDAP.
Support for Multiple Database Engines
Bugzilla can run on MySQL, PostgreSQL and Oracle. MS-SQL is on the road and should be supported in the near future. It’s also possible to write a driver for the database of your choice.
Sanity Check
Bugzilla’s Sanity Check scans your database for inconsistencies. It reports errors and either offers to fix them automatically or gives you links to help you fix the problem.
Now let us see what fields are present in the Advanced View. Click on Show Advanced Field Link in the screen.