Add-ons/Permissions/Testplan

From MozillaWiki
Jump to: navigation, search

Revision History

Date Version Author Description
01/09/2017 1.0 Krupa Raj Created first draft
01/20/2017 1.1 Vasilica Mihasca Updates
01/23/2017 1.2 Krupa Raj Added Acceptance Criteria
03/22/2017 1.3 Vasilica Mihasca Added TestRail links
08/23/2017 1.4 Cosmin Badescu Updates: References, Overview, Purpose,Requirements for testing, Ownership


Overview

Permissions is a feature which allows webextensions to have certain special powers. The permissions key specified in the manifest.json will grant special powers for your extension. This key is an array of strings, and each string is a request for a permission.

If you request permissions using this key, then the browser may inform the user at install time that the extension is requesting certain privileges, and ask them to confirm that they are happy to grant these privileges. The browser may also allow the user to inspect an extension's privileges after installation.

  • As part of this feature, the optional permissions are used when they are needed for optional features in your extension.

Purpose

This document purports to detail the test approach to Webextension Permissions and Optional 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?

  • Installation flow from AMO
  • Installation flow from Add-ons Manager
  • Installation flow from Discopane
  • Installation flow from Third-party websites
  • Add-on updates
  • Add-on Validation related to permissions during submission
  • Sideloading(?)
  • Webextensions have access to the permissions requested

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
Webextensions QA: Cosmin Badescu; irc nick :CosminB
Add-ons QA: Valentina Virlics; irc nick :ValentinaV

Requirements for testing

Environments

OSes covered: Windows, MacOSX, Linux

Channel dependent settings (configs) and environment setups

Nightly

  • Enable extensions.webextPermissionPrompts from about:config
  • Enable extensions.webextOptionalPermissionPrompts from about:config
  • Disable check for signing if testing on AMO dev or stage

Aurora

  • Enable extensions.webextPermissionPrompts from about:config
  • Enable extensions.webextOptionalPermissionPrompts from about:config
  • Disable check for signing if testing on AMO dev or stage

Beta

  • Enable extensions.webextPermissionPrompts from about:config
  • Enable extensions.webextOptionalPermissionPrompts from about:config
  • [Unbranded build] Disable check for signing if testing on AMO dev or stage

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 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 -

  • Link for Nightly builds
  • Link for Aurora 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 01-09-2017 01-11-2017
QA - Test cases/Env preparation 01-09-2017
QA - Nightly Testing 01-11-2017
QA - Aurora Testing
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
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

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/1jZQUeIfelisRXBMaTuPTo2hXiIcPT3IpdYwQXDpzEMI/edit#heading=h.jyc2dow656pq
  Install flow - https://www.figma.com/file/HrLiKUwoLQZsIUIVBKM8Wnnu/Install-Flow-showing-Permissions
  Permissions Copy - https://docs.google.com/document/d/1-aLncxcKpinCNpvksmknwWZhrM2bEChDmQ3C422C6Vc/edit#heading=h.cwg9zx7py4zk

