QA/Screenshots54: Difference between revisions

From MozillaWiki
< QA
Jump to navigation Jump to search
m (Add MochiTest bug url)
 
(11 intermediate revisions by 4 users not shown)
Line 14: Line 14:
|-
|-
| 03/06/2017 || 1.2 || Peter deHaan || Added new FF 54 Plans
| 03/06/2017 || 1.2 || Peter deHaan || Added new FF 54 Plans
|-
| 04/25/2017 || 1.3 || Cosmin Muntean & Paul Oiegas || Updates for Screenshots system add-on
|-
|-
|}
|}
Line 19: Line 21:
= Overview =
= Overview =
== Purpose ==
== Purpose ==
Page Shot is an experimental Add-on for Firefox that lets you save and share permanent copies of anything on the web.
Firefox Screenshots (Project Name: Page Shot) is an in-browser screenshoting application that lets you save and share permanent copies of anything on the web. It was originally deployed through Test Pilot as an experiment.  


== Scope ==
== Scope ==
This wiki details the testing that will be performed by the project team for the <project name> project. It defines the overall testing requirements and provides an integrated view of the project test activities. Its purpose is to document:
This wiki details the testing that will be performed by the project team for the Screenshots 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
* What will be tested
* How testing will be performed
* How testing will be performed
Line 34: Line 36:
* Engineering - [mailto:dcoates@mozilla.com Danny Coates]
* Engineering - [mailto:dcoates@mozilla.com Danny Coates]
* UX - [mailto:bpitoyo@mozilla.com Bram Pitoyo]  
* UX - [mailto:bpitoyo@mozilla.com Bram Pitoyo]  
* Ops - [mailto:dthorn@mozilla.com Daniel "relud" Thorn]
* Ops - [mailto:dthorn@mozilla.com Daniel "relud" Thorn] (backup is Miles)


'''QA:'''
'''QA:'''
Line 48: Line 50:


'''Communication channels:'''
'''Communication channels:'''
<br>IRC - #pageshot
<br>IRC - #screenshots
<br>Public feedback email - [mailto:pageshot-feedback@mozilla.com pageshot-feedback@mozilla.com] (goes to Ian, Donovan, and Bram)
<br>Contact email - [mailto:screenshots-staff@mozilla.com screenshots-staff@mozilla.com] (goes to Screenshots staff)


= Testing summary =  
= Testing summary =  


