QA/Portal

From MozillaWiki
< QA
Jump to: navigation, search

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
26/05/2017 1.0 Carmen Fat Created first draft

Overview

Purpose

Peer2Peer is a Firefox webextension which allows users to share different kind of files through peer-to-peer (P2P) networking technology. Peer2Peer handles to distribution a big amount of files formats: from pictures *.jpeg, *.png, *.bmp to videos *.mp4, *.avi, *.flv and even more. There is no restricting when it comes to sharing files using Peer2Peer; even folders with a big load of files can be distributed through Firefox’s portal.

Scope

This wiki details the testing that will be performed by the project team for the Peer2Peer webextension. 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

Engineering:
Abhinav Adduri (irc: Abhi)
Erica Wright (irc: ewright)
Sevaan Franks (irc: sevaan)
Blake Winton (irc: bwinton)
John Gruen (irc: jgruen)
Wil Clouser (irc: clouserw)

UX:
Daniela Arcese (irc: darcese)

QA:
PM for QA team - Rares Bologa (irc: RaresB)
Leading QA efforts - Paul Oiegas (irc: pauloiegasSV)
Manual QA - Cosmin Muntean (irc: CosminMCG)

Communication channels:
IRC channel - #testpilot
Feature email address: - testpilot-dev@mozilla.org
Slack: #testpilot-p2p

Testing summary

Scope of Testing

In Scope

The goal is allowing users to transfer files in a simple and secure way. The experiment provides the users a way of sharing files using the browser, so there is no need to waste any time reaching out 3rd party file-sharing software, that might also be restrictive and unsecured.

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 version (at least not for first Test Pilot release).

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
  • Mac OS X 10.12

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 P2P experiment add-on Verify that the webextension is correctly installed. Webextension UI changes are present in the browser. Manual Eng Team
2 P2P functionality Verify that the users of the webextension can send and receive different types of files. 1. Click the “P2P” button from the toolbar to trigger the Portal UI.
2. Drag and drop files/folders (or browse) to Portal page, in order to create the direct transfer link to them.
3. Click on the received link to redirect on the Portal and to receive the sent files.
Manual Eng Team
3 Keyboard only navigation Verify that all webextension functionalities can be accessed from the keyboard. All functionalities can be accessed from keyboard. Manual Eng Team
4 Private Browsing Verify the functionality of the webextension in Private Browsing mode. TBD Manual Eng Team
5 Disable / Re-enable P2P Verify that the webextension can be disabled and enabled without any issues. 1. Disable P2P webextension and verify that there is no P2P button displayed on the toolbar.
2. Re-enable P2P webextension and verify that the browser has changed back to displaying the P2P button on toolbar.
Manual Eng Team
6 Uninstall P2P webextension Verify that the toolbar returns to its default state. 1. P2P webextension is uninstalled.
2. P2P button is no longer displayed on toolbar.
Manual Eng Team

Builds

Since P2P is a webextension, you can install it from the following links:

  • Or you can install it trough Test Pilot experiments page when the experiment will be available.

Note that the standalone webextension only works starting with Firefox versions 49.x, while Test Pilot requires at least Firefox 50.x to work.

Test Execution Schedule

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

Project phase Start Date End Date
Start project
Study documentation/specs received from developers 05/22/2017 05/25/2017
QA - Test plan creation 05/26/2017 05/29/2017
QA - Test cases/Env preparation - -
QA - Pre-Release in Test Pilot Testing - -
QA - Release in Test Pilot - -
QA - Nightly 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
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 Beta
Track the dates and build number where feature was merged to Release

Risk analysis

Risk areas Mitigation
External dependencies on Test Pilot - We should do an end-to-end test of how we will integrate with the system.
- We should determine what our exact requirements are for sample size.
- Look into Telemetry as a contingency plan.
P2P webextension compatibility and usability with e10s/non e10s tabs. - P2P webextension should be e10s compatible.
Reviews: data practices, AMO, legal - We should be covered by Test Pilot legal agreement so no additional legal review will be needed for MVP; we will not need to get AMO reviews, internal team code reviews will be enough for MVP launch.
Scope - Targeting only en-US?
- Accessibility requirements == best effort?
- It may get hard to use for some of the users.
- There might be issues with the P2P connections.

References

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
RTL (Right to Left style) Yes
UI
Mouse-only operation Yes
Keyboard-only operation Yes
Display (HiDPI) Yes
Interaction (scroll, zoom) Yes
Usable with a screen reader  ?
Usability and/or discoverability testing Yes Is this feature user friendly
Install/Upgrade
Feature upgrades/downgrades data as expected Yes
Does sync work across upgrades No
Requires install testing Yes
Affect first-run or onboarding No
Does this affect partner builds? Partner build testing Yes


Data Monitoring
Temporary or permanent telemetry monitoring - Not on QA manual end.
Telemetry correctness testing - Not on QA manual end.
Server integration testing - Not on QA manual end.
Offline and server failure testing - Not on QA manual end.
Load testing - Not on QA manual end.


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  ?
Testing with existing/popular addons Yes


Security
3rd-party security review - Not on QA manual end.
Privilege escalation testing - Not on QA manual end.
Fuzzing - Not on QA manual end.


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.  ?
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS Yes
Interaction of this feature with other browser features Yes

Test suite

  • Full Test suite - TBD
  • Acceptance/Smoke Test suite - TBD
  • Regression Test suite -TBD (if needed)

Bug Work

Sign off

Criteria

  • Has sufficient automated test coverage (as measured by code coverage tools).
  • 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 and/QA)

Results

Link for the tests runs

  • Full Test suite

Checklist

Exit Criteria Status Notes/Details
Testing Prerequisites (specs, use cases)
Testing Infrastructure setup
Test Plan Creation [DONE]
Test Cases Creation [NOT STARTED]
Full Functional Tests Execution
Automation Coverage - Not on QA manual end.
Performance Testing - Not on QA manual end.
All Defects Logged
Critical/Blockers Fixed and Verified
Daily Status Report (email/etherpad statuses/ gdoc with results) -
Metrics/Telemetry - Not on QA manual end.
QA Signoff - Test Pilot experiment release Email to be sent