* bug 1308292 - (webext-permissions) (tracking) Webextensions required permissions handling
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1308295 P2 General Andrew Swan [:aswan] Prompt users with permissions for third-party webextensions installs VERIFIED mozilla53
1308296 P5 General Andrew Swan [:aswan] Display "your add-on is ready" popup after installing a webextension VERIFIED ---
1308309 P2 General Andrew Swan [:aswan] Display permissions prompt for webextensions installed using mozAddonManager VERIFIED mozilla53
1308310 P3 General Andrew Swan [:aswan] Display "your add-on is ready" popup after installing with mozAddonManager VERIFIED mozilla54
1311815 P1 Request Handling Tomislav Jovanovic :zombie webRequest doesn't check host permissions RESOLVED mozilla54
1316996 P1 General Andrew Swan [:aswan] Create initial text for webextensions permissions RESOLVED mozilla53
1317000 P1 Add-ons Manager Andrew Swan [:aswan] Display permissions prompt for webextensions installed locally from about:addons VERIFIED mozilla54
1317363 P1 Add-ons Manager Andrew Swan [:aswan] Implement the new sideloading flow VERIFIED mozilla53
1317470 P1 Add-ons Manager Andrew Swan [:aswan] Display permission prompt for webextensions background updates VERIFIED mozilla53
1317590 P1 Add-ons Manager Andrew Swan [:aswan] AddonManager support for webextensions permissions RESOLVED mozilla53
1329942 P3 Frontend Mark Striemer [:mstriemer] Misaligned icon and webextension name in permissions doorhanger VERIFIED mozilla55
1330823 P2 Add-ons Manager Andrew Swan [:aswan] Display permissions prompt for interactive webextensions updates VERIFIED mozilla54
1332061 P1 Add-ons Manager Andrew Swan [:aswan] Add unsigned warning to webextension permission dialog VERIFIED mozilla55
1333168 P1 Add-ons Manager Andrew Swan [:aswan] Bold text in permission notifications is breaking lines unnecessarily VERIFIED mozilla54
1333262 -- General Andrew Swan [:aswan] On re-installing an add-on get the update permission prompt RESOLVED mozilla54
1333620 P1 Add-ons Manager Andrew Swan [:aswan] Doorhanger message to restart the browser is missing when Permissions is enabled VERIFIED mozilla54
1333790 -- General Long webextension name causes pop-up layout issue RESOLVED ---
1334010 P1 Add-ons Manager Andrew Swan [:aswan] sideload/update visual fixes VERIFIED mozilla54
1334076 -- Add-ons Manager Andrew Swan [:aswan] No puzzle icon displayed in installation pop-up if there is no icon specified in manifest.json VERIFIED mozilla54
1334085 P1 Add-ons Manager Andrew Swan [:aswan] Sideloading button text is not left-aligned VERIFIED mozilla54
1334096 P1 Add-ons Manager Andrew Swan [:aswan] Sideloading button should be removed if it not used to enable to extension VERIFIED mozilla54
1334354 P1 Add-ons Manager Andrew Swan [:aswan] Post-install notifications are dismissed immediately if AMO redirects to a contribute page VERIFIED mozilla54
1334404 P1 Add-ons Manager Andrew Swan [:aswan] Replace [name of add-on] with [your extension] / [your add-on] in permission confirmation pop-up VERIFIED mozilla54
1334479 P1 Add-ons Manager Andrew Swan [:aswan] Legacy add-ons which display a confirmation tab have no icon in confirmation doorhanger VERIFIED mozilla54
1335333 -- Add-ons Manager Andrew Swan [:aswan] Update pop-ups have no puzzle icon displayed if there is no icon specified in manifest.json VERIFIED mozilla54
1335697 P1 Add-ons Manager Andrew Swan [:aswan] No pop-ups displayed while installing from Addons Manager search list VERIFIED mozilla54
1335703 -- Add-ons Manager Re-enable permission doorhanger not displayed RESOLVED ---
1335720 P2 Add-ons Manager Andrew Swan [:aswan] Replace "Disable" with "Cancel" button in sideloaded-install pop-up VERIFIED mozilla54
1335985 P1 Add-ons Manager Florian Quèze [:florian] Add delay before an action can be taken on a persistent notification when the window is reactivated VERIFIED mozilla54
1336085 P2 Add-ons Manager Andrew Swan [:aswan] Don't display pending update if there are no new promptable permissions VERIFIED mozilla54
1337870 -- Add-ons Manager Andrew Swan [:aswan] Stop truncating add-on names in sideload/update menu items VERIFIED mozilla54
1337951 P3 Add-ons Manager Mark Striemer [:mstriemer] Add separator above menu items for sideloaded/updated addons VERIFIED mozilla54
1338713 P1 Add-ons Manager Andrew Swan [:aswan] Basic telemetry for permissions notifications VERIFIED mozilla55
1339552 P1 Add-ons Manager Andrew Swan [:aswan] Do not prompt with permissions when upgrading from a legacy add-on to a WebExtension version VERIFIED mozilla54
1339952 P3 General Andrew Swan [:aswan] List permissions in descending order of priority in the install prompts VERIFIED mozilla54
1340078 -- Add-ons Manager Andrew Swan [:aswan] Old permissions are reposted in interactive webextension update pop-up VERIFIED mozilla54
1340135 -- Add-ons Manager Andrew Swan [:aswan] Permission pop-up does not display the correct word for the update button when background update is prompted. VERIFIED mozilla54
1340220 -- Graphic Commandline and Toolbar Can enable a sideloaded add-on skipping permissions using gcli RESOLVED ---
1340443 P1 Add-ons Manager Andrew Swan [:aswan] “nativeMessaging” prevents the installation of a WebExtension VERIFIED mozilla54
1340501 P3 Add-ons Manager Andrew Swan [:aswan] Incorrect text in sideloading-install pop-up for several types of add-ons VERIFIED mozilla54
1341240 -- Add-ons Manager “history” and “topSites” permissions display the same text in installation pop-up RESOLVED ---
1341273 -- Add-ons Manager Add permission string for "unlimitedStorage" permission RESOLVED ---
1341286 -- Add-ons Manager Permissions pop-up does not disappear after navigating to a new url RESOLVED ---
1342133 P3 Untriaged Support non-permission properties in manifest as permissions RESOLVED ---
1342142 -- Add-ons Manager Andrew Swan [:aswan] enable webextension permissions prompts by default VERIFIED mozilla55
1342350 P5 Add-ons Manager Canceling the permissions pop-up removes the webextension from the search results list RESOLVED ---
1342426 -- Add-ons Manager No icon displayed for a webextension if the manifest references a nonexistent image RESOLVED ---
1342896 P1 Add-ons Manager Andrew Swan [:aswan] Pending update displayed for non-promptable permissions while upgrading via interactive method VERIFIED mozilla54
1342914 P3 Add-ons Manager Add-ons Manager ”Enable” button should not be clickable as long as permissions pop-up is displayed RESOLVED ---
1343498 P2 Add-ons Manager Andrew Swan [:aswan] WebExtensions with invalid match pattern are not installed VERIFIED mozilla55
1343571 -- Notifications and Alerts Florian Quèze [:florian] The delay is not applied and the action is triggered from the first click on a notification when the window is refocus VERIFIED mozilla55
1344214 P3 Add-ons Manager Andrew Swan [:aswan] Status "waiting for download" does not contain the correct button in the pop-up VERIFIED mozilla55
1346138 P5 Add-ons Manager Icon is not displayed in the sideloading pop-up after upgrading from a disabled legacy add-on to a WebExtension version RESOLVED ---
1347063 -- Site Identity The pop-up persists on the desktop screen after the web page is out of focus (minimized) RESOLVED ---
1347478 P5 Add-ons Manager After the update for a WebExtension that is installed via sideloading method a user can enable the first version while the last version will be disabled in about:addons RESOLVED ---
1348854 -- Add-ons Manager Andrew Swan [:aswan] Webextension pop-up style displayed while installing legacy add-ons from about:addons search list VERIFIED mozilla55
1349189 P5 Add-ons Manager The icon from the confirmation pop-up is not displayed after the WebExtension is removed from about:addons. RESOLVED ---
1350277 P3 Add-ons Manager Andy McKay http://*/* and https://*/* permissions display identical descriptions VERIFIED mozilla57
1358431 P2 Frontend Mark Striemer [:mstriemer] Add-on name bolded with delay in permissions pop-up VERIFIED mozilla56

