Add-ons/QA/Testplan/Webextensions Language Packs

From MozillaWiki
Jump to: navigation, search

Revision History

Date Version Author Description
09/14/2017 1.0 Valentina Virlics Created first draft
10/02/2017 1.1 Marius Santa Updateds: Overview, Purpose, Scope, Bug Work, Builds, Checklist, Channel

Overview

  • A language pack is an add-on that changes the language of the user interface in a Mozilla application (Firefox, Thunderbird, SeaMonkey, etc.).
  • Switching to the new language pack formats will allow us to remove language packs from requiring the old add-ons ecosystem, they will be safer(no direct access to chrome registry) and will enable L10nRegistry (bug 1333980) which is required for transitioning to the new l10n API (bug 1365426).

Purpose

  • This document's purpose is to detail the test approach to the Language Packs Webextensions packaging, including Entry/Exit criteria, Scope for testing, links to testcases etc

Entry Criteria

  • QA has access to PRDs and mocks (from bugs)
  • The feature has landed in -dev

Current Status

  • The feature is in -dev

Exit Criteria

  • All related bugs triaged
  • All blockers fixed
  • All resolved bugs verified by QA
  • Found-fixed bugs rate going down in time

Scope

This section describes what parts of the feature will be tested and what parts won't be.

what's in scope?

  • Lang Packs validation - recognize the special kind of extension based on some entry in manifest.json
  • Lang Packs submission
  • Lang Packs auto-approval
  • Lang Packs structure and validation
  • Lang Packs installation

what's out of scope?

  • Extensions functionality

Ownership

Product Manager: Jorge Villalobos; irc nick :jorgev
QA Manager: Krupa Raj; irc nick :krupa
QA Lead: Victor Carciu; irc nick :victorc
Add-ons QA: Valentina Virlics; irc nick :ValentinaV
Webextensions QA: Cosmin Badescu; irc nick :CosminB
Webextensions QA: Marius Santa; irc nick :Santa

Requirements for testing

Environments

  • Windows
  • Mac OS
  • Linux

Servers

Channel dependent settings (configs) and environment setups

  • Nightly
  • Beta
  • Release

Test Strategy

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 17.05.2017
Study PRD/mocks received
QA - Test plan creation 14.09.2017
QA - Test cases preparation
QA - Test cases execution
Release Date

Testing Tools

Process Tool
Test plan creation Mozilla wiki
Test case creation TestRail / Google docs
Test case execution TestRail
Bugs management Github

References

* Webextenstions Language Packs accepted structure  
* Tracker: 6297

Testcases

Test Areas

  • Submission/Approvals/Installation of Webextensions Lang Packs

Test Areas

Test Areas Covered Details
Installation from AMO
Installation from Add-ons Manager
Installation from Third-party
Language Packs updates
Sideloading
Other

Bug Work

  • Feature bugs
- 6297 (traker)  
- 1526  
- 6350  
- 6360   
* bug 1395363 - Switch to webextension-langpacks
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1365709 -- Add-ons Manager Zibi Braniecki [:gandalf][:zibi] Consume new webextension-based langpacks RESOLVED mozilla57
1395456 P3 Internationalization Zibi Braniecki [:gandalf][:zibi] Ensure we generate correct min/max versions for the new langpacks RESOLVED mozilla57
1395457 P3 Internationalization Zibi Braniecki [:gandalf][:zibi] De-hardcode product name when producing webext-langpack RESOLVED mozilla57
1395459 P3 Internationalization Zibi Braniecki [:gandalf][:zibi] When building webext-langpack pick up language version from the VCS if possible RESOLVED mozilla58
1396467 P3 Add-ons Manager Zibi Braniecki [:gandalf][:zibi] Add tests for the new langpacks consumption code RESOLVED mozilla58
1405264 P2 General Andrew Swan [:aswan] webext-langpacks register chrome entries later than old-style langpacks VERIFIED mozilla58
1407395 -- Internationalization Zibi Braniecki [:gandalf][:zibi] Guard against empty defines entry when generating langpack manifest RESOLVED mozilla58
1408380 -- Internationalization Axel Hecht (Back on June 28) [:Pike] localized nightlies broken after switch to webextensions if locale is missing toolkit/defines.inc RESOLVED mozilla58
1411951 P1 Internationalization Zibi Braniecki [:gandalf][:zibi] Windows langpacks are generated with invalid paths VERIFIED mozilla58
1415117 P5 Internationalization SessionRestore does not update tab title if language changes on restart NEW ---

10 Total; 1 Open (10%); 7 Resolved (70%); 2 Verified (20%);


* bug 1365031 - Turn langpacks into webextension-like packages
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1333980 -- Internationalization Zibi Braniecki [:gandalf][:zibi] Land L10nRegistry RESOLVED mozilla57
1365440 -- General Zibi Braniecki [:gandalf][:zibi] Generate webextension language packs VERIFIED mozilla57
1365709 -- Add-ons Manager Zibi Braniecki [:gandalf][:zibi] Consume new webextension-based langpacks RESOLVED mozilla57
1377911 -- General Zibi Braniecki [:gandalf][:zibi] Remove the override chrome entries from language manifests RESOLVED mozilla57
1385544 P3 Internationalization Zibi Braniecki [:gandalf][:zibi] Add mozl10n: protocol RESOLVED ---
1389397 -- Build Config & IDE Support Zibi Braniecki [:gandalf][:zibi] Remove the override chrome entries from language manifests (Fennec) RESOLVED Firefox 57
1393848 -- General Zibi Braniecki [:gandalf][:zibi] Move search-plugin resource entry to browser's content jar.mn RESOLVED mozilla57
1411951 P1 Internationalization Zibi Braniecki [:gandalf][:zibi] Windows langpacks are generated with invalid paths VERIFIED mozilla58
1413322 P3 Add-ons Manager Andrew Swan [:aswan] Stop loading old-style langpacks VERIFIED mozilla58
1425689 -- Build Config & IDE Support Zibi Braniecki [:gandalf][:zibi] Move search-plugin resource entry to fennec's chrome jar.mn RESOLVED Firefox 59

10 Total; 0 Open (0%); 7 Resolved (70%); 3 Verified (30%);


Sign off

Criteria

Check list

  • All test cases should be executed
  • All blockers must be fixed and verified or have an agreed-upon timeline for being fixed

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
QA Beta - Full Testing
QA Signoff - Beta Release