Engineering Quality Program

From MozillaWiki
Jump to: navigation, search

Program Description

The purpose of the Firefox OS Quality initiative is to drive the engineering team to Continuous Integration through testing platform improvements, test improvements, test automation and code coverage, where every commit on Gecko and Gaia triggers a full test run, with failures and performance issues reported on Treeherder for immediate backout.

The following Firefox OS 2.6 work must be completed to achieve Continuous Integration:

 * Automated Test Coverage
   * Convert integration tests from GIP to GIJ
   * Fix intermittently failing tests
   * Fix tests that work on mulet but not on device
   * Create a Test Matrix to define which platform the tests are going to run on (device, mulet, emulator)
   * Make sure every single commit in gecko/gaia triggers automated tests
   * Automate MozTrap scenarios using GIJ when feasible
   * Actively maintain working Mulet tests with reporting on Treeherder 
   * Ensure code coverage 
 * Marionette Improvements
   * Remove python from Marionette harness
   * Run Marionette.js tests on devices in the Bitbar testing farm with reporting on Treeherder
   * Improve Marionette stability and stability of sandbox environment
 * Kitkat Emulator Improvements
   * Fix kitkat emulator testing issues
   * Put emulators in place for testing with reporting on Treeherder
   * Port emulator to next android x86 version
 * Raptor Activation on Treeholder
   * Run performance tests on devices with reporting on Raptor and Treeherder (Bitbar testing farm) 
   * Integrate the device service into Raptor
   * Achieve ability for sheriffs to back out commits if post-commit data is bad
   * Ability to block commits with pre-commit testing

The following Firefox OS 2.6 work must be completed to get to the Train Model (OTA branch):

   * Low amount of bugs in master
   * 0 Smoke tests blockers / foxfood blockers in the OTA branch
   * Automated / Semi manual OTA delivery to foxfooders from the OTA branch
   * Automated update of OTA branch from master once OTA has been delivered

The following Firefox OS 2.6 work must be completed to for software architecture improvement:

   * Split BE / FE and apps views (NGA - bridge.js)
   * Mock app BE for FE testing with Telemetry libraries (NGA)
   * BE tests with Telemetry reports (NGA)

Programs and Projects

Continuous Integration
Project Name Leads Status
Automated Test Coverage PM: N/A

EPM: Julie McCracken
EM: Dylan Oliver

ON TARGET
Marionette Improvements PM: N/A

EPM: Julie McCracken
EM: Dylan Oliver

ON TARGET
Kitkat Emulator Improvements PM: N/A

EPM: Josh Cheng
EM: Hsinyi Tsai

ON TARGET
Raptor Activation on Treeholder PM: N/A

EPM: Bobby Chien
EM: Gregor Wagner

ON TARGET
Release Train Model
Train Model OTA Branch PM: N/A

EPM: Julie McCracken
EM: Mahe Potharaju

ON TARGET
Software Architecture Improvement
Split BE / FE and apps views PM:

EPM: Maria Oteo
EM: David Scravaglieri

ON TARGET
Mock app BE for FE testing with Telemetry Libraries PM:

EPM: Maria Oteo
EM: David Scravaglieri

ON TARGET
BE tests with Telemetry reports PM:

EPM: Maria Oteo
EM: David Scravaglieri

ON TARGET