59 Total; 0 Open (0%); 18 Resolved (30.51%); 41 Verified (69.49%);


  • bug 1197420 - Implement permissions API and optional_permissions manifest property
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1201896 P1 Site Identity :Paolo Amadini Update popup notifications for add-on installation VERIFIED Firefox 53
1229230 P3 Untriaged Define how Add-on Permissions help users (and how they may be surfaced to them) RESOLVED ---
1333235 -- Frontend Markus Jaritz [:designakt] (UX) ux/copy/visual design for optional permissions dialog RESOLVED ---
1333477 -- General Kris Maglione [:kmag] Support injecting and invalidating schema wrappers dynamically RESOLVED mozilla55
1350759 -- Frontend Andrew Swan [:aswan] Warn but accept illegal values in optional_permissions RESOLVED mozilla55
1375485 P5 General Ian Moody [:Kwan] (UTC+1) urls or <all_urls> can be requested as "permissions" instead of "origins" VERIFIED mozilla58
1382031 -- Frontend Andrew Swan [:aswan] Optional permissions dialog keyboard shortcut RESOLVED mozilla56
1444294 P1 General Shane Caraveo (:mixedpuppy) Implement permissions API events RESOLVED mozilla77

8 Total; 0 Open (0%); 6 Resolved (75%); 2 Verified (25%);


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

Bug Work

Tracking bug - bug 1308292

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 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