Changes

Jump to: navigation, search

Bugzilla:QA

25 bytes removed, 21:33, 6 April 2009
m
no edit summary
Since July 11, 2005, [http://www.bugzilla.org/news two days] after the release of Bugzilla 2.18.3, the QA team has been created to improve the quality of future releases. [http://www.bugzilla.org/releases/2.20/ Bugzilla 2.20] has been our most stable version ever released, with many security bugs fixed. This result has been possible partly thanks to the hard work done by the QA team. But all the testing has been done manually, which required both a lot of time and a lot of people (the QA team has less than 10 members) to test the most important features of Bugzilla.
As repeating the same tests manually again and again for each new release quickly became rather boring, we tried to automate the process as much as possible. To help us in this task, the QA team uses use a [http://www.openqa.org/selenium/index.html Selenium] installation on [http://landfill.bugzilla.org/selenium/bugzilla/index.html landfill] (access restricted, sorry) which can be run from a web browser. That's how Bugzilla 2.20.x, 2.22.x and 3.0.x are being tested. Since Bugzilla 3.2 RC1, the QA team uses Selenium scripts written in Perl, which offers many advantages over their HTML equivalent.
== How to contribute? ==
As Selenium cannot do everything, and because someone has to write these scripts anyway, we are always looking for new testers. If you are interested in helping us making Bugzilla better and more stable, feel free to join us. The best way to start is to join us in the [irc://irc.mozilla.org/qa-bugzilla #qa-bugzilla] channel on IRC, or to write to [mailto:qa@bugzilla.org qa@bugzilla.org] telling us that you are interested. Of course, you can also report bugs you discovered to [https://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla b.m.o] directly. If you want to help with automated tests, you are highly encouraged to read below, and download our existing test scripts.
Since mid-2006, we use a [http://landfill.bugzilla.org/bugzillaqa Testopia installation] to track testing progress and to let us easily manage remaining tests to do. See e.g. [http://landfill.bugzilla.org/bugzillaqa/tr_list_runs.cgi?plan_id=4 tests we did for Bugzilla 3.0]. That's a great tool to help us work efficiently, avoiding testing what has already been (automatically) tested.
We still do some tests manually, despite more and more of them are converted to Selenium scripts. If you don't know how to write Selenium scripts, you can still help us either by writing new testcases, or by running existing ones manually. If you prefer to write Selenium scripts, that's even better!
Till Bugzilla 3.0.x, Selenium tests were all written in HTML. It has been decided for Bugzilla 3.2 RC1 and newer to convert them to Perl, giving us more flexibility and control. We no longer write test scripts in HTML.
Both HTML and /or Perl Selenium scripts can be downloaded using bzr. For instance, to download Perl scripts for Bugzilla 3.4, type: bzr co bzr://bzr.bugzilla.org/selenium/3.4
Members of the QA team can use CVS to get them and to commit changesOther available branches are listed [http: cvs -d my_login@landfill//bzr.bugzilla.org:/cvsroot co selenium/ here].
Users having write access to our bzr repository must use this command: bzr co bzr+ssh://your_login@bzr.bugzilla.org/var/www/html/bzr/selenium/3.4where my_login your_login is your user account name on landfill.
This will download Selenium Do not expect HTML scripts to work as is (for all branches, including Bugzilla 2.20, 2.22, 3.0, and older. These HTML scripts no longer exist in 3.2. Do not expect HTML scripts to work as isand newer). They were based on a given test installation on landfill having some given user accounts, products, components and parameters, and so they won't run on a fresh test installation. They are only available so that you can see what we did till Bugzilla 3.0. Note that the 3.0 branch has a t/ directory with test scripts related to WebService. As those these scripts point to the same test installations as above, they also won't run as is on a fresh test installation.
=== Perl Selenium scripts ===
To avoid the problem mentioned above, we highly improved the QA process during the Bugzilla 3.2 cycle and decided to write a script which would populate your fresh new installation automatically so that you could can also run our Selenium and WebService tests. This script is located in <em>bugzilla32/config/generate_test_data.pl</em>, and requires that you first set parameters in <em>bugzilla32/config/selenium_test.conf</em> correctly. It must match your local configuration, especially the url to your installation, which must already exist (but should contain nothing more than what checksetup.pl created, i.e. your admin account, the TestProduct and system groups), as well as the path to your browser (if possible , use Firefox 2 due to a problem with . In Firefox 3, the EULA license being is displayed on startup with a new profile, preventing which prevents Selenium to work). If you set mail_delivery_method to 'Testfile', you can define fake user accounts in the config file. Once the DB is populated, you can start the Selenium server and run our scripts located in bugzilla32/t/.
The fastest way to write Selenium scripts is to use [http://openqa.org/selenium-ide/ selenium-IDE] ([https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&category=Newest&numpg=10&id=2079 amo], formerly [http://seleniumrecorder.mozdev.org/ Selenium Recorder]). Selenium-IDE is a Firefox extension which writes scripts for you. It records your actions and converts them into a valid Selenium script. If you decide to install this extension, you don't need to install Selenium separately; everything is included in the XPI package (samples and docs are not included though). You can also write Selenium scripts with a text editor, but this is longer and can be pretty painful.
What you can read here are the descriptions given for each command of the script. This makes debugging much easier!
Selenium scripts being under development/review can be found in open bugs depending on [http://landfill.bugzilla.org/bugzillaqa/show_bug.cgi?id=3065 bug 3065]. Those shouldn't be considered as "safe" till they are available via CVS/using bzr (you have been warned).
Confirm
683
edits

Navigation menu