Add-ons/QA/Testplan/Webextensions Cutover Android: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(21 intermediate revisions by the same user not shown)
Line 5: Line 5:
! Date !! Version !! Author !! Description  
! Date !! Version !! Author !! Description  
|-
|-
| 08/14/2017 || 1.0 || Cosmin Badescu || Created first draft
| 08/17/2017 || 1.0 || Cosmin Badescu || Created first draft
|-
| 08/18/2017 || 1.1 || Cosmin Badescu || Updates: Risk analysis, References, Requirements for testing, Ownership.
|-
|-
|}
|}
Line 13: Line 15:
In 57, Firefox Desktop Release will only support installation of Webextensions. All legacy extensions will fail to install on all channels except for Nightly. Complete themes support will also cease after 57.
In 57, Firefox Desktop Release will only support installation of Webextensions. All legacy extensions will fail to install on all channels except for Nightly. Complete themes support will also cease after 57.


This feature will be implemented in two stages :
This feature will land in 57 and will disable all legacy add-ons on firefox desktop release channel. Users will still be able to install legacy add-ons on Nightly after toggling extensions.legacy.enabled to true. Dictionaries and Language Packs should still work as always. Support for Complete Themes will fully cease in 57.
== Stage 1:==
 
All non-mpc add-ons will be disabled on Nightly by default. This is being tracked at [https://bugzilla.mozilla.org/show_bug.cgi?id=1352204 Bug 1352204]. Users will be able to enable these disabled add-ons by going to about:config and toggling the pref extensions.allow-non-mpc-extensions to set it to "true"
 
==Stage 2: ==
This feature will land in 57 and will disable all legacy add-ons on firefox desktop release channel. Users will still be able to install legacy add-ons on Nightly after toggling extensions.legacy.enabled to false. Dictionaries and Language Packs should still work as always. Support for Complete Themes will fully cease in 57.


== Purpose ==
== Purpose ==
Line 123: Line 119:


== Ownership ==
== Ownership ==
Dev Lead: N/A; irc nick N/A <br />
Dev Lead: [mailto:aswan@mozilla.com Andrew Swan]; irc nick :aswan <br />
QA Manager: [mailto:kraj@mozilla.com Krupa Raj]; irc nick :krupa<br />  
QA Manager: [mailto:kraj@mozilla.com Krupa Raj]; irc nick :krupa<br />  
QA Lead: [mailto:vcarciu@softvision.ro Victor Carciu]; irc nick :victorc<br />
QA Lead: [mailto:vcarciu@softvision.ro Victor Carciu]; irc nick :victorc<br />
Line 144: Line 140:
=== Beta ===
=== Beta ===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* Enable extensions.webextPermissionPrompts from about:config
* Enable extensions.legacy.enabled from about:config
* [Unbranded build] Disable check for signing if testing on AMO dev or stage


</div>
</div>
Line 165: Line 160:
! Ref !! Function !! Test Objective !! Test Type !! Owners  
! Ref !! Function !! Test Objective !! Test Type !! Owners  
|-
|-
| TO-1 || Validation during AMO || To verify that linter raise the proper error messages || Manual || Add-ons QA Team
| TO-1 || AMO public pages || To verify that permissions are correctly displayed || Manual || Add-ons QA Team
|-
|-
| TO-2 || AMO public pages || To verify that permissions are correctly displayed || Manual || Add-ons QA Team
| TO-2 || Installing from AMO || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
|-
| TO-3 || Installing from AMO || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
| TO-3 || Installing from local files|| To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
|-
| TO-4 || Installing from Discopane || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
| TO-4 || Installing from thirdparty || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
|-
| TO-5 || Installing from Add-ons manager || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
| TO-5 || Add-on updates || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
| TO-6 || Installing via sideloading || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
| TO-7 || Installing from local files|| To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
| TO-8 || Installing from thirdparty || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|-
| TO-9 || Add-on updates || To verify that the permissions flow is fully respected || Manual || Add-ons QA Team
|}
|}