Currently there are no automated tests for [https://github.com/mozilla-services/pageshot Page Shot], apart from a load_test_script and Selenium smoke test, although [mailto:mbanner@mozilla.com standard8] is going to set up a MochiTest for Page Shot ([https://github.com/mozilla-services/pageshot/issues/2320 See #2320]).
Currently there are no automated tests for [https://github.com/mozilla-services/screenshots Screenshots], apart from a load_test_script and Selenium smoke test, although [mailto:mbanner@mozilla.com standard8] is going to set up a MochiTest for Screenshots ([https://github.com/mozilla-services/screenshots/issues/2320 See #2320]).


== Scope of Testing ==
== Scope of Testing ==
=== In Scope ===
=== In Scope ===


Page Shot lets you save anything on the web, including pages that requires a login or content that changes or is personalized. Once you've created a shot, anyone you give the link to can view it; never worry about logins or disappearing content. Page Shot is built and hosted by Mozilla, so you know it's safe to use.
Screenshots lets you save anything on the web, including pages that requires a login or content that changes or is personalized. Once you've created a shot, anyone you give the link to can view it; never worry about logins or disappearing content. Screenshots is built and hosted by Mozilla, so you know it's safe to use.


The scope of our testing is the Page Shot-desktop add-on and its functionality. The testing effort for Page Shot will be invested on the following areas:
The scope of our testing is the Screenshots-desktop system add-on and its functionality. The testing effort for Screenshots will be invested on the following areas:


* integration: verify the add-on integration with the current browser functionalities and UI;
* integration: verify the system add-on integration with the current browser functionalities and UI;
* functionality: basic and advanced functionality to be verified according to the existing requirements;
* functionality: basic and advanced functionality to be verified according to the existing requirements;
* usability: Page Shot features must be easy to use and straightforward;
* usability: Screenshots features must be easy to use and straightforward;
* load testing: Verify that the server can handle expected load; [https://github.com/pdehaan/pageshot-loadtests pageshot-loadtests]
* load testing: Verify that the server can handle expected load; [https://github.com/pdehaan/pageshot-loadtests pageshot-loadtests]


Line 93: Line 95:
! Ref !! Function !! Test Objective !! Evaluation Criteria !! Test Type !! Owners  
! Ref !! Function !! Test Objective !! Evaluation Criteria !! Test Type !! Owners  
|-
|-
| 1 || Install Page Shot add-on || Verify that the add-on is correctly installed. || Add-on UI changes are present in the browser. || Manual || Eng Team
| 1 || Screenshots Firefox button || Verify that the Screenshots button is displayed in the Firefox browser toolbar. || Screenshots scissor button is displayed and active in the toolbar. || Manual || Eng Team
|-
|-
| 2 || Page Shot functionality || Verify all Page Shot options are working. || 1. Save anything on the web.<br />2. Share content. || Manual || Eng Team
| 2 || Screenshots Onboarding tour  || Verify that when the Screenshots button is clicked, the Onboarding tour is displayed. || Tour is displayed and describes the Screenshots functionality. || Manual || Eng Team
|-
|-
| 3 || Disable / Re-enable Page Shot add-on || Verify that the add-on can be disabled and enabled without any issues. || 1. Disable Page Shot add-on.<br />2. Verify that the browser UI returned to default functionality on the affected areas.<br />3. Re-enable Page Shot add-on and verify that the browser has changed back. || Manual || Eng Team  
| 3 || Screenshots functionality || Verify all Screenshots functionalities are working. || 1. Save anything on the web.<br />2. Share content. || Manual || Eng Team
|-
|-
| 4 || Uninstall Activity Stream add-on || Verify that the UI changes are reverted and browser returns to default. || 1. Uninstall the Page Shot add-on.<br />2. Verify that the browser UI returned to default functionality on the affected areas. || Manual || Eng Team
| 3 || Disable / Re-enable Screenshots system add-on || Verify that the system add-on can be disabled and enabled without any issues. || 1. Disable Screenshots system add-on from "about:preferences"page. Or from "about:config"page, using extensions.screenshots.system-disabled pref ("True" for disabled and "False" for enabled). <br />2. Verify that the browser UI returned to default functionality on the affected areas.<br />3. Re-enable Screenshots system add-on and verify that the browser has changed back. || Manual || Eng Team  
|-
|-
|}
|}


== Builds ==
== Builds ==
Since Page Shot is an add-on, you can install it from the following links:
Firefox Screenshots system add-on can be found in the next builds:
* [https://pageshot.dev.mozaws.net/homepage/install-test-local.html Page Shot website.]
* Nightly - starting with build from [https://ftp.mozilla.org/pub/firefox/nightly/2017/04/2017-04-18-03-02-20-mozilla-central/ 2017-04-18]  
* [https://github.com/mozilla-services/pageshot#installation-and-setup GitHub repository by following the steps from Installation and Setup.]
* Beta - starting with Beta 54.0b2 [https://ftp.mozilla.org/pub/firefox/candidates/54.0b2-candidates/ 2017-04-25 (candidate)]
* [https://testpilot.firefox.com/experiments/page-shot Test Pilot experiments page.]


== Test Execution Schedule ==
== Test Execution Schedule ==
Line 132: Line 133:
|-
|-
| QA - Beta Testing  
| QA - Beta Testing  
|style="text-align:center;" |   
|style="text-align:center;" |  04/25/2017
|style="text-align:center;" |  
|style="text-align:center;" |  
|-
|-
Line 141: Line 142:
| Release Date  
| Release Date  
|style="text-align:center;" |
|style="text-align:center;" |
|style="text-align:center;" | 04/18/2017
|style="text-align:center;" | 06/13/2017
|}
|}


Line 161: Line 162:
= Status =  
= Status =  
== Overview ==
== Overview ==
Track the dates and build number where feature was released to Nightly
* Nightly - starting with build from [2017-04-18]
Track the dates and build number where feature was merged to Aurora
* Beta - starting with Beta 54.0b2 [2017-04-25]
Track the dates and build number where feature was merged to Release/Beta


== Risk analysis ==
== Risk analysis ==
Line 171: Line 171:
! Risk areas !! Mitigation  
! Risk areas !! Mitigation  
|-
|-
| External dependencies on Test Pilot ||- We should do an end-to-end test of how we will integrate with the system.<br />- We should determine what our exact requirements are for sample size.<br />- Look into Telemetry as a contingency plan.
| External dependencies ||- We should do an end-to-end test of how we will integrate with the browser and the server.<br />- We should determine what our exact requirements are for sample size.<br />- Look into Telemetry as a contingency plan.
|-
|-
| Browser PageShot add-on compatibility and usability with content specific websites  ||- Pictures and Videos from embedded sources.<br />- Private websites and private content.
| Screenshots system add-on compatibility and usability with content specific websites  ||- Pictures and Videos from embedded sources.<br />- Private websites and private content.
|-
|-
| 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 ||- All locales <br />- Accessibility requirements == https://github.com/mozilla-services/screenshots/issues/2251
|-
|-
| Scope ||- Targeting only en-US?<br />- Accessibility requirements == best effort?
| Tests ||- Lack of comprehensive server unit tests (https://github.com/mozilla-services/screenshots/issues/427)
|-
| Open issues ||- Number of open issues not declining (https://github.com/mozilla-services/screenshots/issues), although there aren't currently any beta/release blockers identified.
|}
|}


= References =
= References =
List and links for specs:
List and links for specs:
* [https://wiki.mozilla.org/Test_Pilot/Pageshot PageShot Wiki page.]
* [https://wiki.mozilla.org/Firefox/Screenshots Screenshots Wiki page.]
* [https://pageshot.dev.mozaws.net/ PageShot Dev website.]
* [https://screenshots.dev.mozaws.net/ Screenshots Dev website.]
* [https://pageshot.net/ PageShot Production website.]
* [https://screenshots.stage.mozaws.net/ Screenshots Stage website.]
* [https://github.com/mozilla-services/pageshot PageShot GitHub repository.]
* [https://screenshots.firefox.com/ Screenshots Production website.]
* [https://docs.google.com/document/d/12sK-DRZ3KwlW3NbpZ8zMI6Mx2dJHZNvLGLpSqN0ZrtY/edit PageShot Privacy Statement.]
* [https://github.com/mozilla-services/screenshots Screenshots GitHub repository.]
* [https://github.com/mozilla-services/pageshot/blob/master/docs/METRICS.md PageShot Metrics.]
* [https://docs.google.com/document/d/12sK-DRZ3KwlW3NbpZ8zMI6Mx2dJHZNvLGLpSqN0ZrtY/edit Screenshots Privacy Statement.]
* [https://docs.google.com/document/d/1ANgWGgAgH0swWt0q6H2fJHDNZw7701vGFUQofL-KZx8/edit Page Shot go-live metrics plan.]
* [https://github.com/mozilla-services/screenshots/blob/master/docs/METRICS.md Screenshots Metrics.]
* [https://github.com/mozilla-services/pageshot/blob/master/docs/acceptance.md Page Shot UX and Measurements Acceptance Criteria.]
* [https://docs.google.com/document/d/1ANgWGgAgH0swWt0q6H2fJHDNZw7701vGFUQofL-KZx8/edit Screenshots go-live metrics plan.]
* [https://github.com/mozilla-services/pageshot/blob/master/docs/testing-the-api.md Testing the API]
* [https://github.com/mozilla-services/screenshots/blob/master/docs/acceptance.md Screenshots UX and Measurements Acceptance Criteria.]
* [https://github.com/mozilla-services/screenshots/blob/master/docs/testing-the-api.md Testing the API]


Meta bug: N/A
Meta bug:
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1347231 [meta] Shipping Firefox Screenshots]


= Testcases =  
= Testcases =  
Line 202: Line 206:
|-
|-
! Test Areas !! Covered !! Details
! Test Areas !! Covered !! Details
|-
!colspan="3"| '''General'''
|-
|-
| Private Window  
| Private Window  
Line 215: Line 221:
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | Yes ||  
|-
|-
| '''UI'''  
| Enforce PNG check when posting images
||  ||  
|style="text-align:center;" | Yes || [https://github.com/mozilla-services/screenshots/issues/2301 See #2301]
 
|-
!colspan="3"| '''L20n'''  
|-
| Verify Screenshots is available in core set of supported locales  
|style="text-align:center;" | Yes || See: [https://github.com/mozilla-services/screenshots/issues/2295 #2295], [https://github.com/mozilla-services/screenshots/issues/2294 #2294], and [https://github.com/mozilla-services/screenshots/issues/2286 #2286]
 
|-
!colspan="3"| '''UI'''
|-
|-
| Mouse-only operation   
| Mouse-only operation   
Line 222: Line 237:
|-
|-
| Keyboard-only operation   
| Keyboard-only operation   
|style="text-align:center;" | No ||
|style="text-align:center;" | No || [https://github.com/mozilla-services/screenshots/issues/2251 See #2251]
|-
|-
| Display (HiDPI)  
| Display (HiDPI)  
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | Yes ||  
|-
|-
| Interraction (scroll, zoom)  
| Interaction (scroll, zoom)  
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | Yes ||  
|-
|-
Line 237: Line 252:


|-
|-
| '''Install/Upgrade/Uninstall'''  
!colspan="3"| '''Install/Upgrade/Uninstall'''  
||  ||
|-
|-
| Feature upgrades/downgrades data as expected   
| Feature upgrades/downgrades data as expected   
Line 244: Line 258:
|-
|-
| Does sync work across upgrades   
| Does sync work across upgrades   
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | No ||  
|-
|-
| Requires install testing     
| Requires install testing     
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | No ||
|-
| Verify user data is migrated from Test Pilot experiment
|style="text-align:center;" | Yes || [https://github.com/mozilla-services/screenshots/issues/2260 See #2260]
|-
|-
| Affects first-run or onboarding     
| Affects first-run or onboarding     
Line 255: Line 272:
|style="text-align:center;" | No || We won't have partner builds available for testing in the Nightly or Aurora channels
|style="text-align:center;" | No || We won't have partner builds available for testing in the Nightly or Aurora channels
|-
|-
| Verify that Page Shot can be "uninstalled"
| Verify that Screenshots can be "disabled"
|style="text-align:center;" | Yes || It should be able to be enabled and disabled by a toggle in about:preferences
|style="text-align:center;" | Yes || It should be able to be enabled and disabled by a toggle in about:preferences or by pref in about:config
 
|-
|-
| ''' Data Monitoring '''  
!colspan="3"| ''' Data Monitoring '''  
||  ||
|-
|-
| Temporary or permanent telemetry monitoring   
| Temporary or permanent telemetry monitoring   
Line 266: Line 283:
| Telemetry correctness testing   
| Telemetry correctness testing   
|style="text-align:center;" | - || Not covered by the Engineering QA team
|style="text-align:center;" | - || Not covered by the Engineering QA team
|-
| Verify pings are sent when clicking '''Save'''<br><tt>addon/save-shot/overlay-save-button</tt>
|style="text-align:center;" | Yes  ||
|-
| Verify pings are sent when clicking '''Cancel'''<br><tt>addon/cancel-shot/overlay-cancel-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''Download''';<br><tt>addon/download-shot/overlay-download-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''My Shots''';<br><tt>addon/goto-shots/selection-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''Save Visible''';<br><tt>addon/capture-visible/selection-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''Save Full Page''';<br><tt>addon/capture-full-page/selection-button</tt>
|style="text-align:center;" | Yes ||
|-
| Record if Screenshots is enabled or not via Telemetry
|style="text-align:center;" | Yes || [https://github.com/mozilla-services/screenshots/issues/2304 See #2304]
|-
|-
| Server integration testing   
| Server integration testing   
Line 274: Line 312:
|-
|-
| Load testing   
| Load testing   
|style="text-align:center;" | - || Not covered by the Engineering QA team
|style="text-align:center;" | Yes || [https://github.com/mozilla-services/screenshots-loadtests See screenshots-loadtests page]


|-
|-
| ''' Add-ons '''  
!colspan="3"| ''' 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.
|-
|colspan="3"| ''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?   
| Addon API required?   
Line 289: Line 328:
|style="text-align:center;" | No ||  
|style="text-align:center;" | No ||  
|-
|-
| Testing with existing/popular addons
| Testing with existing/popular add-ons
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | Yes ||  


|-
|-
| ''' Security '''  
!colspan="3"| ''' Security '''  
|| || Security is in charge of Matt Wobensmith. We should contact his team to see if security testing is necessary for current feature.
|-
|colspan="3"| ''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   
| 3rd-party security review   
Line 306: Line 346:


|-
|-
| ''' Web Compatibility '''  
!colspan="3"| ''' Web Compatibility '''  
||  ||
|-
|-
| Testing against target sites   
| Testing against target sites   
Line 316: Line 355:


|-
|-
| ''' Interoperability  '''  
!colspan="3"| ''' Interoperability  '''  
||  ||
|-
|-
| Common protocol/data format with other software: specification available. Interop testing with other common clients or servers.   
| Common protocol/data format with other software: specification available. Interop testing with other common clients or servers.   
Line 328: Line 366:
|style="text-align:center;" | Yes ||  
|style="text-align:center;" | Yes ||  


|-
| ''' Telemetry  '''
||  ||
|-
| Verify pings are sent when clicking '''Save'''<br><tt>addon/save-shot/overlay-save-button</tt>
|style="text-align:center;" | Yes  ||
|-
| Verify pings are sent when clicking '''Cancel'''<br><tt>addon/cancel-shot/overlay-cancel-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''Download''';<br><tt>addon/download-shot/overlay-download-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''My Shots''';<br><tt>addon/goto-shots/selection-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''Save Visible''';<br><tt>addon/capture-visible/selection-button</tt>
|style="text-align:center;" | Yes ||
|-
| Verify pings are sent when clicking '''Save Full Page''';<br><tt>addon/capture-full-page/selection-button</tt>
|style="text-align:center;" | Yes ||
|}
|}


== Test suite ==
== Test suite ==
* Full Test suite - [https://testrail.stage.mozaws.net/index.php?/suites/view/233 Page Shot Full Functional (TestRail)]
* Full Test suite - [https://testrail.stage.mozaws.net/index.php?/suites/view/233 Screenshots Full Functional (TestRail)]
* Smoke Test suite - TBD
* Smoke Test suite - TBD if available/needed
* Regression Test suite - TBD if available/needed
* Regression Test suite - TBD if available/needed


= Bug Work =
= Bug Work =
* Tracking bug – N/A
* Tracking bug – [https://github.com/mozilla-services/screenshots/issues GitHub issues page]
* Found issues list - [https://goo.gl/fr4B8U SV QA Engineering found bugs]
* Found issues list - [https://goo.gl/fr4B8U SV QA Engineering found bugs]


Line 363: Line 380:
== Criteria ==
== Criteria ==
Check list
Check list
* Should meet the [https://github.com/mozilla-services/screenshots/blob/master/docs/acceptance.md UX and Measurements Acceptance Criteria]
* All test cases should be executed
* All test cases should be executed
* Has sufficient automated test coverage (as measured by code coverage tools) - coordinate with RelMan
* <s>Has sufficient automated test coverage (as measured by code coverage tools) - coordinate with RelMan</s>
* All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed (as determined by engineering/RelMan/QA)
* All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed (as determined by engineering/RelMan/QA)


== Results ==
== Results ==
'''Nightly testing'''<br />
'''Nightly testing'''<br />
List of OSes that will be covered by testing<br />
List of OSes that will be covered by testing<br />
*Link for the tests run
*Link for the tests run
** Daily Smoke - TBA
** Full Test suite - [https://testrail.stage.mozaws.net/index.php?/plans/view/3762 Full Functional run from 04/18/2017]
** Full Test suite - TBA
** Regression Test suite, if needed/available


'''Merge to Aurora Sign-off'''
'''Merge to Beta Sign-off'''
List of OSes that will be covered by testing<br />
List of OSes that will be covered by testing <br />
*Link for the tests run - N/A  
*Link for the tests run - N/A  
** Full Test suite - N/A
** Full Test suite - N/A
'''Beta Testing'''<br />
List of OSes covered by testing: Mac OS X 10.11.6, Ubuntu 16.04 x64, Windows 10 x64, Windows 7 x64 <br />
*Pre-Release Sign off
**Link for the tests run - [https://testrail.stage.mozaws.net/index.php?/plans/view/5246 Testrail]
***Full Test suite - [https://testrail.stage.mozaws.net/index.php?/suites/view/943&group_by=cases:section_id&group_order=asc Testrail]


== Checklist ==
== Checklist ==
Line 400: Line 421:
|-
|-
|  Full Functional Tests Execution  
|  Full Functional Tests Execution  
|style="text-align:center;" |  {{mprog}}
|style="text-align:center;" |  {{mdone}}
|style="text-align:center;" |   
|style="text-align:center;" |   
|-
|-
Line 416: Line 437:
|-
|-
|  Critical/Blockers Fixed and Verified
|  Critical/Blockers Fixed and Verified
|style="text-align:center;" |
|style="text-align:center;" | {{mprog}}
|style="text-align:center;" |   
|style="text-align:center;" |   
|-
|-
|  Daily Status Report (email/etherpad statuses/ gdoc with results)
|  Daily Status Report (email/etherpad statuses/ gdoc with results)
|style="text-align:center;" | -  
|style="text-align:center;" | [https://public.etherpad-mozilla.org/p/screenshots-coordination Status etherpad]
|style="text-align:center;" |   
|style="text-align:center;" |   
|-
|-
Line 426: Line 447:
|style="text-align:center;" |  
|style="text-align:center;" |  
|-
|-
QA Signoff  - Nightly Release||  
Load testing
|style="text-align:center;" | Email to be sent
|style="text-align:center;" | {{mprog}}
|style="text-align:center;" |
|-
|-
|  QA Aurora - Full Testing  
|  QA Beta - Full Testing
|style="text-align:center;" | ||  
|style="text-align:center;" | {{mdone}} ||  
|-
|-
|  QA Signoff  - Aurora Release ||  
|  QA Signoff  - Beta Release  
|style="text-align:center;"| Email to be sent  
|style="text-align:center;" | {{mdone|}}
|style="text-align:center;"| (YELLOW) [https://testrail.stage.mozaws.net/index.php?/reports/view/446 Pre-Release Report] sent on 07/21/2017
|-
|-
|  QA Beta - Full Testing
|style="text-align:center;" |  ||
|-
|  QA Signoff  - Beta Release ||
|style="text-align:center;" | Email to be sent
|}

Latest revision as of 07:42, 2 October 2017

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 Vlad Bacia Created first draft
02/28/2017 1.1 Cosmin Muntean General Updates
03/06/2017 1.2 Peter deHaan Added new FF 54 Plans
04/25/2017 1.3 Cosmin Muntean & Paul Oiegas Updates for Screenshots system add-on

Overview

Purpose

Firefox Screenshots (Project Name: Page Shot) is an in-browser screenshoting application that lets you save and share permanent copies of anything on the web. It was originally deployed through Test Pilot as an experiment.

Scope

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

Engineering:

QA:

Management:

Communication channels:
IRC - #screenshots
Contact email - screenshots-staff@mozilla.com (goes to Screenshots staff)

Testing summary

Currently there are no automated tests for Screenshots, apart from a load_test_script and Selenium smoke test, although standard8 is going to set up a MochiTest for Screenshots (See #2320).

Scope of Testing

In Scope

Screenshots lets you save anything on the web, including pages that requires a login or content that changes or is personalized. Once you've created a shot, anyone you give the link to can view it; never worry about logins or disappearing content. Screenshots is built and hosted by Mozilla, so you know it's safe to use.

The scope of our testing is the Screenshots-desktop system add-on and its functionality. The testing effort for Screenshots will be invested on the following areas:

  • integration: verify the system add-on integration with the current browser functionalities and UI;
  • functionality: basic and advanced functionality to be verified according to the existing requirements;
  • usability: Screenshots features must be easy to use and straightforward;
  • load testing: Verify that the server can handle expected load; pageshot-loadtests

Out of Scope

The mobile implementation and 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 14.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. 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 Screenshots Firefox button Verify that the Screenshots button is displayed in the Firefox browser toolbar. Screenshots scissor button is displayed and active in the toolbar. Manual Eng Team
2 Screenshots Onboarding tour Verify that when the Screenshots button is clicked, the Onboarding tour is displayed. Tour is displayed and describes the Screenshots functionality. Manual Eng Team
3 Screenshots functionality Verify all Screenshots functionalities are working. 1. Save anything on the web.
2. Share content.
Manual Eng Team
3 Disable / Re-enable Screenshots system add-on Verify that the system add-on can be disabled and enabled without any issues. 1. Disable Screenshots system add-on from "about:preferences"page. Or from "about:config"page, using extensions.screenshots.system-disabled pref ("True" for disabled and "False" for enabled).
2. Verify that the browser UI returned to default functionality on the affected areas.
3. Re-enable Screenshots system add-on and verify that the browser has changed back.
Manual Eng Team

Builds

Firefox Screenshots system add-on can be found in the next builds:

Test Execution Schedule

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

Project phase Start Date End Date
Start project 8/02/2015 -
Study documentation/specs received from developers 07/19/2016 07/20/2016
QA - Test plan creation 07/21/2016 07/22/2016
QA - Test cases/Env preparation 09/01/2016 09/09/2016
QA - Beta Testing 04/25/2017
Load Testing 03/01/2017 03/30/2017
Release Date 06/13/2017

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

  • Nightly - starting with build from [2017-04-18]
  • Beta - starting with Beta 54.0b2 [2017-04-25]

Risk analysis

Risk areas Mitigation
External dependencies - We should do an end-to-end test of how we will integrate with the browser and the server.
- We should determine what our exact requirements are for sample size.
- Look into Telemetry as a contingency plan.
Screenshots system add-on compatibility and usability with content specific websites - Pictures and Videos from embedded sources.
- Private websites and private content.
Scope - All locales
- Accessibility requirements == https://github.com/mozilla-services/screenshots/issues/2251
Tests - Lack of comprehensive server unit tests (https://github.com/mozilla-services/screenshots/issues/427)
Open issues - Number of open issues not declining (https://github.com/mozilla-services/screenshots/issues), although there aren't currently any beta/release blockers identified.

References

List and links for specs:

Meta bug:

  • [meta Shipping Firefox Screenshots]

Testcases

Overview

Summary of testing scenarios

Test Areas

Test Areas Covered Details
General
Private Window Yes
Multi-Process Enabled Yes
Multi-process Disabled Yes
Theme (high contrast) Yes
Enforce PNG check when posting images Yes See #2301
L20n
Verify Screenshots is available in core set of supported locales Yes See: #2295, #2294, and #2286
UI
Mouse-only operation Yes
Keyboard-only operation No See #2251
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
Install/Upgrade/Uninstall
Feature upgrades/downgrades data as expected Yes
Does sync work across upgrades No
Requires install testing No
Verify user data is migrated from Test Pilot experiment Yes See #2260
Affects first-run or onboarding No
Does this affect partner builds? Partner build testing No We won't have partner builds available for testing in the Nightly or Aurora channels
Verify that Screenshots can be "disabled" Yes It should be able to be enabled and disabled by a toggle in about:preferences or by pref in about:config
Data Monitoring
Temporary or permanent telemetry monitoring - Not covered by the Engineering QA team
Telemetry correctness testing - Not covered by the Engineering QA team
Verify pings are sent when clicking Save
addon/save-shot/overlay-save-button
Yes
Verify pings are sent when clicking Cancel
addon/cancel-shot/overlay-cancel-button
Yes
Verify pings are sent when clicking Download;
addon/download-shot/overlay-download-button
Yes
Verify pings are sent when clicking My Shots;
addon/goto-shots/selection-button
Yes
Verify pings are sent when clicking Save Visible;
addon/capture-visible/selection-button
Yes
Verify pings are sent when clicking Save Full Page;
addon/capture-full-page/selection-button
Yes
Record if Screenshots is enabled or not via Telemetry Yes See #2304
Server integration testing - Not covered by the Engineering QA team
Offline and server failure testing - Not covered by the Engineering QA team
Load testing Yes See screenshots-loadtests page
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 add-ons 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 - Not covered by the Engineering QA team
Privilege escalation testing - Not covered by the Engineering QA team
Fuzzing - Not covered by the Engineering QA team
Web Compatibility
Testing against target sites Yes
Survey of many sites for compatibility No
Interoperability
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 No
Interaction of this feature with other browser features Yes

Test suite

Bug Work

Sign off

Criteria

Check list

  • Should meet the UX and Measurements Acceptance Criteria
  • 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
List of OSes that will be covered by testing

Merge to Beta Sign-off List of OSes that will be covered by testing

  • Link for the tests run - N/A
    • Full Test suite - N/A

Beta Testing
List of OSes covered by testing: Mac OS X 10.11.6, Ubuntu 16.04 x64, Windows 10 x64, Windows 7 x64

  • Pre-Release Sign off

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 [DONE]
Automation Coverage - Not on QA manual end.
Performance Testing - Not on QA manual end.
All Defects Logged [IN PROGRESS]
Critical/Blockers Fixed and Verified [IN PROGRESS]
Daily Status Report (email/etherpad statuses/ gdoc with results) Status etherpad
Metrics/Telemetry
Load testing [IN PROGRESS]
QA Beta - Full Testing [DONE]
QA Signoff - Beta Release [DONE] (YELLOW) Pre-Release Report sent on 07/21/2017