QA/Shutdown Decoders

< QA
Revision as of 13:59, 7 November 2016 by AdiFlorinescu (talk | contribs)

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
10/17/2016 1.0 Adrian Florinescu Initial 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 Shutdown Decoders project. 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

• Program Management:

• Eng.:

• UX:

• QA

Testing summary

Scope of Testing

In Scope

Detail what is in scope from a testing perspective for the project team.

Out of Scope

Detail what is out of scope from a testing perspective for the project team. Note: if usability testing is not in the scope of testing feature.

Requirements for testing

Environments

Specify OSes that need to be covered
Specify Devices that need to be covered
Specify other configuration/environmental setup needed


Channel dependent settings (configs) and environment setups

Nightly

text

Aurora

text

Beta

text

Post Beta / Release

text

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 RAC Owners
TO-1 Video track is paused when tab containing it loses focus. Video track is paused and CPU/GPU usage decreases Manual - Eng Team
TO-2 Stopped video track is resumed and synced to the sounds track when the tab containing it is focused. Video is synced to sound and resumed when tab is refocused Manual RAC-01 , RAC-03, RAC-04, RAC-09 Eng Team
TO-3 Video track is paused for all 3 supported formats for <video> html element (mp4, webm, ogg) Encoding formats are not affecting video/sound capabilities Manual RAC-05 Eng Team
TO-4 Telemetry is recorded related to the recovery of the video-decode-suspend Telemetry data is recorded Manual - Eng Team
TO-5 High Resolution >480p videos are covered by Shutdown decoder High Resolution videos are not lagging (phase 2 required) Manual - Eng Team
TO-6 Video and sound only videos work properly FF works properly on video only and sound only tracks Manual RAC -6 Eng Team
TO-7 Performance wise, the pause and resume in case of multiple frames/videos is acceptable and doesn't crash the media container TBD what are the expectations in terms of "acceptable" Manual RAC-07 Eng Team


Impact Score Breakdown:

  • An impact value of 1 or 2 would describe an area which although should be covered there aren't expected any discoveries of critical issues.
  • An impact value of 4, 8 or 12 would describe an area in which we expect to find issues but those issues are not expected to be critical.
  • An impact value of 18 or 27 would describe an area on which it is likely to find issues and those issues to be critical or blockers.

RAC: Refers to the "Risk Assessment and Coverage" item that is covering.

Builds

This section should contain links for builds with the feature -

  • Links for Nightly builds
  • Links for Aurora builds
  • Links for Beta builds

Test Execution Schedule

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

Project phase Start Date End Date
Start project 10.03.2016
Study documentation/specs received from developers 10.11.2016 10.17.2016
QA - Test plan creation 10.18.2016 10.20.2016
QA - Test cases/Env preparation 10.20.2016
QA - Nightly Testing
QA - Aurora Testing
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 TestRail/ Google docs
Test case execution 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 Aurora
Track the dates and build number where feature was merged to Release/Beta

Risk Assessment and Coverage

ID Description / Threat Description Covered by Test Objective Magnitude Probability Priority Impact Score
RAC-1 Visibility of video element TO-2 2-Moderate 2-Possible 2-Medium 8
RAC-2 When Video is resumed, the delay is too big TO-7 3-High 3-Almost Certain 3-High 27
RAC-3 On focus back, the sync between sound and video is not successful TO-2 3-High 3-Almost Certain 3-High 27
RAC-4 Video decoder is not accessible by the FF process TO-2 1-Unlikely 2-Possible 2-Medium 8
RAC-5 Not all video formats are supported correctly TO-3 2-Moderate 2-Possible 3-High 12
RAC-6 Sounds only "videos" are not correctly managed when talking about suspend decoder TO-6 1-Unlikely 2-Possible 2-Medium 8
RAC-7 Videos from multiple fames are not handled corectly (visibility concern) TO-8 3-High 2-Possible 3-High 12
RAC-8 Possible Performance issues with multiple tabs or multiple videos - also behaviour on High loaded GPU/CPU TO-8 3-High 3-Almost Certain 3-High 27
RAC-9 Transition effect might not always be user friendly TO-2 3-High 3-Almost Certain 3-High 27

Values:

  • Magnitude: 1- Low , 2-Moderate, 3-High
  • Probability: 1-Unlikely, 2-Possible, 3-Almost Certain
  • Priority: 1 - Low, 2-Medium, 3-High

Impact Score Breakdown:

  • An impact value of 1 or 2 would describe an area which although should be covered there aren't expected any discoveries of critical issues.
  • An impact value of 4, 8 or 12 would describe an area in which we expect to find issues but those issues are not expected to be critical.
  • An impact value of 18 or 27 would describe an area on which it is likely to find issues and those issues to be critical or blockers.

