Add-ons/QA/Testplan/Improve support for private browsing mode

From MozillaWiki
Jump to: navigation, search

Revision History

Date Version Author Description
01/29/2018 1.0 Cosmin Badescu Created first draft


Overview

There are two aspects to extensions running in private browsing tabs: user choice, and developer preference.

  • User Choice: the user should be able to determine which, if any, extensions should be able to run within private browsing tabs.
  • Developer Preference: the developer should be able to specify if their extension can or cannot be run in private browsing tabs.

Mozilla and independent research strongly support the idea that user control of extensions in private browsing is an important part of protecting users online.

Purpose

This document purports to detail the test approach for the improvements of Local Storage API and includes Entry/Exit criteria, Scope for testing, links to test cases 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 behavior is as expected for the extensions in the Private Browsing.

what's out of scope?

  • Security testing

Ownership

Dev Lead: Shane Caraveo; irc nick :mixedpuppy
QA Manager: Krupa Raj; irc nick :krupa
QA Lead: Victor Carciu; irc nick :victorc
Webextensions QA: Cosmin Badescu; irc nick :CosminB


Requirements for testing

Environments

OSes covered: Windows, Mac OS X, Linux

Channel dependent settings (configs) and environment setups

Nightly

  • Enable extensions.allowPrivateBrowsingByDefault from about:config

Beta

  • Enable extensions.allowPrivateBrowsingByDefault from about:config

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 Installing from AMO To verify that the extension uses the API correctly Manual Add-ons QA Team
TO-2 Installing from local files To verify that the extension uses the API correctly Manual Add-ons QA Team
TO-3 Add-on updates To verify that the extension uses the API correctly Manual Add-ons QA Team
TO-4 Sideloading To verify that the extension uses the API correctly Manual Add-ons QA Team

Builds

This section should contain links for builds with the feature -

  • Link for Nightly builds
  • Link for Beta builds
  • Link for Release 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-29-2018
