Add-ons/QA/Testplan/Support inspection of WebExtension storage local API data

From MozillaWiki
Jump to: navigation, search


Revision History

Date Version Author Description
09/04/2019 1.0 Miruna Curtean Created first draft


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 -

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

Bugzilla query error

error, http-bad-status, Array


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

[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
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)
Testing Infrastructure setup
Test Plan Creation 09-04-2019
Test Cases Creation 09-03-2019 N/A
Full Functional Tests Execution
Automation Coverage
Performance Testing
All Defects Logged
Critical/Blockers Fixed and Verified
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent