MozMill is a deprecated test tool and framework that has been superceded by Marionette. The tests are being migrated over to Marionette.
This page is obsolete and can be removed
What is Mozmill? Mozmill is a tool used to automate functional testing. It can be used by applications which are based on the Gecko platform or XulRunner. We use Mozmill to automate existing manual tests which are created in another tool, Litmus. The primary goal of Mozmill is to lower the active testing time for our QA engineers and contributors, allowing them to focus on more critical issues like crash and regression testing. To get a better impression of the benefits Mozmill provides, just compare these raw numbers:
- There are approximately 250 Basic Functional Tests in Litmus which are run for each release
- These tests take a single tester nearly a day to run through manually on a single platform and single locale
- Mozmill can run through these tests in approximately 40 minutes on multiple platforms and locales in tandem
Are you ready to get working with Mozmill? Reading our Getting Started guide is a great start.
Original document information
- Author(s): Henrik Skupin
- Date last modified: May 27, 2010 at 1:44 pm PST
This page needs a technical review from the Mozilla QA Team in Q4 2014. (Assigned to Henrik Skupin.) This article has been created from this page from QMO: Mozmill Contribution
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 which 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. Reporting 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. Documentation 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 irc.mozilla.org or use our Mozmill developer mailing list to get problems resolved. We are looking forward to you!
Original document information
- Author(s): Henrik Skupin
- Date last modified: December 29, 2010 at 8:18 am PST