QA/Mozmill Test Automation
OUT OF DATE WARNING
This page is outdated since beginning of July 2011 when the Automation Services team has been formed. Check its team page for further details.
Overview
Mozmill is a test tool to run functional tests in an automated manner. It can be used by applications which are based on the Gecko platform or XulRunner.
Mozilla QA is using Mozmill to automate existing manual tests which were added to Litmus and folded into different testgroups, like Smoketests, Basic Functional Tests (BFT), and Full Funcional Tests (FFT). The primary goal is to lower the active testing time for any of our QA engineers and contributors. As a result we will be able to cover more than only one platform and locale for BFT testing. To get a better impression of the enhancements just compare those raw numbers: To run all the BFT tests manually it takes about one man day while running all the tests on every platform in parallel will eventually take about 40 minutes with Mozmill!
Team Details
Given the number of new features and regression fixes for any new Firefox major or security release, we will continuously enhance our functional testing framework by adding more tests of any type, increasing the number of platforms and locale builds to run the tests on, and by making the analysis of test reports more user friendly.
Team Members and Assignments
Name | Contact | Availability | Project Assignments |
Henrik Skupin | hskupin@mozilla.com | Employee | Team Lead (Details see Areas of Work) |
Anthony Hughes | ahughes@mozilla.com | Employee | Fixing failures and writing new tests, Endurance Tests |
Geo Mealer | gmealer@mozilla.com | Employee | MozMill testing, updating Shared APIs, Update Tests |
Dave Hunt | dhunt@mozilla.com | Employee | Endurance Tests |
Aaron Train | atrain@mozilla.com | Employee | Fixing test failures, writing new tests, testing frameworks |
Owen Coutts | ocoutts@mozilla.com | Employee (Intern) | Revising Mozmill Dashboard |
Vlad Maniac | vmaniac@mozilla.com | Contractor | Mozmill tests |
Alex Lakatos | alex.lakatos@softvision.ro | Contractor | Fixing test failures, writing new tests, testing frameworks |
Remus Pop | remus.pop@softvision.ro | Contractor | Fixing test failures, writing new tests, testing frameworks |
You can also get in contact with us by subscribing to the mozmill-dev list on Google or by joining the #mozmill channel on IRC.
Calendar
You can subscribe to the Google calendar (ical) to see our events, milestones, and other deliverable dates.
Meetings, Work Weeks, and Dates
We have a bi-weekly public team project meeting. If you want to join the meetings, please check the meeting page for details.
Roadmap
The QA Test Automation team has a couple of ongoing projects. Priorities for each of those will be re-defined at the beginning of each quarter.
Q2 2011
- Our high-level goal is to complete the work on the API refactoring project. It's necessary for a more streamlined and consistent way of creating Mozmill tests for Firefox. In combination with the basic API changes, new shared modules and ui maps have to be created for each single component our Mozmill tests cover. For this quarter we want to focus on the browser interface and the new Add-ons Manager.
- With the new Add-ons Manager in-place for Firefox 4 there are needs for automating the existing manual tests on Litmus. We want to start with the tests for the Discovery Pane (Get Add-ons).
- To follow-up on the great feedback we got for Endurance Tests last quarter, we will work on ways to retrieve even more performance and system related data. That's necessary to have a broader range of Endurance Tests (not only memory usage) and data for our own analysis.
- With more and more parallel releases coming up in the future our internal testing strategy has to be improved by relying on the Pulse system for distributed messages. Those will be used to broadcast testing tasks across machines. It's useful for update testing but also for our functional tests.
Areas of Work
As you can imagine a project like Mozmill automation has a couple of areas where work is happening or at least planned for the future. The following chapter will give you a good overview about all of our projects.
Mozmill Tests
Project | Description |
New Mozmill Tests | Create automated tests to minimize our manual testing efforts. |
New Shared Modules | |
Endurance Tests | |
Handling of Broken Tests | Making sure to always have a green test-run for Mozmill tests. |
Shared Modules Refactor | |
Test Modules Refactor | Work in parallel with the Shared Modules Refactor project to simplify the test modules. |
Software Update Tests | Create Mozmill tests to ensure lesser problems during an upgrade of Firefox. |
Add-ons Tests | Create Mozmill tests to run functional tests against add-ons. |
L10n Tests | Create Mozmill tests to ensure that localized builds are not broken. |
Automated Testing
Project | Description |
Crowd-sourced Testing | |
Automated Test-runs | |
Triggered Update Testing | |
On-Demand Update Testing | |
Reporting
Project | Leads | Description |
Web Dashboard | Henrik Skupin Anthony Hughes |
|
Documentation
Project | Description |
Shared Modules | Documentation on how to use shared modules and their feature set. |
On hold
Project | Description |
Accessibility Tests | Create Mozmill tests to ensure Firefox is accessible by everyone. |
Panorama Testing | Create a high-quality suite of performance and functional tests to support the Panorama feature of Firefox 4 |
Finished Projects
Project | Description |
Result Data | Collecting necessary result data of test-runs for each test type. |
Contribution
Each of the above mentioned sub-projects needs love from someone with passion to work on such a challenging task. There will be a project lead who will offer help in various ways.
If you are interested in helping us to push Mozmill a big step forward, please get in contact with Henrik Skupin. We will figure out what's the best way for your contribution.
First Steps
Joining an existing project can be hard especially when you see all the stuff in the mind map. To give you a handy guide for the first steps a rich documentation has been created. It covers the following areas:
- Installation of Mozmill
- Getting in touch with the mozmill-test repository
- Executing existent Mozmill tests
All those documents should bring you into a state to be able to play around with Mozmill. At least by running those tests against nightly or release builds of Firefox and reporting failed tests would be a great help for us.
Resources
There are a couple of resources which are related to Mozmill. A nearly complete list you will find below:
- Overview about the Mozmill project on QMO
- Complete documentation for Mozmill
- Documentation for Shared Modules
- How to use Mozmill and create tests for Firefox