Add-ons/QA/Testplan/Support inspection of WebExtension storage local API data
Revision History
Date | Version | Author | Description |
---|---|---|---|
09/04/2019 | 1.0 | Miruna Curtean | Created first draft |
Contents
Overview
- 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.
Purpose
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
Entry Criteria
- QA has access to all the PRDs, mocks and related documents
- The feature has landed on Beta
- Kick off meeting has been finalized
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 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 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.
Ownership
Dev Lead: Bianca Danforth; irc nick :bdanforth
QA Manager: Krupa Raj; irc nick :krupa
QA Lead: Victor Carciu; irc nick :victorc
Webextensions QA: Miruna Curtean; irc nick :MirunaC
Requirements for testing
The Storage panel should reflect the current state of extension storage local at all times for any kind of web extension.
Environments
OSes covered: Windows, Mac OS X, Linux
Channel dependent settings (configs) and environment setups
Nightly
- Enable devtools.storage.extensionStorage.enabled from about:config
Beta
- Enable devtools.storage.extensionStorage.enabled from about:config
Release
The feature should be enabled by default in FF70
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 | 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 |
Builds
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 |
---|---|---|
Start project | ||
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 | ||
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 |
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 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
References
* List and links for specs Feature Technical Documentation Guidelines - [1] QA Test Plan - added on bug - [2]
* bug 1542035 - Support inspection of WebExtension storage.local API data from the Storage panel of the WebExtension Addon Debugger toolbox
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Testcases
Overview
Summary of testing scenarios
Test Areas
Test Areas | Covered | Details |
---|---|---|
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 |
Test suite
- Link for the [ Initial test planning]
- Link for the [ Google doc tests]
- Link for the [3]
Bug Work
Tracking bug - []
Bug fix verification
[Verified Fixed] [ Bug xxxxxxx] - Storage panel of the WebExtension Addon Debugger toolbox does not auto-update consistently for storage local updates
- ↳ 2019-09-04: 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: out of scope
Logged bugs
Sign off
Criteria
Check list
- 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)
Results
Beta testing
List of OSes that will be covered by testing
- Link for the tests run
- Full Test suite, use template from []
Checklist
Exit Criteria | Status | Notes/Details |
---|---|---|
Testing Prerequisites (specs, use cases) | Feature is gated behind pref which needs to be turned on | |
Testing Infrastructure setup | Test suite and test cases have been created in Test rail | |
Test Plan Creation | 09-04-2019 | |
Test Cases Creation | 09-03-2019 | |
Full Functional Tests Execution | ||
Automation Coverage | N/A | |
Performance Testing | N/A | |
All Defects Logged | Yes | |
Critical/Blockers Fixed and Verified | N/A | |
QA Beta - Full Testing | ||
QA Signoff - Beta Release | Email was sent |