Add-ons/QA/Testplan/Support inspection of WebExtension storage local API data
|09/04/2019||1.0||Miruna Curtean||Created first draft|
- 1 Overview
- 2 Requirements for testing
- 3 Test Strategy
- 4 Status
- 5 References
- 6 Testcases
- 7 Bug Work
- 8 Sign off
- This feature enables developers to view an extension’s storage local data in the addon toolbox storage panel.
- The goal of this issue is creating a new Storage actor, Extension Storage, to be able to inspect and manipulate data stored by an addon in the WebExtension storage APIs and to ensure that it is only activated when the debugging target is a WebExtension.
When the devtools.storage.extensionStorage.enabled config is set to True and the developer toolbox is targeting an extension process, the Extension Storage actor should be listed in in the Storage panel.
This document purports to detail the test approach for the adding a new Storage actor and includes Entry/Exit criteria, Scope for testing, links to test cases etc
- QA has access to all the PRDs, mocks and related documents
- The feature has landed on Beta
- Kick off meeting has been finalized
- 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
This section broadly outlines when the product is ready to ship
- QA has signed off
- All info is localized at least for a pre-defined set of locales
- All the necessary PR/blogposts have been sent out
This section describes what parts of the feature will be tested and what parts won't be.
what's in scope?
- The accuracy of the data displayed in the table any time data is modified in any way.
- That the “Extension Storage” list item shows up as expected in the left sidebar in the right situations and doesn’t show up in the wrong situations.
- That any extension that makes use of extension storage local can be inspected using this feature.
- Note that only JSONifiable values are displayed as-is in the patch; all other values are displayed as “Object”.
what's out of scope?
- Issues with the Storage panel UI itself outside of the data in the table for a particular extension under “Extension Storage”.
- How the toolbox changes or not if left open when an extension is installed/uninstalled/disabled/enabled.
- Issues with the WebExtensions APIs.
Requirements for testing
The Storage panel should reflect the current state of extension storage local at all times for any kind of web extension.
OSes covered: Windows, Mac OS X, Linux
Channel dependent settings (configs) and environment setups
- Enable devtools.storage.extensionStorage.enabled from about:config
- Enable devtools.storage.extensionStorage.enabled from about:config
The feature should be enabled by default in FF70
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||Install/Load and Inspect extension from about:debugging||To verify that the Extension Storage actor is not listed in the Storage panel when the devtools.storage.extensionStorage.enabled is set to false.||Manual||Add-ons QA Team|
|TO-2||Enable devtools.storage.extensionStorage.enabled pref||To verify that the Extension Storage actor is listed in the Storage panel when the devtools.storage.extensionStorage.enabled is set to true.||Manual||Add-ons QA Team|
|TO-3||Add items to extension storage||To verify that items are listed correctly using Background/ Content script or browserAction||Manual||Add-ons QA Team|
|TO-4||Edit items in extension storage||To verify that items are edited correctly using Background/ Content script or browserAction||Manual||Add-ons QA Team|
|TO-5||Remove items in extension storage||To verify that items are removed correctly using Background/ Content script or browserAction||Manual||Add-ons QA Team|
|TO-6||Add-on increased permissions||To verify that items are added or not to Extension Storage depending on agreeing to permissions||Manual||Add-ons QA Team|
|TO-7||Add storage items through the Console||To verify that the Storage panel displays items values as strings or Objects||Manual||Add-ons QA Team|
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|
|Study documentation/specs received from developers|
|QA - Test plan creation||02-14-2018|
|QA - Test cases/Env preparation||02-13-2018||N/A|
|QA - Beta Testing|
Detail the tools to be used for testing, for example see the following table:
|Test plan creation||Mozilla wiki|
|Test case creation||[ Docs] / TestRail|
|Test case execution||[ Docs] / [ TestRail]|
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
This actor only works for extensions that have migrated to the IndexedDB storage backend. High risk bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1578447 https://bugzilla.mozilla.org/show_bug.cgi?id=1578452
* List and links for specs Feature Technical Documentation Guidelines -  QA Test Plan - added on bug - 
* bug 1542035 - Support inspection of WebExtension storage.local API data from the Storage panel of the WebExtension Addon Debugger toolbox
Bugzilla query error
error, http-bad-status, Array
Summary of testing scenarios
|Feature Disabled - Extension Storage is not listed after installing addon|
|Feature Disabled - Extension Storage is not listed after uninstalling addon|
|Extension Storage is not listed after disabling preference and restarting browser|
|Feature Enabled - Adding, editing and removing storage items using Test Extension 1|
|Feature Enabled - Adding, editing and removing storage items using Test Extension 2|
|Verify JSONifiable values display as strings|
|Verify non-JSONifiable values display as "Object"|
|Modify settings kept in local storage|
- Link for the [ Initial test planning]
- Link for the [ Google doc tests]
- Link for the 
Tracking bug - 
Bug fix verification
[NEW] [ Bug xxxxxxx] - Storage panel of the WebExtension Addon Debugger toolbox does not auto-update consistently for storage local updates
- ↳ 2019-09-04: to be fixed
[NEW] [ Bug xxxxxxx] - Storage panel behavior of the WebExtension Addon Debugger toolbox is not consistent when different kinds of extensions are disabled while the toolbox is open
- ↳ 2019-09-03: to be fixed
- All test cases should be executed
- All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed (as determined by engineering/dev/QA)
List of OSes that will be covered by testing
- Link for the tests run
- Full Test suite, use template from 
|Testing Prerequisites (specs, use cases)|
|Testing Infrastructure setup|
|Test Plan Creation||09-04-2019|
|Test Cases Creation||09-03-2019||N/A|
|Full Functional Tests Execution|
|All Defects Logged|
|Critical/Blockers Fixed and Verified|
|QA Beta - Full Testing|
|QA Signoff - Beta Release||Email to be sent|