QA/Desktop Firefox/Automation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 58: Line 58:


= Areas of Work =
= Areas of Work =
== Aurora Smoketest Automation ==
== Projects ==
This project involves automating the smoketests we run with every Firefox release.
{| class="querytable sortable"
{| class="querytable sortable"
  |-
  |-
  | class="header" | Test Run
  | class="header" | Test Run
| class="header" | Test cases
  | class="header" | Automated
  | class="header" | Automated
  | class="header" | % COMPLETE
  | class="header" | % COMPLETE
| class="header" | Documents
  |-
  |-
  | [https://litmus.mozilla.org/show_test.cgi?searchType=by_category&product_id=1&branch_id=44&testgroup_id=277&match_limit=50&subgroup_id= Aurora Smoketests]
| Smoketests: simplest tests, run with every Firefox release.
| 32
| 15 / 24
| 13
| 46.9 %
| 40.6%
  | [https://docs.google.com/spreadsheet/ccc?key=0AmkRt0ylPb8zdEhjOXRUak1MY1ViaS1zT2hBRWd4QlE&hl=en_US#gid=0 worksheet]
  |}
  |}



Revision as of 23:34, 25 November 2011

UNDER CONSTRUCTION

This is being refactored from the old documentation here


If you are looking for the Automation Services team, please go to their team page.

Overview

Mozilla QA uses Mozmill, a tool developed for test automation of applications based on the Gecko Platform (XUL Runner).

We use this tool to automate our manual tests in Litmus. The primary goal is to lessen the time we spend actively testing Smoketest, Basic Functional, and Full Functional level regression tests; enabling us to focus our time more on deep testing of bleeding-edge features and bugs.

An added benefit of using automation is that we can run tests across multiple platforms and locales in parallel, thereby increasing the coverage of regression tests in a smaller amount of time. To put that all into perspective, a single person running the BFTs on one platform and one locale takes about 8 hours. Mozmill can run the same tests across all platforms and all locales in a couple of hours.

The Mozmill tool and APIs are maintained and developed by the Automation Services team. The relatively small Desktop Automation team is responsible for developing the tests. This is where we need you, the community.

The Team

Person Photo Location Role
Anthony Hughes
IRC: ashughes
Vancouver, Canada Team Lead
Vlad Maniac
IRC: vladmaniac
Cluj, Romania Contractor Lead
Alex Lakatos
IRC: AlexLakatos
Cluj, Romania Developer
Remus Pop
IRC: remuspop
Cluj, Romania Developer

You can get in contact with us in a few different ways:

  • Take part in a discussion on the mozmill-dev mailing list
  • Join the #mozmill IRC channel to ask about Mozmill
  • Join the #automation IRC channel to ask about test automation

Meetings

Every two weeks we meet to discuss the progress we have made, where we want to go, and how we are going to get there. You can learn a lot about what we do just by listening in to one of our meetings. These meetings are open to everyone.

Meeting Information:

   When: Mondays, 8am PT / 4pm GMT
Dial-in: +1 (800) 707-2533 Password 369 Conference 654

Areas of Work

Projects

Test Run Automated % COMPLETE Documents
Smoketests: simplest tests, run with every Firefox release. 15 / 24 46.9 % worksheet

Functional Tests

This project entails development of tests for Firefox features, smoketests, and BFTs based on the manual tests we already have in Litmus. The following details the current areas of development we are focusing on.

Component CHECKED-IN BLOCKED ASSIGNED UNASSIGNED % COMPLETE
Add-ons Manager 14 3 9 31 24%
App Tabs 2 0 0 1 66%
Audio & Video 0 0 1 5 0%
Awesomebar 10 0 1 5 62%
Bookmarks 2 0 4 4 20%
Content Handling 0 0 0 8 0%
Cookies 4 0 0 0 100%
Downloading 6 4 4 3 35%
Feedback 0 0 0 10 0%
Find in Page 1 0 0 4 20%
Form Manager 7 0 0 0 100%
General 6 1 0 9 37%
Geolocation 0 0 0 5 0%
History 0 0 2 8 0%
Home Tab 0 0 0 1 0%
Import 0 0 0 1 0%
Installation 1 3 0 5 11%
Layout 1 3 0 9 7%
Library 0 0 0 12 0%
Lightweight Themes 0 0 0 3 0%
Menus 0 0 0 13 0%
Microsummaries 0 0 3 0 0%
Preferences 8 0 0 0 100%
Panorama 2 13 6 2 8%
Password Manager 10 0 0 0 100%
Plug-ins 1 3 0 18 4%
Pop-up Blocking 2 0 1 7 20%
Printing 0 1 0 6 0%
Private Browsing 14 0 0 1 93%
RSS 0 1 0 5 0%
Search 10 0 0 2 83%
Security 16 2 0 1 84%
Session Store 1 0 0 15 6%
Software Update 3 0 0 2 60%
Sync 0 0 0 12 0%
Tabbed Browsing 5 7 0 9 23%
Technical Tools 1 0 0 3 25%
Toolbar Customization 0 0 0 5 0%
Uninstall 0 1 0 2 0%
Web Console 0 0 0 9 0%
Discovery Pane 6 6 1 0 46%

Check out this spreadsheet for more details regarding active work.

Failing Tests

This project entails fixing tests which are currently failing. Tests fail for several reasons: a change in content, a change in the APIs, a change in Mozmill, a change in Firefox, or even a change in the host environment. It is of primary concern that we fix these failures in as little time as possible. Here are some useful links to get you started:

Life-cycle of a Failure
  • Check the dashboard for recent failures
  • Check if the failure is already captured in Bugzilla
  • If not, file a new bug
  • Once a bug is filed, assign it to a developer (you)
  • Debug the failure (see our tips below) -- failures older than 24 hours need to be disabled first
  • Code your fix and attach a patch to the bug
  • Once your patch has passed the review process it will be checked in


Getting Started

To help you get started, we have put together a couple of guides:

Of course, if you have any questions, you can always reach us by: