canmove, Confirmed users, Bureaucrats and Sysops emeriti
4,714
edits
m (Whimboo moved page Auto-tools/Automation Development/Projects/Mozmill Shared Modules/On Demand Testing to QA/Automation/Projects/Mozmill Shared Modules/On Demand Testing: Team reorganization) |
|||
(11 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
|- valign="top" | |- valign="top" | ||
| '''Co-workers:''' | | '''Co-workers:''' | ||
| Henrik Skupin | | Henrik Skupin, Al Billings | ||
|- valign="top" | |- valign="top" | ||
| '''Dates:''' | | '''Dates:''' | ||
| | | Ongoing; Phase III to be completed end of Q3 2011 | ||
|- valign="top" | |- valign="top" | ||
| '''Status:''' | | '''Status:''' | ||
Line 17: | Line 17: | ||
|- valign="top" | |- valign="top" | ||
| '''Repository Location:''' | | '''Repository Location:''' | ||
| | | http://hg.mozilla.org/qa/mozmill-automation/file/default/ondemand | ||
|- valign="top" | |- valign="top" | ||
| '''Tracking Bug / Bug List:''' | | '''Tracking Bug / Bug List:''' | ||
Line 23: | Line 23: | ||
|- valign="top" | |- valign="top" | ||
| '''Documentation:''' | | '''Documentation:''' | ||
| [https://wiki.mozilla.org/QA/Mozmill_Test_Automation/On_Demand_Update_Testing/Documentation | | [http://pulse.mozilla.org/ Pulse], [https://wiki.mozilla.org/QA/Mozmill_Test_Automation/On_Demand_Update_Testing/Documentation Command line docs] | ||
|} | |} | ||
Line 47: | Line 47: | ||
# From the test plan, create a configuration file including the desired builds, platforms, and locales. | # From the test plan, create a configuration file including the desired builds, platforms, and locales. | ||
# Run a single script that reads the configuration file, automatically downloads the desired builds, and stages them in the disk share. | # Run a single script that reads the configuration file, automatically downloads the desired builds, and stages them in the disk share. | ||
# Run a single script that uses | # Run a single script that uses pulse to kick off a process on each target platform machine and executes the existing update testing script. | ||
# Look in brasstacks (our automation result reporting framework) for the update test results as they land. | # Look in brasstacks (our automation result reporting framework) for the update test results as they land. | ||
===The Staging Script=== | |||
The staging script takes as input a configuration file containing a list of all desired platforms, builds, and locales. | |||
The script expands the configuration file's lists into a comprehensive list of desired builds, and downloads into the staging area. | |||
===The Execution Script=== | |||
The execution system consists of two parts, a test pusher and a test listener. | |||
The test pusher defines the branch, update channel, and optionally the platform to be tested. The test listener runs on each desired platform; when a push for all platforms or for the selected platform is received, it launches the existing update test scripts. | |||
The existing update test scripts consume the directory tree created by the staging script to perform the desired total test run. | |||
==The Process after Phase II== | |||
Phase I concentrates on improving the Phase I process in two ways: | |||
# We've introduced a cluster concept so that multiple test clusters can be run without interfering with each other. | |||
# The system now works with functional tests as well. In fact, this project page is basically obsolete and now needs to be replaced with "On Demand Release Testing," as the system can now handle all aspects. | |||
We've also introduced a new component, a heartbeat emitter. This is a temporary workaround, because we found that rolling out Pulse listeners that receive only sporadic traffic causes their sockets to be closed out from under them. The heartbeat emitter is simply a traffic generator. | |||
==The Process after Phase III (In Progress)== | |||
Phase III will be improving Phase II in one primary way: | |||
The | # The system will be kicked off from a web front end rather than via command-line | ||
The primary gain here will be simplifying the process for those who aren't used to ssh and command-line tools. Our goal is to simplify the test run process to the point that a non-automation person can ramp up on how to do it within minutes. |