QA/Pointer Lock API Improvement
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 |
---|---|---|---|
07/14/2016 | 1.0 | Brindusa Tot | Created first draft |
Contents
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 new implementation of Pointer Lock API with permission requirement removed. As the permission requirement for Fullscreen API was removed since several versions before, it make sense to not require additional permission for PointerLock when the document is in fullscreen. With this feature the permission requirement for Pointer Lock is removed and when pointer lock is activated, a warning bar is displayed with message "<site> has control of your pointer. Press Esc to take back control.". If full screen is requested as well as pointerlock then only the full screen warning is shown.
Following in this document is presented:
- What will be tested
- How testing will be performed
Ownership
Engineering contact: Dale Harvey
QA:
Rares Bologa - PM for QA team
Brindusa Tot - leading QA efforts
Simona Badau, QA
Testing summary
Scope of Testing
In Scope
The updates that are done on Pointer Lock API that should be included in our testing are:
- The permission requirement notification was disabled
- A warning bar is displayed with message "<site> has control of your pointer. Press Esc to take back control." went pointer lock is activated. If full screen is also requested, then only the warning for full screen is shown
- Pointer lock functionality with or without full screen.
The testing efforts will be invested on the following areas:
- functionality: pointer lock functionality on different web pages(demo/game pages)
- accessibility: High Contrast themes, Keyboard operation
- performance: make sure that browser performance is not affected - after playing with pointer lock for some time, browser performance is the same
Out of Scope
The full functionality of Pointer Lock is not in the scope, as this feature's updates were done in the permissions area and notifications. Although, a smoke will be run on the functionality part.
Requirements for testing
Environments
Full testing will be done on following OSes:
- Windows
- Ubuntu
- Mac OS X
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 | Evaluation Criteria | Test Type | Owners |
---|---|---|---|---|---|
1 | Permission requirement for Pointer lock API was disabled | The test objective is to demonstrate that Pointer lock API is enabled without Permission request | Permission approval is not requested when try to access Pointer Lock API | Manual | Eng Team |
2 | Warning bar is displayed when pointer lock is activated | The test objective is to demonstrate that when Pointer lock API is activated, a warning message: "<site> has control of your pointer. Press Esc to take back control." is displayed | Correct warning messages is displayed when Pointer Lock API is activated | Manual | Eng Team |
3 | Pointer lock functionality without full screen | The test objective is to demonstrate that when Pointer lock API functionality is correct without full screen enabled | Pointer lock API functions correctly | Manual | Eng Team |
4 | Pointer lock functionality with full screen enabled | The test objective is to demonstrate that when Pointer lock API functionality is correct with full screen enabled. Warning message for Pointer lock is not displayed, only the full screen warning is displayed | Pointer lock API functions correctly under full screen | Manual | Eng Team |
5 | Pointer lock accessibility | The objective of these test suites is to verify that the application is accessible. | Testing for accessibility includes: - testing using high Contract themes |
Manual | Eng Team |
Builds
This section should contain links for builds with the feature
- Links for Nightly builds - available since 07.10.2016 link
- 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 | 07.12.2016 | |
Study documentation/specs received from developers | 07.12.2016 | 07.14.2016 |
QA - Test plan creation | 07.14.2016 | 07.16.2016 |
QA - Test cases/Env preparation | 07.14.2016 | 07.15.2016 |
QA - Nightly Testing | 07.15.2016 | 07.26.2016 |
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 | Google docs/ Test Rail |
Test case execution | TestRail |
Bugs management | Bugzilla |
Status
Overview
First released in Nightly in 07.10.2016 starting with build 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
- Will be added during testing
References
- List and links for specs
- http://www.html5rocks.com/en/tutorials/pointerlock/intro/ - Pointer Lock API introduction - https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API - Pointer Lock API introduction - http://mdn.github.io/pointer-lock-demo/ - http://threejs.org/examples/misc_controls_pointerlock.html - https://kripken.github.io/BananaBread/wasm-demo/index.html - http://substack.net/projects/voxel-forest/ - http://media.tojicode.com/q3bsp/
- Meta bug: Bug 1273351
Testcases
Test cases can be found here - gdoc link
Test cases can be found also on TestRail at: link
Test Areas
Test Areas | Covered | Details |
---|---|---|
Private Window | Yes | |
Multi-Process Enabled | Yes | |
Multi-process Disabled | No | |
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 |
Help/Support | ||
Help/support interface required | No | 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 | No | 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 | No | |
ESR behavior changes | No | |
Locked preferences | No | |
Data Monitoring | ||
Temporary or permanent telemetry monitoring | No | List of error conditions to monitor |
Telemetry correctness testing | No | |
Server integration testing | No | |
Offline and server failure testing | No | |
Load testing | No | |
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 | No | |
Privilege escalation testing | No | |
Fuzzing | No | |
Web Compatibility | depends on the feature | |
Testing against target sites | Yes | |
Survey of many sites for compatibility | No | |
Interoperability | depends on the feature | |
Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. | No | |
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS | No | |
Interaction of this feature with other browser features | Yes | Interaction with full screen feature |
Test suite
First Run of Testcases can be found at: link Full Test Run, after fix of bug 1287408 - can be found at link
Bug Work
Tracking bug – meta bug 1273351
Bug fix verification
Logged bugs
Bug 1287104 - PointerLock demo can't be enabled after changing focus
Bug 1288692 - After Web Console is opened - full screen is entered on a PointerLock demo instead of just entering PointerLock
Bug 1289403 - [e10s] PointerLock works very slow on Nightly and Aurora with this site http://mdn.github.io/pointer-lock-demo/
Bug 1287408 - Geolocation preferences not applied properly in Nightly
Sign off
Criteria
Check list
- All test cases should be executed
Nightly to Aurora | Open Bugs Severity | Number of Open Bugs |
---|---|---|
Blocker | 0 | |
Critical | 2 | |
Major | 4 | |
Normal | 12 | |
Minor+Enh | 15 |
Results
Nightly testing
List of OSes that will be covered by testing
- Link for the tests run
- Full Test suite if testcase ca be found on TestRail at link
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) | [DONE] | |
Testing Infrastructure setup | [DONE] | |
Test Plan Creation | [DONE] | |
Test Cases Creation | [DONE] | |
Full Functional Tests Execution | [DONE] | |
Automation Coverage | ||
Performance Testing | N/A | |
All Defects Logged | [DONE] | |
Critical/Blockers Fixed and Verified | [DONE] | |
Metrics/Telemetry | N/A | |
QA Signoff - Nightly Release | [DONE] | Sign Off email sent on |
QA Aurora - Full Testing | ||
QA Signoff - Aurora Release | Email to be sent | |
QA Beta - Full Testing | ||
QA Signoff - Beta Release | Email to be sent |