QA/Blok
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/21/2016 | 1.0 | Paul Oiegas | Created first draft |
Contents
Overview
Purpose
Tracking is the collection of data regarding a particular user's activity across multiple websites or applications that aren’t owned by the data collector, and the retention, use or sharing of that data. Tracking domains attempt to uniquely identify the person through the use of cookies or other technologies such as fingerprinting. Through Blok we want to allow people to avoid being tracked by not communicating with known tracking domains.
Scope
This wiki details the testing that will be performed for the Blok feature. It defines the overall testing requirements and provides an integrated view of the project test activities.
Ownership
Program Management - Cory Price (irc: ckprice)
Product Management - John Gruen (irc: jgruen)
UX - Aislinn Grigas (irc: aislinn)
Engineering - Luke Crouch (irc: groovecoder)
QA:
PM for QA team - Rares Bologa (irc: RaresB)
Leading QA efforts - Paul Oiegas (irc: pauloiegasSV)
QA - Emil Pasca (irc: emilpasca)
Communication channels:
IRC - #txp
Feature email address: TBA
Testing summary
Scope of Testing
In Scope
After installation verify that the user activity is not tracked if he does not allows this. Check all the feature functionality to be in compliance with the requirements.
Out of Scope
Following areas/features are considered out of scope and will not be considered as testing zones to be handled in this test plan:
- Mobile testing
Requirements for testing
Environments
Testing will be performed on the following OSes (both x86 & x64 infrastructures):
- Windows 7
- Windows 8.1
- Windows 10
- Ubuntu 15.04
- Ubuntu 16.04
- Mac OS X 10.10
- Mac OS X 10.11
Test Strategy
Test Objectives
This section details the progression test objectives that will be covered.
Ref | Function | Test Objective | Evaluation Criteria | Test Type | Owners |
---|---|---|---|---|---|
1 | Install the Blok add-on | Verify that the add-on is correctly installed. | Verify that the add-on can be found in about:addons, Extensions section. | Manual | Eng Team |
2 | Blok protection | Verify that the feature acts when senses a threat. | Visit a page that is known to track user activity and observe if user is notified. | Manual | Eng Team |
3 | Blok functionality | Verify all the feature functionality. | 1. Visit pages that are known to track user activity. 2. Choose to disable the functionality for the visited page and verify if any information is stored 3. Refresh the page and see if Blok is still disabled for the page. 4. Re-enable the feature and observe if any activity is tracked. 5. Verify the feedback and “report a problem” functionalities. 6. Verify that Blok notification is not displayed when visiting a website that does not track user’s activity |
Manual | Eng Team |
4 | Private Browsing | Verify if the feature works or not while in private browsing. | Visit a page that known to track user’s activity. | Manual | Eng Team |
5 | Disable Blok | Disable the add-on from about:addons. | Verify that user activity is again tracked on specific websites. | Manual | Eng Team |
6 | Uninstall Blok | Remove the add-on from about:addons. | Verify that user activity is again tracked on specific websites. | Manual | Eng Team |
Builds
Blok is an add-on, you can install it from the following links:
- A custom build can be made using the steps from GitHub repo.
- Add-on Release version. - TBD
- Add-on Development version. - Tracking Protection Test Pilot dev website version
Or you can install it trough Test Pilot experiments page, when the experiment will be available. Note that the add-on only works on Firefox versions 48.x and up.
Test Execution Schedule
The following table identifies the anticipated testing period available for test execution.
Project phase | Start Date | End Date |
---|---|---|
Start project | 6/01/2016 | - |
Study documentation/specs received | 8/01/2016 | 8/02/2016 |
QA - Test plan creation | 8/02/2016 | 8/03/2016 |
QA - Test cases/Env preparation | 8/02/2016 | 8/04/2016 |
QA - Nightly Testing | 8/01/2016 | - |
QA - Aurora Testing | ||
QA - Beta Testing | ||
Release in Test Pilot Date | ||
Release Date |
Testing Tools
Process | Tool |
---|---|
Test plan creation | Mozilla wiki |
Test case creation | Testrail |
Test case execution | Testrail |
Bugs management | Github |
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 analysis
Risk areas | Mitigation |
---|---|
External dependencies on Test Pilot | The add-on is installed through Test Pilot |
References
List and links for specs:
Meta bug: N/A
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 | ||
Display (HiDPI) | Yes | |
Interaction (scroll, zoom) | Yes | |
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 | 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 | Yes | |
Does sync work across upgrades | No | |
Requires install testing | Yes | |
Affects first-run or onboarding | No | |
Does this affect partner builds? Partner build testing | No | |
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 | ||
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 | 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 | 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. | ||
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS | ||
Interaction of this feature with other browser features | Yes |
Test suite
- Full Test suite - Tracking Protection Full Functional (TestRail)
- Smoke Test suite - TBD
- Regression Test suite - TBD if needed
Bug Work
- Tracking bug – N/A
- Found issues list - SV QA Engineering found bugs
- Github logged bugs - Query
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
- Link for the tests run
- Daily Smoke suite - TBA
- Full Test suite - TBA
- Regression Test suite - TBA if needed/available
Merge to Aurora Sign-off
- Link for the tests run - N/A
- Full Test suite - N/A
Checklist
Exit Criteria | Status | Notes/Details |
---|---|---|
Testing Prerequisites (specs, use cases) | [DONE] | |
Testing Infrastructure setup | No | |
Test Plan Creation | [DONE] | |
Test Cases Creation | [DONE] | |
Full Functional Tests Execution | [IN PROGRESS] | |
Automation Coverage | ||
Performance Testing | ||
All Defects Logged | ||
Critical/Blockers Fixed and Verified | ||
Daily Status Report (email/etherpad statuses/ gdoc with results) | ||
Metrics/Telemetry | N/A | |
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 |