References

  • List and links for specs
 https://wiki.mozilla.org/Firefox/Shutdown_Decoders 
 https://mozilla.invisionapp.com/share/K48PCVSEM
  • bug 1293963 - [Meta] Suspend-video-decoder: phase-1 shipping
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1276556 P3 Audio/Video: Playback [META] Tracking enable of background tab video decoder suspend NEW ---
1294349 -- Audio/Video: Playback Gerald Squelart (he/him) (not at Mozilla since 2022-09-15) Telemetry to support background video decoder suspend: Recovery time from video-decode-suspended RESOLVED mozilla51
1294656 -- Audio/Video: Playback Tzuhao Kuo [:kaku] Seek to nearest keyframe when resuming videos with no audio - no audio track RESOLVED mozilla51
1305338 P1 Audio/Video: Playback Mark Liang(:mark_liang) [UX] UX Spec for Shutdown Decoder Phase 1 RESOLVED ---
1309492 P3 Audio/Video: Playback Tzuhao Kuo [:kaku] If a video element's video is suspended, make it draw black frames. RESOLVED ---
1309494 P3 Audio/Video: Playback Tzuhao Kuo [:kaku] Use spinning loading UI if resuming video element's video decoder is longer than 250ms. RESOLVED mozilla55
1345403 -- Audio/Video: Playback Tzuhao Kuo [:kaku] Mark a video element as taint and never suspend it again if it is passed into drawImage() RESOLVED mozilla55
1346116 -- Audio/Video: Playback Tzuhao Kuo [:kaku] Consider a video element is in tree or not to suspend its video decoder RESOLVED mozilla55
1346120 -- Audio/Video: Playback Tzuhao Kuo [:kaku] If a video element's video is suspended, keep the last decoded video frame on the screen RESOLVED mozilla55
1346235 P1 Audio/Video John Lin [:jhlin][:jolin] Fennec has stopped working while playing videos VERIFIED Firefox 55
1348432 P1 Audio/Video: Playback Tzuhao Kuo [:kaku] Missing audio in YouTube videos that were requested within the same tab. Refreshing page fixes audio. VERIFIED mozilla55
1348864 P1 Audio/Video Tzuhao Kuo [:kaku] Black frame displayed on video decoder resume RESOLVED ---
1349456 -- Audio/Video: Playback Tzuhao Kuo [:kaku] Mark a video element as taint and never suspend it again if it is aptured via mozCaptureStream() RESOLVED mozilla55
1349459 -- Audio/Video: Playback Tzuhao Kuo [:kaku] Mark a video element as taint and never suspend it again if it is passed into createImageBitmap() VERIFIED mozilla55
1365581 P3 Audio/Video Tzuhao Kuo [:kaku] [Shutdown Decoder] OGV video elements are not suspended. RESOLVED ---
1365584 P1 Audio/Video Tzuhao Kuo [:kaku] [Shutdown Decoder] On WEBM video element resume the player returns a error RESOLVED ---
1369970 -- Audio/Video: Playback Tzuhao Kuo [:kaku] [Shutdown Decoder] enable the preference. RESOLVED mozilla55

17 Total; 1 Open (5.88%); 13 Resolved (76.47%); 3 Verified (17.65%);


Testcases

Overview

Summary of testing scenarios

Test Areas

Test Areas Covered Details
Private Window Yes
Multi-Process Enabled Yes
Multi-process Disabled Yes
Theme (high contrast) Yes
UI
Mouse-only operation Yes
Keyboard-only operation Yes
Display (HiDPI) Yes
Interraction (scroll, zoom) No
Usable with a screen reader No e.g. with NVDA
Usability and/or discoverability testing Yes Is this feature user friendly
RTL build testing No
Help/Support
Help/support interface required TBD Make sure link to support/help page exist and is easy reachable.
Support documents planned(written) No Make sure support documents are written and are correct.
Install/Upgrade
Feature upgrades/downgrades data as expected No
Does sync work across upgrades No
Requires install testing No separate feature/application installation needed (not only Firefox)
Affects first-run or onboarding TBD Florin/Lawrence are investigating if there is a dedicated QA for this, or we should test? Should be an yes/no and if is yes should add in detail column the team/person assigned.
Does this affect partner builds? Partner build testing No yes/no options, add comment with details about who will lead testing
Enterprise Raise up the topic to developers to see if they are expecting to work different on ESR builds
Enterprise administration No
Network proxies/autoconfig TBD
ESR behavior changes No
Locked preferences TBD
Data Monitoring
Temporary or permanent telemetry monitoring Yes List of error conditions to monitor
Telemetry correctness testing No
Server integration testing No
Offline and server failure testing Yes
Load testing Yes
Add-ons If add-ons are available for testing feature, or is current feature will affect some add-ons, then API testing should be done for the add-on.
Addon API required? No
Comprehensive API testing No
Permissions No
Testing with existing/popular addons No
Security Security is in charge of Matt Wobensmith. We should contact his team to see if security testing is necessary for current feature.
3rd-party security review TBD
Privilege escalation testing No
Fuzzing No
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. TBD
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS No
Interaction of this feature with other browser features No

Test suite

Full Test suite - Link with the gdoc, follow the format from link
Smoke Test suite - Link with the gdoc, follow the format from link
Regression Test suite - Link with the gdoc - if available/needed.

Bug Work

Tracking bug – meta bug

Bug fix verification
Bug No Summary Status Firefox Verion
123 bug summary NEW Nighly 45
Logged bugs

Bug 111111
Bug 211111


Sign off

Criteria

Check list

  • All test cases should be executed
  • Has sufficient automated test coverage (as measured by code coverage tools) - coordinate with RelMan
  • All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed (as determined by engineering/RelMan/QA)

Results

Nightly testing

List of OSes that will be covered by testing

  • Link for the tests run
    • Daily Smoke, use template from link
    • Full Test suite, use template from link
    • Regression Test suite, if needed/available

Merge to Aurora 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)
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 Email to be sent
QA Aurora - Full Testing
QA Signoff - Aurora Release Email to be sent
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent