QA/Large-Allocation header

From MozillaWiki
< QA
Jump to: navigation, search

Large-Allocation header

Revision History

This section describes the modifications that have been made to this wiki page. A new row has been completed each time the content of this document is updated (small corrections for typographical errors do not need to be recorded). The description of the modification contains the differences from the prior version, in terms of what sections were updated and to what extent.

Date Version Author Description
2017-03-13 1.0 Ciprian Georgiu Created first draft

Overview

Purpose

Detail the purpose of this document. For example:

  • The test scope, focus areas and objectives
  • The test responsibilities
  • The test strategy for the levels and types of test for this release
  • The entry and exit criteria
  • The basis of the test estimates
  • Any risks, issues, assumptions and test dependencies
  • The test schedule and major milestones
  • The test deliverables

Scope

This wiki details the testing that will be performed by the project team for the Large-Allocation header feature. It defines the overall testing requirements and provides an integrated view of the project test activities. Its purpose is to document:

  • what will be tested,
  • how testing will be performed.

Ownership

Engineering contact(s):

QA contact(s):

Testing summary

Scope of Testing

In Scope

Testing efforts will be focused on confirming that browser (custom Firefox 53 build) works as expected when playing Facebook / other web games which take advantage of various web features when Large-Allocation header is present.

Out of Scope

Only the Large-Allocation feature behavior will be included in the testing efforts. Any others technologies, are not going to be evaluated in order to find whether it satisfies the specified requirements or not.

Requirements for testing

Environments

Full testing will be done on following OSes:

  • Windows 7 x86
  • Windwos 10 x86
  • Windwos 8.1 x86
  Preconditions: before any testing a new boolean pref must be created: "dom.largeAllocation.testing.allLoads" an set it to true 

About Large-Allocation header

The Large-Allocation response header tells the browser that the page being loaded is going to want to perform a large allocation. WebAssembly or asm.js applications can use large contiguous blocks of allocated memory. For complex games, for example, these allocations can be quite large, sometimes as large as 1GB. The Large-Allocation tells the browser that the web content in the to-be-loaded page is going to want to perform a large contiguous memory allocation and the browser can react to this header by starting a dedicated process for the to-be-loaded document, for example.

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 Evaluation Criteria Test Type Owners
1 The custom Firefox 53 build works as expected when the LargeAllocation header is present on content loads
  • the browser which have a custom pref `dom.largeAllocation.testing.allLoads` does not behave strangely when loading content specific to this feature
all scenarios provided must have the right expected result Manual Desktop Team

Testing approach

Builds

This section should contain links for builds with the feature:

The feature is available on Firefox 53 starting with 2017-02-02.

  • Links for Nightly builds - available since 02-02-2017 link
 Note that the special flag which turns it on for every website is only in the Firefox 53 custom build. [1]

Test Execution Schedule

The following table identifies the anticipated testing period available for test execution.

Project phase Start Date End Date
Start project 2017-01-12 tbd
Study documentation/specs received from developers 2017-02-28 2017-03-10
QA - Test plan creation 2017-03-13 2016-03-13
QA - Test cases/Env preparation 2017-03-13 2017-03-13
QA - Nightly Testing n/a n/a
QA - Aurora Testing n/a n/a
QA - Beta Testing tbd tbd
Release Date tbd tbd

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 Google docs/Test Rail
Test case execution TestRail
Bugs management Bugzilla

Overview

First released on Nightly in 02-02-2017 starting with link
Track the dates and build number where feature was merged to Aurora
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
 - see the MDN article for Large-Allocation [2]
  • Meta bug: Bug [3]

Test cases can be found also on TestRail at: [4]

Test Areas Covered Details
Private Window Yes
Multi-Process Enabled Yes
Multi-process Disabled Yes
UI
Mouse-only operation Yes
Keyboard-only operation Yes
Display (HiDPI) Yes
Interraction (scroll, zoom) Yes
Usability and/or discoverability testing Yes Is this feature user friendly
Does this affect partner builds? Partner build testing Yes yes/no options, add comment with details about who will lead testing
Web Compatibility depends on the feature
Testing against target sites Yes
Survey of many sites for compatibility Yes
Interoperability depends on the feature
Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. Yes
Coordinated testing/interop across the Firefox products: Desktop, Android, iOS
Interaction of this feature with other browser features Yes

Test suite

Large-Allocation header - Sign off (Fx53) testsuite in [tba] (need Testrail account)

Bug Work

Tracking bug – meta tracker bug 1331083

Bug fix verification

Bugs associated to Large-Allocation header

Full Query
ID Summary Status Resolution Priority
1304140 Implement the Large-Allocation header RESOLVED FIXED P3
1329331 Consider leaving the Large Allocation process after subsequent navigations RESOLVED FIXED --
1331087 Consider ignoring the Large-Allocation header in 64-bit builds RESOLVED FIXED --
1331525 The Large-Allocation success message is gobbled up and never displayed RESOLVED FIXED --
1332343 Fix browser_largeAllocation.js to work in e10s-multi RESOLVED FIXED --
1333936 Lift the Large-Allocation header process cap to 10 RESOLVED FIXED --
1334309 Ship the Large-Allocation header in Firefox 52 RESOLVED WONTFIX --
1334586 Propagate reload flags when loading pages with Large-Allocation headers RESOLVED FIXED --
1338241 Dragging a Large-Allocation tab into a new window doesn't work RESOLVED FIXED --

9 Total; 0 Open (0%); 9 Resolved (100%); 0 Verified (0%);


Logged bugs

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Criteria

Check list

  • All Criteria under each section of Quality Assurance Strategy should be green.
  • 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/RelMan/QA)

Results

Mid-Aurora, Pre-Beta and Pre-Release 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) [DONE]
Testing Infrastructure setup [DONE]
Test Plan Creation [DONE]
Test Cases Creation tbd
Full Functional Tests Execution tbd
Automation Coverage N/A
Performance Testing N/A
All Defects Logged [DONE]
Critical/Blockers Fixed and Verified [DONE]
Metrics/Telemetry N/A
QA Signoff - Nightly Release N/A
QA Aurora - Full Testing N/A
QA Signoff - Aurora Release
QA Beta - Full Testing
QA Signoff - Beta Release Sign off email sent 2017-03-30