QA/Mozmill Test Automation/Update Tests: Difference between revisions

No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 17: Line 17:
  |- valign="top"
  |- valign="top"
  | '''Repository Location:'''
  | '''Repository Location:'''
  | [http://hg.mozilla.org/qa/mozmill-tests/file/default/firefox/softwareUpdate Update Tests]<br/>[http://hg.mozilla.org/qa/mozmill-tests/file/default/scripts Update Script]
  | [http://hg.mozilla.org/qa/mozmill-tests/file/default/firefox/softwareUpdate Software Update Tests]
  |- valign="top"
  |- valign="top"
  | '''Tracking Bug:'''
  | '''Tracking Bug:'''
Line 31: Line 31:
The complete project can be divided into 3 different sub projects, which can mostly be run in parallel:
The complete project can be divided into 3 different sub projects, which can mostly be run in parallel:


* Creation and enhancement of the software update script and dependent scripts
* Creation of software update tests (based on existing Litmus tests)
* Creation of an environment to run automated software update tests
* Script for Automated Software Update Test-runs
* Creation of software update tests based on existing Litmus tests


==Software Update Script==
==Creation of Software Update Tests==
The base of the complete project is definitely the Python script which has to be used to run all the existent software update tests. Once it has been called it should automatically execute the steps below:
The creation of the software update tests is basically the same work as we do for all the other [[QA/Mozmill_Test_Automation/Test_Writing|Mozmill tests]]. We focus on existing Litmus tests to implement the tests.
 
1. Install a build
2. Run the partial or complete software update tests
3. Reinstall the build
4. Run the fallback software update tests
5. Reinstall the build
6. Run background software update tests
7. Uninstall the build
 
A script with this feature set has already been created on {{bug|504653}} and is able to execute all the steps except step 6. The reason is that we do not have any automated tests for background software updates yet.
 
==Environment for Automated Tests==
To easily setup a machine to run automated software update tests a wrapper script is necessary, which has to prepare the environment before the tests get run. Such a script does not exist at the moment and has to be written. The following requirements have to be met:
 
1. Setup a system with the virtual Python environment
2. Download all requested builds from the FTP server
3. Execute the software update script for all downloaded builds
4. Clean-up the system, which includes the downloaded builds and the prepared virtual environment.


If you want to help please contact Henrik Skupin.
If you want to help please contact Henrik Skupin.


==Creation of Software Update Tests==
==Script for Automated Software Update Test-runs==
The creation of the software update tests is basically the same work as we do for all the other [[QA/Mozmill_Test_Automation/Test_Writing|Mozmill tests]]. We focus on existing Litmus tests to implement the tests.
To be able to run all the created software update tests a single test-run script is necessary. It takes care of installing Firefox, running all kind of necessary update checks, and sending the results to a reporting server (supported by CouchDB).


If you want to help please contact Henrik Skupin.
The implementation of the script is covered in the [[/QA/Mozmill_Test_Automation/Automated_Testruns#Software_Update_Script|Automated Test-run project]].

Latest revision as of 14:15, 1 June 2010

Overview

Lead: Henrik Skupin
Co-workers: n/a
Dates: No specific dates set
Status: Needs assignee
Repository Location: Software Update Tests
Tracking Bug: bug 562352

Excerpt

Mozilla provides updates for each new version of Firefox, which makes the whole update process simple and fast. To ensure the best quality for our users, QA constantly runs software update tests for security and major releases. Those tests are complex and time consuming and should be completely run automated in the future.

This project covers all the work which is necessary to create an environment for automated update testing, but also the implementation of needed tests.

Project Details

The complete project can be divided into 3 different sub projects, which can mostly be run in parallel:

  • Creation of software update tests (based on existing Litmus tests)
  • Script for Automated Software Update Test-runs

Creation of Software Update Tests

The creation of the software update tests is basically the same work as we do for all the other Mozmill tests. We focus on existing Litmus tests to implement the tests.

If you want to help please contact Henrik Skupin.

Script for Automated Software Update Test-runs

To be able to run all the created software update tests a single test-run script is necessary. It takes care of installing Firefox, running all kind of necessary update checks, and sending the results to a reporting server (supported by CouchDB).

The implementation of the script is covered in the Automated Test-run project.