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

no edit summary
(Created page with "test")
 
No edit summary
Line 1: Line 1:
test
'''Revision History'''
 
{| class="wikitable" style="width:60%"
|-
! Date !! Version !! Author !! Description
|-
| 05/01/2017 || 1.0 || Krupa Raj || Created first draft
|-
|}
 
 
= 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 be implemented in two stages :
== 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 a pref. Android will be unaffected and will continue to allow install of legacy extensions. 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.
 
{| class="wikitable"
|-
! 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 ===
Awaiting changelist from jorgev
 
=== 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: [mailto:aswan@mozilla.com Andrew Swan]; irc nick :aswan<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 />
Webextensions QA: [mailto:vasilica.mihasca@softvision.ro Vasilica Mihasca]; irc nick :vasilica_mihasca<br />
Add-ons QA: [mailto:valentina.peleskei@softvision.ro Valentina Peleski]; irc nick :ValentinaV<br />
 
= Requirements for testing =
== Environments ==
OSes covered: Windows, MacOSX, Linux
 
== Channel dependent settings (configs) and environment setups ==
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
 
=== Nightly ===
<div class="mw-collapsible-content">
* Enable extensions.webextPermissionPrompts from about:config
* Disable check for signing if testing on AMO dev or stage
</div>
 
=== Beta ===
<div class="mw-collapsible-content">
* Enable extensions.webextPermissionPrompts from about:config
* [Unbranded build] Disable check for signing if testing on AMO dev or stage
 
</div>
 
=== Post Beta / Release ===
<div class="mw-collapsible-content">
The feature is enabled by default.
</div>
</div>
 
= 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.
 
{| class="wikitable"
|-
! 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-2 || AMO public pages || To verify that permissions are correctly displayed || 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-4 || Installing from Discopane || 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-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
|}
 
== Builds ==
This section should contain links for builds with the feature -
* [http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ Link] for Nightly builds
* [https://archive.mozilla.org/pub/firefox/candidates/ Link] for Beta builds
* Beta Unbranded builds
** [https://archive.mozilla.org/pub/firefox/tinderbox-builds/mozilla-beta-win64-add-on-devel/ Windows Link]
** [https://archive.mozilla.org/pub/firefox/tinderbox-builds/mozilla-beta-linux64-add-on-devel/ Linux Link]
** [https://archive.mozilla.org/pub/firefox/tinderbox-builds/mozilla-beta-macosx64-add-on-devel/ Mac Link]
 
== Test Execution Schedule ==
The following table identifies the anticipated testing period available for test execution.
{| class="wikitable" style="width:60%"
|-
! Project phase !! Start Date !! End Date
|-
| Start project
|style="text-align:center;" |  ||
|-
| Study documentation/specs received from developers
|style="text-align:center;" |  ||
|-
| QA - Test plan creation
|style="text-align:center;" | 01-09-2017 || 01-11-2017
|-
| QA - Test cases/Env preparation
|style="text-align:center;" |01-09-2017  ||
|-
| QA - Nightly Testing
|style="text-align:center;" |01-11-2017  ||
|-
| QA - Aurora Testing
|style="text-align:center;" |  || 
|-
| QA - Beta Testing
|style="text-align:center;" |  ||
|-
| Release Date
|style="text-align:center;" | ||
|}
 
== Testing Tools ==
Detail the tools to be used for testing, for example see the following table:
{| class="wikitable" style="width:50%"
|-
! Process !! Tool
|-
| Test plan creation || Mozilla wiki
|-
| Test case creation || [https://testrail.stage.mozaws.net/index.php TestRail] / [https://docs.google.com/spreadsheets/d/1b_W1iVVuo-MRtwilKeHt_Vjbemy3j1Pbiq4slL_BhE8/edit#gid=36647849 Google docs] / [https://public.etherpad-mozilla.org/p/webext-permissions etherpad]
|-
| Test case execution || [https://testrail.stage.mozaws.net/index.php 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 Aurora
Track the dates and build number where feature was merged to Release/Beta
 
== Risk analysis ==
This section identified high-risk areas related to testing-
* 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|1352204}} - Only allow webextension and MPC=true (which=no shims) add-ons on Nightly
<bugzilla>
    {
        "blocks":[1352204],
        "include_fields": "id, priority, component, assigned_to, summary, status, target_milestone"
    }
</bugzilla>
* {{Bug|1335456}} - (tracking) Path to 57
<bugzilla>
    {
        "blocks":[1335456],
        "include_fields": "id, priority, component, assigned_to, summary, status, target_milestone"
    }
</bugzilla>
 
= Testcases =
== Overview ==
Summary of testing scenarios
== Test Areas ==
{| class="wikitable" style="width:80%"
|-
! Test Areas !! Covered !! Details
|-
| '''Installation from AMO'''
|style="text-align:center;" | ||
|-
| '''Installation from Discopane'''
|style="text-align:center;" |  ||
|-
| '''Installation from Add-ons Manager'''
|style="text-align:center;" |  ||
|-
| '''Installation from Third-party'''
|style="text-align:center;" |  ||
|-
| '''Add-on updates'''
||  ||
|-
| '''Sideloading''' 
|style="text-align:center;" |  ||
|-
| '''Other''' 
|style="text-align:center;" |  ||
|-
|}
 
== Test suite ==
* Link for the [https://public.etherpad-mozilla.org/p/webext-permissions 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 [https://testrail.stage.mozaws.net/index.php?/suites/view/747&group_by=cases:section_id&group_id=2394&group_order=asc TestRail tests]
 
= Bug Work =
Tracking bug - [https://bugzilla.mozilla.org/show_bug.cgi?id=1308292 bug 1308292]
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
 
====== Bug fix verification ======
<div class="mw-collapsible-content">
<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
<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
:↳ <small>'''2015-04-21'''</small>: verified fixed on 53.0a1 across platforms
</div></div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
 
====== Logged bugs ======
<div class="mw-collapsible-content">
[https://bugzilla.mozilla.org/show_bug.cgi?id=1329942 Bug 1329942] - Misaligned icon and webextension name in permissions doorhanger<br/>
 
</div>
</div>
 
= 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'''<br />
 
List of OSes that will be covered by testing<br />
*Link for the tests run
** Full Test suite, use template from [https://testrail.stage.mozaws.net/index.php?/suites/view/747&group_by=cases:section_id&group_id=2394&group_order=asc link]
 
 
'''Merge to Aurora Sign-off'''
List of OSes that will be covered by testing<br />
*Link for the tests run
** Full Test suite
 
== Checklist ==
{| class="wikitable" style="width:60%"
|-
! Exit Criteria !! Status !! Notes/Details
|-
|  Testing Prerequisites (specs, use cases)
| style="text-align:center;" | 
| style="text-align:center;" |
|-
|  Testing Infrastructure setup
|style="text-align:center;" |  ||
|-
|  Test Plan Creation
| style="text-align:center;" |  ||
|-
|  Test Cases Creation
|style="text-align:center;" |  ||
|-
|  Full Functional Tests Execution
|style="text-align:center;" | 
|style="text-align:center;" | 
|-
|  Automation Coverage ||
|style="text-align:center;" |
|-
|  Performance Testing
|style="text-align:center;" |  ||
|-
|  All Defects Logged || ||
|-
|  Critical/Blockers Fixed and Verified || ||
|-
|  Metrics/Telemetry||
|style="text-align:center;" |
|-
|  QA Signoff  - Nightly Release||
|style="text-align:center;" | Email to be sent
|-
|  QA Aurora - Full Testing
|style="text-align:center;" |  ||
|-
|  QA Signoff  - Aurora Release ||
|style="text-align:center;"| Email to be sent
|-
|  QA Beta - Full Testing
|style="text-align:center;" |  ||
|-
|  QA Signoff  - Beta Release ||
|style="text-align:center;" | Email to be sent
|}
231

edits