Dato che Firefox OS è ancora in fase di sviluppo, e il supporto per nuovo hardware sarà imminente per il prossimo futuro, è importante sapere come provarlo. Questa pagina offre articoli che forniscono informazioni su vari aspetti della sperimentazione Firefox OS, tra cui l'esecuzione di test differenti, l'automazione, e risultato di reporting e di monitoraggio.
Inziamo
- Esecuzione di test su Firefox OS: Una guida per gli sviluppatori
- A, guida pratica sviluppatori focalizzati ad ottenere iniziato con l'esecuzione dei test. Questo è dove si dovrebbe cominciare se non siete esperti nella gestione di test di Mozilla e sistemi di automazione. Se si, allora probabilmente avete un'idea di ciò che i test che si desidera eseguire e come, e si può saltare a delle guide dettagliate più specifici indicati di seguito.
Gaia tests
These articles cover the primary test suites designed to put Gaia through its paces.
- Gaia UI tests
- Python tests for Gaia UI interactions and features.
- Gaia integration tests
- JavaScript integration tests for Gaia, based on Marionette.
- Gaia unit tests
- Gaia unit tests with no UI interaction; written in JavaScript, not Marionette-based.
- Gaia performance tests
- Measures Gaia app performance based on internal instrumentation. The testing harness is in-tree.
B2G tests
The guides below cover a number of different test harnesses that test various aspects of B2G functionality.
- Mochitests
- Gecko functional and API tests; HTML & JS based. No Gaia interaction.
- Reftests
- Gecko rendering correctness tests.
- WebAPI tests
- Gecko JS-based WebAPI tests; most of these require an emulator.
- xpcshell tests
- Headless tests of Gecko XPCOM APIs.
- B2GPerf
- Measures Gaia app performance based on internal instrumentation.
- Eideticker
- Provides performance measurements for Firefox OS based on video captures.
- Endurance tests
- Long-running repetitive tests designed to find memory leaks and stability problems.
- MTBF test
- This is a test framework based on non-restart gaia-ui-test. It tries to locate all kinds of issue prevents tests from running in a long time. (Currently, it is owned by Taiwan QA team and still a developing test framework)
- Memory tests - coming soon
- Repetitive tests run per-commit to mozilla-central, reporting to https://areweslimyet.com/, designed to find problems with memory usage.
Supporting documentation
This section provides links to some of the supporting technologies that underpin Mozilla's tests, which you may want to find more information about.
- Marionette
- A remote test driver based on Selenium WebDriver.
- Marionette JavaScript tests
- A node.js-based runner for Marionette.
- Marionette Python tests
- A Python runner for Marionette.
Note: If you want to run Marionette against a production build (to run gaia integration tests, gaia-ui-tests, etc.), you can install Marionette as an extension (this currently only works for 1.3 builds, but more support will be added soon.)
Continuous integration and result reporting
The following articles cover the continuous integration and result reporting mechanisms Mozilla uses to store and intepret test data.
- TBPL
- Understand the tests and builds that run on TBPL.
- Jenkins
- Understand the tests that are run on real devices via Jenkins.
- Datazilla
- Understand which performance tests are reporting to the Datazilla dashboard, and what those tests measure.
- Test execution chart
- A chart showing which tests are being run — on what devices and where — and which platforms are supported for each test.