Add-ons/QA/Testplan/Add-on Compatibility Check

From MozillaWiki
Jump to: navigation, search

Revision History

Date Version Author Description
08/18/2017 1.0 Vasilica Mihasca Created first draft


Overview

With the full-on switch to webextensions, a lot of older add-ons are going to become incompatible with Firefox 57. That means that the add-on compatibility checker after update will trigger for anyone who has a legacy add-on installed.

Since we want to make onboarding for Firefox 57 version extremely smooth, the browser will immediately do an automatic update check and install updates at startup for users who have automatic extension updates enabled. If the check or the actual update process takes more than some fixed amount of time (1 second) we will show a progress dialog and try to make it look just like the installer’s progress dialog. If the user has disabled updates or if we can’t do the check (e.g., because they are offline) then we will just proceed with startup with legacy extensions disabled.

Purpose

This document purports to detail the test approach to Webextension Permissions including Entry/Exit criteria, Scope for testing, links to testcases etc

Entry Criteria

  • QA has access to all the PRDs, mocks and related documents
  • The feature has landed on Nightly
  • AMO parts has landed on dev

Exit Criteria

  • All the bugs against the feature have been triaged
  • All the P1/P2 bugs have been fixed
  • All the resolved bugs have been verified by QA
  • The find/fixed rate is going down over a predefined period of time

Acceptance Criteria

This section broadly outlines when the product is ready to ship

  • QA has signed off
  • All the required Telemetry is in place
  • All info is localized at least for a pre-defined set of locales
  • All the necessary PR/blogposts have been sent out

Scope

This section describes what parts of the feature will be tested and what parts won't be.

what's in scope?

  • Automatic update check and updates install at startup after a browser upgrade with legacy add-ons/webextensions installed
  • Check behavior for a browser downgrade with legacy add-ons/webextensions installed

what's out of scope?

  • Security testing
  • Performance testing

Ownership

Dev Lead: Andrew Swan; irc nick :aswan
QA Manager: Krupa Raj; irc nick :krupa
QA Lead: Victor Carciu; irc nick :victorc
Webextensions QA: Vasilica Mihasca; irc nick :vasilica_mihasca
Add-ons QA: Valentina Peleski; irc nick :ValentinaV

Requirements for testing

Environments

OSes covered: Windows, MacOSX, Linux

Test Strategy

Test Objectives

This section details the progression test objectives that will be covered. Please note that this is at a high level. For large projects, a suite of test cases would be created which would reference directly back to this master. This could be documented in bullet form or in a table similar to the one below.

Ref Function Test Objective Test Type Owners
TO-1 Browser Upgrade - Legacy Add-on Browser upgrade with legacy add-on installed which does not have a new webextension version Manual Add-ons QA Team
TO-2 Browser Upgrade - Legacy Add-on -> WebExtension Browser upgrade with legacy add-on installed which have a new webextension version Manual Add-ons QA Team
TO-3 Browser Upgrade - Webextensions Browser upgrade with webextensions installed Manual Add-ons QA Team
TO-4 Browser Upgrade - Automatic extension updates enabled Browser upgrade with webextensions/legacy add-ons installed using a profile with automatic extension updates enabled Manual Add-ons QA Team
TO-5 Browser Upgrade - Automatic extension updates disabled Browser upgrade with webextensions/legacy add-ons installed using a profile with automatic extension updates disabled Manual Add-ons QA Team
TO-6 Offline Browser Upgrade Browser upgrade with webextensions/legacy add-ons installed using a profile which works offline Manual Add-ons QA Team
TO-7 Browser Downgrade Browser downgrade with add-ons/webextensions installed Manual Add-ons QA Team

Builds

This section should contain links for builds with the feature -

Test Execution Schedule

The following table identifies the anticipated testing period available for test execution.

Project phase Start Date End Date
Start project
Study documentation/specs received from developers
QA - Test plan creation 08-18-2017
QA - Test cases/Env preparation 08-18-2017
QA - Nightly Testing 08-18-2017
QA - Beta Testing
Release Date

Testing Tools

Detail the tools to be used for testing, for example see the following table:

Process Tool
Test plan creation Mozilla wiki
Test case creation TestRail / Google docs/ etherpad
Test case execution TestRail
Bugs management Bugzilla / Github

Status

Overview

Track the dates and build number where feature was released to Nightly: 2017-09-12
Track the dates and build number where feature was merged to Beta
Track the dates and build number where feature was merged to Release

Risk analysis

Identify the high-risk assumptions
Identify existing bugs on the feature with high risk
Identify if other areas are affected by the fix

References

* List and links for specs
  PRD - https://docs.google.com/document/d/1YFF06bEoqH7yUojXKWw9KvK8XyHoIQSuyrPV8NDY5vU

* bug 1353194 - (webext-permissions) (tracking) Webextensions required permissions handling
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1393599 -- Add-ons Manager Do not install updates during compat check if user has disabled automatic updates RESOLVED ---
1394616 P1 Add-ons Manager Andrew Swan [:aswan] With multiple updates available, only one update gets applied during compat check RESOLVED ---
1396578 P2 Add-ons Manager Andrew Swan [:aswan] Non-mpc yellow info bar appears when upgrading non-mpc legacy add-ons to webextensions VERIFIED mozilla57
1398217 P2 Add-ons Manager Legacy that require restart do not upgrade to webextensions RESOLVED mozilla57
1399092 -- Add-ons Manager Manually disabled legacy add-on is not updated to a webextension version during browser upgrade RESOLVED ---

5 Total; 0 Open (0%); 4 Resolved (80%); 1 Verified (20%);


Testcases

Overview

Summary of testing scenarios

Test Areas

Test Areas Covered Details
Browser Upgrade
Browser Downgrade

Test suite

Bug Work

Tracking bug - bug 1353194

Bug fix verification

[Verified] Bug 1308309 - Display permissions prompt for webextensions installed using mozAddonManager

2017-01-10: verified fixed on 53.0a1 across platforms

[Verified] Bug 1308295 - Prompt users with permissions for third-party webextensions installs

2015-04-21: verified fixed on 53.0a1 across platforms
Logged bugs

Bug 1329942 - Misaligned icon and webextension name in permissions doorhanger

Sign off

Criteria

Check list

  • All test cases should be executed
  • Has sufficient automated test coverage (as measured by code coverage tools) - coordinate with RelMan
  • All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed (as determined by engineering/RelMan/QA)

Results

Nightly testing

List of OSes that will be covered by testing

  • Link for the tests run
    • Full Test suite, use template from link


Merge to Beta Sign-off List of OSes that will be covered by testing

  • Link for the tests run
    • Full Test suite

Checklist

Exit Criteria Status Notes/Details
Testing Prerequisites (specs, use cases)
Testing Infrastructure setup
Test Plan Creation
Test Cases Creation
Full Functional Tests Execution
Automation Coverage
Performance Testing
All Defects Logged
Critical/Blockers Fixed and Verified
Metrics/Telemetry
QA Signoff - Nightly Release Email to be sent
QA Signoff - Aurora Release Email to be sent
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent