QA/Use a separate content process for file:// URLs
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 |
---|---|---|---|
02/23/2017 | 1.0 | Simona Badau | 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 Use a separate content process for file:// URLs 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
• Product Manager:
- Jim Mathies (:jimm)
• Project Manager:
- Jim Mathies (:jimm)
• Engineering:
- Jim Mathies (:jimm)
• Developer:
- Bob Owen (:bobowen)
• UX:
- N/A
• QA Engineering Team - Nightly Testing
- Rares Bologa (irc: RaresB) - PM for QA team
- Brindusa Tot (irc: brindusat) - leading QA efforts
- Simona Badau (irc: simonab) - QA
Testing summary
Scope of Testing
In Scope
Use a separate content process for file:// URLs feature aims to make some changes in the way the content is handled when loading file:// URIs. That is content loaded from the local file system hat is now loaded in a separate child content process.
The feature is controlled by the boolean preference browser.tabs.remote.separateFileUriProcess.
Another relevant preference is dom.ipc.processCount.file that allows multiple file content processes.
Out of Scope
Testing the other types of content processes that are not related to the file:// URIs such as processes allocated for web sites, extensions etc.
Requirements for testing
Environments
Full testing will be performed on the following OSes:
- Windows (Windows 7 and Windows 10)
- Ubuntu 16.04
- Mac OS X (Mac OS X 10.11 and Mac OS X 10.12)
Other configuration/environmental setup needed:
- In Firefox configuration settings, browser.tabs.remote.separateFileUriProcess preference needs to be set to true.
- To allow multiple content processes, change the value of the preference dom.ipc.processCount.file.
Test Strategy
Risks Assessment and Coverage
ID | Description / Threat Description | Covered by Test Objective | Magnitude | Probability | Priority | Impact Score |
---|---|---|---|---|---|---|
RAC-1 | A local content process is not opened when a local file is opened | TO-1, TO-2, TO-3, TO-4, TO-5, TO-6 | 3-High | 2-Possible | 2-Medium | 12 |
RAC-2 | A local content process is not closed when it's correponding local file is closed | TO-1, TO-2, TO-3, TO-4, TO-5, TO-6 | 3-High | 2-Possible | 2-Medium | 12 |
RAC-3 | The content process is not changed when navigating from a local file to a web site and viceversa | TO-3, TO-4 | 3-High | 2-Possible | 2-Medium | 12 |
Rac-4 | The interaction between the different types of content processes | TO-3, TO-4 | 2-Moderate | 2-Possible | 1 - Low | 4 |
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, 2, 3, 4 would describe an area which although should be covered there aren't expected any discoveries of critical issues.
- An impact value of 6, 8, 9, 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.
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 | Risk Assessment and Coverage(RAC) | Owners |
---|---|---|---|---|---|---|
TO-1 | A local file is opened | The content of a local file is loaded in a separate child content process (local content process) | The local file is opened and it's content is loaded in a local content process allocated for local files | Manual | RAC-1 | Eng Team |
TO-2 | Multiple local files are opened | The content of multiple local files are opened in one or more local content processes (depending on the value of pref dom.ipc.processCount.file) | Local files are opened in the content processes allocated for the local files | Manual | RAC-1 | Eng Team |
TO-3 | Local files and websites can be opened in the same tab | Local files and websites are opened in the same tab and the type of the content process differs (local content processes and websites content processes) | Local files and websites are opened in the same tab and the type of the content process differs (local content processes and websites content processes) | Manual | RAC-1, RAC-2, RAC-3 | Eng Team |
TO-4 | Local files and websites can be opened in different tabs | Local files and websites are opened in different tabs | Local files and websites are opened in different tab and the type of the content process differs (local content processes and websites content processes) | Manual | RAC-1, RAC-2, RAC-3 | Eng Team |
TO-5 | Accessibility | Local files and their correspondent local content processes are not affected from the accessibility point of view | Testing for accessibility includes: - Screen Reader validation |
Manual | RAC-1, RAC-2 | Eng Team |
TO-6 | Local file is closed | Local files are closed along with their corresponding local content processes | The local content processes are closed when the local files are closed | Manual | RAC-2 | Eng Team |
Builds
This section should contain links for builds with the feature:
- Links for Nightly builds - available since November 26th 2016 - link
- Links for Beta builds - Fx55
Test Execution Schedule
The following table identifies the anticipated testing period available for test execution.
Project phase | Start Date | End Date |
---|---|---|
Start project | 02.23.2017 | |
Study documentation/specs received from developers | 02.28.2017 | 02.29.2017 |
QA - Test plan creation | 02.23.2017 | 02.24.2017 |
QA - Test cases/Env preparation | 02.28.2017 | 03.30.2017 |
QA - Nightly Testing | 02.28.2017 | 05.31.2017 |
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
Use a separate content process for file:// URLs feature first landed in Nightly 53 - 53.0a1 (2016-11-26) The feature remained in Nightly for the 54 and 55 cycle.
References
- bug 1147911 - Use a separate content process for file:// URLs
Testcases
Full testsuites can be found on TestRail at link or in the PDF doc.
Test Areas
Test Areas | Covered | Details |
---|---|---|
Private Window | Yes | |
Multi-Process Enabled | Yes | |
Multi-process Disabled | Yes | |
Theme (high contrast) | No | |
UI | ||
Mouse-only operation | Yes | |
Keyboard-only operation | Yes | |
Display (HiDPI) | Yes | |
Interraction (scroll, zoom) | No | |
Usable with a screen reader | Yes | e.g. with NVDA |
Usability and/or discoverability testing | No | Is this feature user friendly |
RTL build testing | No | |
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 | Yes | |
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 | Yes | 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 | Yes | |
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 | No | |
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 | No |
Test suite
Full Test suite - Link with the gdoc, follow the format from link
Bug Work
Meta bug: 1147911 - Use a separate content process for file:// URLs
Logged bugs ( blocking 1147911 )
24 Total; 2 Open (8.33%); 12 Resolved (50%); 10 Verified (41.67%);
Bug fix verification
15 Total; 0 Open (0%); 6 Resolved (40%); 9 Verified (60%);
Sign off
Criteria for Mid Nightly
Check list
- All the smoke tests (designed to ensure the main functionality is working as expected) are executed.
Criteria for Pre-Beta Release and Pre-Release
Check list
- 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 Nightly testing
Testing performed on folowing OSes
- Windows 7
- Ubuntu 16.04
- Mac OS X 10.12
Link for the tests run - Separate content process for file:// URLs [EngQA] - Mid Nightly 55.0a1
Pre-Beta testing
Testing performed on folowing OSes
- Windows 10 x64
- Ubuntu 16.04
- Mac OS X 10.12
Link for the tests run - Separate content process for file:// URLs - Pre-Beta Sign off (Fx55)
Links for the test report - link
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 | [DONE] |
toolkit/mozapps/extensions/test/browser/browser_file_xpi_no_process_switch.js |
Performance Testing | N/A | |
All Defects Logged | [DONE] | |
Critical/Blockers Fixed and Verified | [DONE] | |
Metrics/Telemetry | [DONE] | |
QA mid-Nightly Signoff | [DONE] | [Email sent in 5/16/2017] |
QA pre-Beta Signoff | Email to be sent | |
QA Beta - Full Testing | ||
QA pre-Release Signoff | Email to be sent |