Line 202: Line 189:
|-
|-
| QA - Test plan creation  
| QA - Test plan creation  
|style="text-align:center;" | 08-12-2017 || 08-13-2017
|style="text-align:center;" | 08-17-2017 || 08-18-2017
|-
|-
| QA - Test cases/Env preparation  
| QA - Test cases/Env preparation  
|style="text-align:center;" |08-12-2017  ||  
|style="text-align:center;" |08-17-2017  ||  
|-
|-
| QA - Nightly Testing  
| QA - Nightly Testing  
|style="text-align:center;" |08-12-2017  ||  
|style="text-align:center;" |08-17-2017  ||  
|-
| QA - Aurora Testing
|style="text-align:center;" |  || 
|-
|-
| QA - Beta Testing  
| QA - Beta Testing  
|style="text-align:center;" |  ||  
|style="text-align:center;" |  || 09-19-2017
|-
|-
| Release Date  
| Release Date  
|style="text-align:center;" | ||  
|style="text-align:center;" | || 11-14-2017
|}
|}


Line 228: Line 212:
| Test plan creation || Mozilla wiki
| Test plan creation || Mozilla wiki
|-
|-
| Test case creation || TestRail / Google docs
| Test case creation || [https://testrail.stage.mozaws.net/index.php?/suites/view/1526&group_by=cases:section_id&group_order=asc TestRail] / [https://docs.google.com/spreadsheets/d/1aqP3lBVXwwmuXBE44Vwdanwf1DKgDrQ2FWc-3zLtTHk/edit#gid=1040459231 Google docs]
|-
|-
| Test case execution || TestRail
| Test case execution || TestRail
Line 238: Line 222:
== Overview ==
== Overview ==
  Track the dates and build number where feature was released to Nightly
  Track the dates and build number where feature was released to Nightly
Track the dates and build number where feature was merged to Aurora
  Track the dates and build number where feature was merged to Release/Beta
  Track the dates and build number where feature was merged to Release/Beta


== Risk analysis ==
== Risk analysis ==
This section identified high-risk areas related to testing-
This section identified high-risk areas related to testing-
* The main risk is that this feature isn’t yet implemented in Fennec 57, which is already on a roll-out.
* Users reverting to an older version of Firefox: Users trying to work around the restrictions may see unexpected regressions related to <bug number>
* Users reverting to an older version of Firefox: Users trying to work around the restrictions may see unexpected regressions related to <bug number>
** Mitigation strategy: Reverting to an older version/ESR builds will be tested as part of the end-to-end testing of this feature.
** Mitigation strategy: Reverting to an older version/ESR builds will be tested as part of the end-to-end testing of this feature.
Line 251: Line 235:
   wiki - https://wiki.mozilla.org/Add-ons/Firefox57
   wiki - https://wiki.mozilla.org/Add-ons/Firefox57


  * {{N/A}} -  
  * {{Bug|1391401}} - Limit add-ons loaded into Firefox for Android
 
<bugzilla>
    {
        "blocks":[1391401],
        "include_fields": "id, priority, component, assigned_to, summary, status, resolution, target_milestone"
    }
</bugzilla>
  * {{Bug|1335456}} - (tracking) Path to 57
  * {{Bug|1335456}} - (tracking) Path to 57
<bugzilla>
<bugzilla>
     {
     {
         "blocks":[1335456],
         "blocks":[1335456],
         "include_fields": "id, priority, component, assigned_to, summary, status, target_milestone"
         "include_fields": "id, priority, component, assigned_to, summary, status, resolution, target_milestone"
     }
     }
</bugzilla>
</bugzilla>
Line 293: Line 282:


== Test suite ==
== Test suite ==
* Link for the [https://public.etherpad-mozilla.org/p/webext-permissions Initial test planning]
* Link for the Initial test planning
* Link for the [https://docs.google.com/spreadsheets/d/1b_W1iVVuo-MRtwilKeHt_Vjbemy3j1Pbiq4slL_BhE8/edit#gid=1522764364 Google doc tests]
* Link for the Google doc tests
* Link for the TestRail tests
* Link for the TestRail tests


= Bug Work =
= Bug Work =
Tracking bug - [https://bugzilla.mozilla.org/show_bug.cgi?id=1308292 bug 1308292]
Tracking bug - [https://bugzilla.mozilla.org/show_bug.cgi?id=1391401 bug 1391401]


<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
Line 306: Line 295:
<font color="green">'''[Verified]'''</font> [https://bugzilla.mozilla.org/show_bug.cgi?id=1308309 Bug 1308309] - Display permissions prompt for webextensions installed using mozAddonManager
<font color="green">'''[Verified]'''</font> [https://bugzilla.mozilla.org/show_bug.cgi?id=1308309 Bug 1308309] - Display permissions prompt for webextensions installed using mozAddonManager
:↳ <small>'''2017-01-10'''</small>: verified fixed on 53.0a1 across platforms
:↳ <small>'''2017-01-10'''</small>: verified fixed on 53.0a1 across platforms
<font color="green">'''[Verified]'''</font> [https://bugzilla.mozilla.org/show_bug.cgi?id=1308295 Bug 1308295] - Prompt users with permissions for third-party webextensions installs
</div>
:↳ <small>'''2015-04-21'''</small>: verified fixed on 53.0a1 across platforms
</div>
</div></div>


<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">

Latest revision as of 09:07, 31 July 2018

Revision History

Date Version Author Description
08/17/2017 1.0 Cosmin Badescu Created first draft
08/18/2017 1.1 Cosmin Badescu Updates: Risk analysis, References, Requirements for testing, Ownership.


Overview

In 57, Firefox Desktop Release will only support installation of Webextensions. All legacy extensions will fail to install on all channels except for Nightly. Complete themes support will also cease after 57.

This feature will land in 57 and will disable all legacy add-ons on firefox desktop release channel. Users will still be able to install legacy add-ons on Nightly after toggling extensions.legacy.enabled to true. Dictionaries and Language Packs should still work as always. Support for Complete Themes will fully cease in 57.

Purpose

This document purports to detail the test approach to the Webextensions Cutover 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?

The compat table listed below should provide all the permutations supported by Firefox and which will in turn get tested before release.

Compat. Table

The table below shows what is installable where when 57 hits the Firefox release channel. NOTE that for a while when 57 is in the Nightly channel, with the pref enabled - install of legacy extensions will fail on Nightly but will be supported on beta and release.

Type Status Nightly Beta, Release
WebExtension Signed by AMO YES YES
Signed by Mozilla internally YES YES
Unsigned YES with pref NO
Unsigned loaded temporarily YES YES
Legacy Extension (bootstrapped, overlay, XUL etc) Signed by AMO YES with pref NO
Signed by Mozilla internally YES YES
Unsigned YES with pref NO
Unsigned loaded temporarily YES NO
WebExtension Experiment Signed by AMO YES NO
Signed by Mozilla internally YES YES
Unsigned YES with pref NO
Unsigned loaded temporarily YES NO
New style static theme Signed by AMO YES YES
Signed by Mozilla internally YES YES
Unsigned YES YES
Unsigned loaded temporarily YES YES
Telemetry Experiments Signed by AMO YES YES
Signed by Mozilla internally YES YES
Unsigned YES with pref YES
Unsigned loaded temporarily YES YES
Legacy lightweight theme Signed by AMO YES YES
Complete Themes Any combination YES with pref NO
Multiple item package Any combination NO NO
Language Pack Any combination YES YES
Dictionaries Any combination YES YES

AMO

Other

The other things will also get tested is

  • Reverting to an older version of Firefox
  • Switching channels across the same profile
  • Full regression testing for Android


what's out of scope?

  • Security testing
  • Performance testing
  • Testing for ESR

Ownership

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

Requirements for testing

Environments

OSes covered: Android

Channel dependent settings (configs) and environment setups

Nightly

  • Enable extensions.legacy.enabled from about:config

Beta

  • Enable extensions.legacy.enabled from about:config

Post Beta / Release

The feature is enabled by default.

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 AMO public pages To verify that permissions are correctly displayed Manual Add-ons QA Team
TO-2 Installing from AMO To verify that the permissions flow is fully respected Manual Add-ons QA Team
TO-3 Installing from local files To verify that the permissions flow is fully respected Manual Add-ons QA Team
TO-4 Installing from thirdparty To verify that the permissions flow is fully respected Manual Add-ons QA Team
TO-5 Add-on updates To verify that the permissions flow is fully respected Manual Add-ons QA Team

Builds

This section should contain links for builds with the feature -

  • Link for Nightly builds
  • Link for Beta builds

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-17-2017 08-18-2017
QA - Test cases/Env preparation 08-17-2017
QA - Nightly Testing 08-17-2017
QA - Beta Testing 09-19-2017
Release Date 11-14-2017

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
Test case execution TestRail
Bugs management Bugzilla / Github

Status

Overview

Track the dates and build number where feature was released to Nightly
Track the dates and build number where feature was merged to Release/Beta

Risk analysis

This section identified high-risk areas related to testing-

  • The main risk is that this feature isn’t yet implemented in Fennec 57, which is already on a roll-out.
  • Users reverting to an older version of Firefox: Users trying to work around the restrictions may see unexpected regressions related to <bug number>
    • Mitigation strategy: Reverting to an older version/ESR builds will be tested as part of the end-to-end testing of this feature.
  • Switching channels using the same profile may result in unexpected behavior.

References

* List and links for specs
  wiki - https://wiki.mozilla.org/Add-ons/Firefox57
* bug 1391401 - Limit add-ons loaded into Firefox for Android
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
1399687 -- Autophone Bob Clary [:bc] (inactive) Autophone - Talos broken due to disabling of legacy extensions RESOLVED FIXED ---
1405990 -- Android Legacy Add-ons can’t be installed from local storage on Android RESOLVED INVALID ---

2 Total; 0 Open (0%); 2 Resolved (100%); 0 Verified (0%);

* bug 1335456 - (tracking) Path to 57
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
1181835 P2 Extension Compatibility emanuela [ux] Provide a UI for migrating users' add-ons to webextensions RESOLVED FIXED ---
1214433 P4 Untriaged [Tracking] Web Extensions Development RESOLVED FIXED ---
1281274 -- Extension Compatibility Deployment Tracker bug - e10s-addons RESOLVED WORKSFORME ---
1329713 P5 General [meta] Webextensions Development RESOLVED DUPLICATE ---
1336576 P1 Add-ons Manager [meta] Limit add-ons loaded into Firefox RESOLVED FIXED ---
1341333 -- Extension Compatibility Compatibility with Firefox updates RESOLVED WORKSFORME ---
1346460 P1 Extension Compatibility [meta] Transition support for legacy devs and porting support for Chrome devs RESOLVED FIXED ---
1354344 P3 Preferences Mark Striemer [:mstriemer] Show if an extension has set the home page RESOLVED FIXED mozilla57
1385202 -- Menus Need a way to manage context menu items. RESOLVED DUPLICATE ---

9 Total; 0 Open (0%); 9 Resolved (100%); 0 Verified (0%);


Testcases

Overview

Summary of testing scenarios

Test Areas

Test Areas Covered Details
Installation from AMO
Installation from Discopane
Installation from Add-ons Manager
Installation from Third-party
Add-on updates
Sideloading
Other

Test suite

  • Link for the Initial test planning
  • Link for the Google doc tests
  • Link for the TestRail tests

Bug Work

Tracking bug - bug 1391401

Bug fix verification

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

2017-01-10: 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 Aurora 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 Aurora - Full Testing
QA Signoff - Aurora Release Email to be sent
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent