MozMill is a deprecated test tool and framework that has been superceded by Marionette. The tests are being migrated over to Marionette.

Much of Mozilla's success is attributed to contributions from the community; Mozmill is no different. Mozmill breaks down into several sub-projects: tests, test-runs, shared modules, results reporting, extension development, web development, and documentation. We need help across all of these projects.

Skill-wise, many of these projects require varying levels of knowledge; some requiring no technical knowledge whatsoever. In fact, many of these areas can be approached with no prior programming knowledge. All you need is a willingness to learn!

Areas of Work

Mozmill Tests

Broken Tests - Changes come fast and furious in Firefox. These changes can create problems for our tests, causing failures. We need your help in quickly fixing any failures. Results of each daily test run can be found here.

New Tests - Many of our manual test cases need automating. The more tests that are automated, the less our engineers and community have to spend their time running these tests. We need your help writing these automated tests.

Shared Modules - These make writing tests easier. Shared modules allow us to simplify tests by placing commonly used functionality into helper methods. We need your help both adding new helper methods and fixing failures in current shared modules.

Software Update Tests - We have a suite of tests which are specifically used to test the software update process. These tests need constant tweaking and improvement from release to release. We need your help improving these tests.

Accessibility Tests - We have a suite of tests which are specifically used to test accessibility. These tests ensure Firefox is accessible to all users via screen readers. We need your help improving existing tests and creating new tests.

l10n Tests - We have a suite of tests which are specifically used to test localized builds of Firefox. These tests ensure Firefox is usable in over 70 world languages. We need your help improving existing tests and creating new tests.

Add-ons Tests - We have a suite of tests which are specifically used to test Firefox add-ons. These tests ensure functionality of various add-ons in Firefox. We need your help improving existing tests and creating new tests for various add-ons.

Automated Test-runs

Cloud Testing - The goal of this project is to make it as easy as clicking a button to run Mozmill tests. Our view is that having to set up software and prerequisite modules is a high barrier to just anyone running tests and providing us with results. This project strives to make it easier. In implementation, this project will exist as a Firefox add-on. Please read the project page if you are interested in assisting with either development or testing for this project.

Release Testing - This project encompasses running automated tests every time there is a release. While the current set of automated tests certainly speed up the release process, we need your help developing more tests and running the test runs locally. These efforts will help to streamline the release process, making it more efficient. We hope to expand this to localization testing in the future.


Result Data - This project encompasses capturing result data from test runs. Results captured from test runs are important for QA to identify issues and for Developers to resolve these issues. This project is a prerequisite for the Web Dashboard project (see below).

Web Dashboard - The purpose of this project is to create a (pretty) web interface for viewing results of test runs. This will make it easier for developers and QA to search and filter result data pertinent to identifying and fixing bugs. Currently, results of daily test-runs and release tests are captured and displayed on our Mozmill Dashboard.


Shared Modules - As we continue to develop shared modules, making development of tests easier, we need to document these modules. It is extremely important to have good documentation of how to use the modules. The usefulness of these modules is greatly reduced if documentation is lacking. As new modules are developed, we need help ensuring proper documentation of these modules. Our current shared module documentation can be found here.


If you are interested in helping us to push Mozmill forward, please check the individual project pages and contact its lead person. For general questions about projects you can always get in contact with Henrik Skupin. Together we will figure out what's the best way for your contribution.

Once you've found an area of work and you have questions, join us in #mozmill on or use our Mozmill developer mailing list to get problems resolved.

We are looking forward to you!

Original document information