QA/Execution/MozTrap

From MozillaWiki
< QA‎ | Execution
Jump to: navigation, search

Overview

MozTrap is Mozilla's Test Case Management tool. Use it to run and manage test suites of Mozilla products.

Running MozTrap Tests

TBD.

Handling of Tests

Creation of Tests

With the flip to the rapid release cycle for Firefox, changes have had to be made when MozTrap tests will be added. This process is important for QA to sign-off on new features and allow a continuous testing by our community.

If you are already aware of the steps which have to be taken but don't know how to write a MozTrap test in general, you should simply check our Litmus Test Case Writing Primer on QMO in how to get started.

Please keep the following items in mind when you create new MozTrap test:

  • Start with planning of new tests while the feature is getting implemented on mozilla-central and are available in Nightly builds. Have that list available in a i.e. Google spreadsheet for manual testing until the tests are available in MozTrap.
  • Once the mozilla-central -> mozilla-aurora merge happened, add your already prepared manual tests and set the appropriate version tag for the Firefox version. Also enable them for the community.

Disabling of Tests

If some of the MozTrap tests aren't valid anymore, they will have to be disabled instead of deleted. The reason is simply to retain all the test results. By following the steps below you can make sure that disabled tests don't appear in active test-runs.

  1. If the test is covered by Mozmill, inform the Desktop Automation team so the automated test can be also removed. Further delete the additional content at the bottom of the list of steps.
  2. Update the summary to list the testgroup name (see Litmus Overhaul)
  3. Add a description like the following to the steps section on the left:
DISABLED
--------
* Reason: Auto-discovery already handled by testcase 10225.
* Editor: Henrik Skupin
* Test Groups: BFT / BFT-Search - FFT / FFT-Search

An example of a test from the search subgroup can be found here.

Test Data Handling

A lot of our existing MozTrap tests have external content as test data. While it is relatively easy to add steps in a test which interact with a web page, it is also very likely that those tests will be broken over time, when the website owner decides to change its structure. That's why we should invest a bit of our time for the creation of minimized test data, wherever it is possible.

When you start to create a new MozTrap test or update an older test, please make sure to check the following list if test data is involved in that test. If you can answer all the items with yes, make sure to create minimized test data.

Requirements
  • The content you are referring to is located on an external website
  • The test itself doesn't require different websites (domains)

The work which has to be done to create test data can be different. In the simplest case you only have to copy an existing image (make sure we obey the copyright permissions), but there can also be situations when you have to create your own or minimizing an existing HTML document. Put together all needed files before continuing.

To be able to reference the test data from within a MozTrap test, the created files have to be uploaded to a place which is accessible by everyone. Therefore we are using our testcase-data repository. Whenever you want to upload test data step through the steps given below.

How to get data on the server
  • Open the testcase-data repository and check under which subgroup the files have to be added.
  • Check for existing files in that subgroup and name your own files accordingly.
  • File a bug in 'Mozilla QA / Infrastructure' to get the tests added and attach a patch to it. As example see bug 780286. Once the patch is up request review from Henrik (:whimboo).

When the files are in the repository, you can update the MozTrap test and reference the test data via mozqa.com, which is the public mirror and shadows the test data here: http://mozqa.com/data/.

To add the link to the MozTrap test please use the following syntax: [link name](url)

A real example you can find in Litmus test 10077.

MozTrap ownerships

A list of people that are responsible for certain subgroups of tests can be found here: Desktop and Mobile