QA - Test cases/Env preparation 12-15-2018 N/A
QA - Nightly 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 [ Docs] / [ TestRail]
Test case execution [ Docs] / [ 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

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 - [1]
  Install flow - N/A
  


* bug 1460738 - [META] improve support for Private Browsing
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
1280027 P3 General Reject manifests with any "incognito" property other than "spanning" RESOLVED WONTFIX ---
1324384 P1 Frontend Shane Caraveo (:mixedpuppy) Remove ability to override new tab page in private windows (about:privatebrowsing) RESOLVED DUPLICATE ---
1345474 P1 General Shane Caraveo (:mixedpuppy) Support incognito permission "not_allowed" RESOLVED FIXED mozilla66
1380809 P3 General [META] manifest incognito feature support REOPENED ---
1380812 P3 General Support incognito permission "split" NEW ---
1382652 P3 General browser.extension.getViews does not return extension popups from private windows NEW ---
1391992 P1 General Shane Caraveo (:mixedpuppy) add cookieStoreId to webRequest APIs RESOLVED FIXED mozilla68
1435957 P2 Untriaged chrome.browsingData.removeCookies does not work in incognito mode RESOLVED WORKSFORME ---
1457001 P3 General Require an explicit opt-in to enable extensions in Private Browsing RESOLVED DUPLICATE ---
1469121 P3 General When downloading images via gesture in private browsing, the files won't show up in the download toolbar icon NEW ---
1488867 -- Private Browsing Allowing open WebExtensions content page directly in private mode UNCONFIRMED ---
1488914 P1 Frontend Rob Wu [:robwu] tabs.create and windows.create should open about:privatebrowsing instead of about:newtab in PB VERIFIED FIXED mozilla64
1489412 -- Security Excluding moz-extension:// pages in browser history for private window UNCONFIRMED ---
1585431 P3 Frontend Examine UX related to add-ons and entering permanent private browsing NEW ---
1618439 -- Untriaged browser.windows.create with "incognito": true should not require incognito permission RESOLVED WONTFIX ---
1672859 P3 Add-ons Manager Temporary add-on (via about:debugging) is not enabled in (permanent) private browsing mode, without obvious UI NEW ---
1842832 P3 Add-ons Manager Move the private browsing toggle to initial install dialog NEW ---

17 Total; 9 Open (52.94%); 7 Resolved (41.18%); 1 Verified (5.88%);


* bug 1380809 - [META] manifest incognito feature support
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
1280027 P3 General Reject manifests with any "incognito" property other than "spanning" RESOLVED WONTFIX ---
1309610 P3 General Add test to verify that the default context of the cookies API is incognito for scripts in incognito tabs RESOLVED FIXED ---
1345474 P1 General Shane Caraveo (:mixedpuppy) Support incognito permission "not_allowed" RESOLVED FIXED mozilla66
1457001 P3 General Require an explicit opt-in to enable extensions in Private Browsing RESOLVED DUPLICATE ---
1506653 P1 Frontend Shane Caraveo (:mixedpuppy) pageAction needs to support showInPrivateBrowsing RESOLVED FIXED mozilla66
1511636 P1 General Shane Caraveo (:mixedpuppy) enable toggling private browsing in about:addons VERIFIED FIXED mozilla67
1512353 P3 Frontend Shane Caraveo (:mixedpuppy) "nativeTab is null" when using browser.tabs.move to move regular tab to incognito window RESOLVED FIXED mozilla67
1513220 P3 General test for incognito value during tabs.onRemoved NEW ---
1513344 P1 General Luca Greco [:rpl] [:luca] [:lgreco] telemetry for incognito mode VERIFIED FIXED mozilla67
1513345 P1 General ensure system addons remain enabled in private browsing RESOLVED DUPLICATE ---
1513347 P1 General Shane Caraveo (:mixedpuppy) Update docs in toolkit for how incognito is handled in APIs RESOLVED FIXED mozilla67
1513544 P3 Android fix incognito tests for android NEW ---
1515694 -- General Private browsing new tab page should alert users that extensions are disabled by default RESOLVED WONTFIX ---
1515701 P1 General Shane Caraveo (:mixedpuppy) Need doorhanger to announce that extensions no longer run by default in Private Browsing windows VERIFIED FIXED mozilla67
1516465 P2 General enterprise policy opt-in for incognito value RESOLVED WONTFIX ---
1516548 P1 Frontend Shane Caraveo (:mixedpuppy) header notice for private browsing/disabled addons VERIFIED FIXED mozilla67
1516670 P3 General add extensions section to about:privatebrowsing NEW ---
1516680 P1 General Shane Caraveo (:mixedpuppy) disable sidebar for incognito VERIFIED FIXED mozilla67
1516704 P1 General Shane Caraveo (:mixedpuppy) privatebrowsing support for session api VERIFIED FIXED mozilla67
1516706 P1 General Shane Caraveo (:mixedpuppy) privatebrowsing support for omnibox api VERIFIED FIXED mozilla67
1516707 P1 General Shane Caraveo (:mixedpuppy) privatebrowsing support for menu api VERIFIED FIXED mozilla67
1516708 P1 General Shane Caraveo (:mixedpuppy) privatebrowsing support for commands api VERIFIED FIXED mozilla67
1516709 P1 General Shane Caraveo (:mixedpuppy) privatebrowsing support for downloads api VERIFIED FIXED mozilla67
1516710 P1 General Shane Caraveo (:mixedpuppy) privatebrowsing support for find api VERIFIED FIXED mozilla67
1516711 P1 General privatebrowsing support for history api RESOLVED INVALID ---
1518486 P1 Developer Tools Luca Greco [:rpl] [:luca] [:lgreco] Disable extension devtools_page for private tabs when not allowed by users VERIFIED FIXED mozilla67
1518579 P1 General privatebrowsing support for manifest entries RESOLVED WORKSFORME ---
1521138 P3 General When switching incognito settings the sidebar will open if defined NEW ---
1521139 P5 Frontend The detail page flickers when changing incognito settings NEW ---
1521573 P1 General Shane Caraveo (:mixedpuppy) incognito support for web_accessible_resources VERIFIED FIXED mozilla67
1521596 P1 General Shane Caraveo (:mixedpuppy) protocol handler incognito fixups VERIFIED FIXED mozilla67
1521627 P1 General incognito support in storage api RESOLVED INVALID ---
1523605 P2 Untriaged Shane Caraveo (:mixedpuppy) Intermittent browser/components/extensions/test/browser/browser_ext_sidebarAction_incognito.js | Promise resolved, expected rejection: should not be able to set title - RESOLVED FIXED mozilla67
1523632 P1 Add-ons Manager Mark Striemer [:mstriemer] Add-on card in about:addons is broken with longer translation VERIFIED FIXED mozilla67
1523914 P5 General private browsing panel may display on non-private window RESOLVED WONTFIX ---
1524324 -- General Shane Caraveo (:mixedpuppy) temporary installed extensions are getting private browsing permission VERIFIED FIXED mozilla67
1525125 P1 General Shane Caraveo (:mixedpuppy) block newtab and homepage overrides in private windows VERIFIED FIXED mozilla67
1525428 P1 General ExtensionPreferencesManager needs to check private permission RESOLVED INVALID ---
1525447 P1 Request Handling Shane Caraveo (:mixedpuppy) incognito support for proxy api VERIFIED FIXED mozilla67
1525712 P1 General extension failure after install in permanent private browsing RESOLVED DUPLICATE ---
1525718 P1 General Shane Caraveo (:mixedpuppy) fix incognito permission when in permanent private browsing VERIFIED FIXED mozilla67
1525846 P1 General Shane Caraveo (:mixedpuppy) “Run in Private Windows” not switching correctly after restarting the browser with the detailed page of the extension open VERIFIED FIXED mozilla67
1526297 P1 General examine content_security_policy for incognito RESOLVED INVALID ---
1526299 P3 Request Handling Handle proxy.settings properly in private browsing NEW ---
1527127 P1 General Shane Caraveo (:mixedpuppy) set permission on initial upgrade to incognito feature VERIFIED FIXED mozilla67
1529099 P1 Frontend Shane Caraveo (:mixedpuppy) Link to manage extensions fails from normal window RESOLVED DUPLICATE ---
1529394 P1 General Shane Caraveo (:mixedpuppy) pref on the incognito feature VERIFIED FIXED mozilla67
1529582 P1 General Shane Caraveo (:mixedpuppy) Extension that is not allowed on PB is still allowed to set a non-extension URL as the homepage VERIFIED FIXED mozilla67
1531974 P1 Frontend Shane Caraveo (:mixedpuppy) show permission UI when in PPB VERIFIED FIXED mozilla67
1531976 P3 Frontend consider additional UI for PPB NEW ---
1532110 P1 Private Browsing Shane Caraveo (:mixedpuppy) Private Browsing start/homepage empty/white if 'Never remember history' option active in Preferences VERIFIED FIXED Firefox 67
1532165 P2 General Shane Caraveo (:mixedpuppy) further fixups for homepage/newtab VERIFIED FIXED mozilla68
1532774 P3 General When in PPB exit early without permission NEW ---
1532800 P1 Frontend Shane Caraveo (:mixedpuppy) Make description of Run in Private Windows clearer VERIFIED FIXED mozilla67
1533150 P1 Frontend Luca Greco [:rpl] [:luca] [:lgreco] Can't set "Firefox DevTools ADB Extension" to not allowed in private windows VERIFIED FIXED mozilla68
1533172 P1 General Luca Greco [:rpl] [:luca] [:lgreco] Side-loaded extensions are not prompted to be enabled for private browsing VERIFIED FIXED mozilla68
1533519 P1 Frontend Shane Caraveo (:mixedpuppy) Allow in private windows checkbox should only appear for full extensions VERIFIED FIXED mozilla67
1534131 P1 General Shane Caraveo (:mixedpuppy) Remove the closing period in the "Allow this extension to run in Private Windows." string VERIFIED FIXED mozilla67
1534682 P1 General Shane Caraveo (:mixedpuppy) remove period from addonPrivateBrowsing.learnMore.label and private-browsing-learn-more VERIFIED FIXED mozilla67
1534714 P1 General Shane Caraveo (:mixedpuppy) private window checkbox can still appear for themes VERIFIED FIXED mozilla67
1537542 P1 Frontend Luca Greco [:rpl] [:luca] [:lgreco] Options page / Options button should not be displayed for add-ons not allowed in Private Browsing mode VERIFIED FIXED mozilla68
1538025 -- General DevTools ADB Extension forces itself to be allowed in private windows (won't let you disallow it) RESOLVED DUPLICATE ---
1538546 P1 Add-ons Manager Luca Greco [:rpl] [:luca] [:lgreco] Private browsing opt-in should not be shown for extensions with `incognito: "not_allowed"` VERIFIED FIXED mozilla68
1538583 P1 Add-ons Manager Trishul Themes should not show [ALLOWED IN PRIVATE WINDOWS] notice VERIFIED FIXED mozilla68
1540112 P1 Add-ons Manager Luca Greco [:rpl] [:luca] [:lgreco] Ensure that the addonsManager telemetry event category is enabled before migratePrivateBrowsing is being called VERIFIED FIXED mozilla68
1540565 P3 General TabTracker leaks information about existence of private tabs/windows despite lack of private browsing permission NEW ---
1540959 P3 Frontend “Open menu” display has issues if the PB doorhanger remains open NEW ---
1541851 P2 General Allowed in private windows flag not displayed in about:addons after extension installation VERIFIED FIXED ---
1542842 P3 Add-ons Manager Luca Greco [:rpl] [:luca] [:lgreco] test_ext_incognito.js/browser_ext_browserAction_contextMenu.js reference undefined Ci.nsITelemetry.DATASET_RELEASE_CHANNEL_OPTIN RESOLVED FIXED mozilla68
1566000 -- General Extensions installed in permanent private browsing mode do not work by default RESOLVED INVALID ---
1581852 P2 General Shane Caraveo (:mixedpuppy) When installing an updated version from an add-on, the "allow in private browsing" checkbox in the notification can be unchecked even though permission was already given VERIFIED FIXED mozilla72
1627939 -- Untriaged Problem with extensions with incognito: not_allowed in their manifest and flag allowPrivateBrowsingByDefault RESOLVED DUPLICATE ---
1661517 P3 General Sonia Singla :soniasingla Remove extensions.allowPrivateBrowsingByDefault preference VERIFIED FIXED 91 Branch

73 Total; 10 Open (13.7%); 23 Resolved (31.51%); 40 Verified (54.79%);


Testcases

Overview

Summary of testing scenarios

Test Areas

Test Areas Covered Details
Installing from AMO
Installing from local files
Installing from thirdparty
Add-on updates
Sideloading
Other

Test suite


Bug Work

Tracking bug - []

Bug fix verification

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

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

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

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

[ Bug xxxxxxx] - 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 []


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 05-22-2018
Test Cases Creation 05-21-2018 N/A
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 Beta - Full Testing
QA Signoff - Beta Release Email to be sent