Overview
Purpose
The purpose of this document is to describe the GPU Process feature from a testing perspective, including the following details:
- Scope, focus areas and objectives of testing
- Owners and points of contact for areas of responsibility
- Strategy and types of testing
- 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
Ownership
- Developers
- QA
- Anthony Hughes (:ashughes) (Lead)
- Management
Scope
The following is in scope from a testing perspective for the project team.
- GPU process startup time
- Page load time
- GPU process restart time (in case of process kill)
- Real world performance with various common usecases (webgl, canvas2d, flash).
- Plugin startup time
- Antivirus conflicts
- Memory footprint
- Shutdown time
- Overall product stability
- Scrolling performance and correctness
The following is not in scope from a testing perspective for the project team.
- to be determined
Schedule
| Project phase | Date Started | Date Completed |
|---|---|---|
| Planning | ||
|
||
|
||
| Development | ||
|
||
|
||
|
||
| QA | ||
|
||
|
||
|
||
|
||
| Release |
Outstanding Questions
- What testing is out of scope for this feature?
- What platforms, hardware, drivers, renderers, etc need coverage?
Test Coverage
Environments
- Platforms: Windows, Mac, Linux, Android, iOS versions
- Devices: AMD/Intel/NVIDIA/etc; Single/Multi/Hybrid/etc; Internal/External; Current/Beta/Legacy drivers
- Other: 3rd-party software (Antivirus, Security, WindowsBlinds, etc), Preference changes
- Channel Specific: Nightly, Aurora, Beta, Release
Risks
- High-risk Assumptions
- High-risk Bugs
- Other Areas of Risk
Builds
This section should contain links for builds with the feature -
- Links for Nightly builds
- Links for Aurora builds
- Links for Beta builds
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 |
| Automated test execution | Talos, etc...? |
| Bugs management | Bugzilla |
Use Cases
| Test Areas | Covered | Details |
|---|---|---|
| Private Window | ||
| Multi-Process Enabled | ||
| Multi-process Disabled | ||
| Theme (high contrast) | ||
| UI | ||
| Mouse-only operation | ||
| Keyboard-only operation | ||
| Display (HiDPI) | ||
| Interraction (scroll, zoom) | ||
| Usable with a screen reader | e.g. with NVDA | |
| Usability and/or discoverability testing | Is this feature user friendly | |
| RTL build testing | ||
| Help/Support | ||
| Help/support interface required | Make sure link to support/help page exist and is easy reachable. | |
| Support documents planned(written) | Make sure support documents are written and are correct. | |
| Install/Upgrade | ||
| Feature upgrades/downgrades data as expected | ||
| Does sync work across upgrades | ||
| Requires install testing | separate feature/application installation needed (not only Firefox) | |
| Affects first-run or onboarding | 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 | 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 | ||
| Network proxies/autoconfig | ||
| ESR behavior changes | ||
| Locked preferences | ||
| Data Monitoring | ||
| Temporary or permanent telemetry monitoring | List of error conditions to monitor | |
| Telemetry correctness testing | ||
| Server integration testing | ||
| Offline and server failure testing | ||
| Load testing | ||
| 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? | ||
| Comprehensive API testing | ||
| Permissions | ||
| Testing with existing/popular addons | ||
| 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 | ||
| Privilege escalation testing | ||
| Fuzzing | ||
| Web Compatibility | depends on the feature | |
| Testing against target sites | ||
| Survey of many sites for compatibility | ||
| Interoperability | depends on the feature | |
| Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. | ||
| Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS | ||
| Interaction of this feature with other browser features |
Test Suites
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.
Bugs
65 Total; 8 Open (12.31%); 55 Resolved (84.62%); 2 Verified (3.08%);
Sign off
| 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 |
References
- List and links for available specs - documents, user stories, specifications
- Meta bug: bug 1264543
- https://public.etherpad-mozilla.org/p/GPU_Process_Testing
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 |
|---|---|---|---|
| 2016-11-02 | 1.0 | Anthony Hughes | Created first draft |