QA/AsyncScroll

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
02/27/2017 1.0 Ovidiu Boca Initial Draft

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 Async Scroll 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

• Developers:


• QA Engineering Team - Nightly Testing

Testing summary

Scope of Testing

In Scope

The Async Scrollbar drag feature is designed to have a smoother scrolling and the user experience with the browser to be more fluently. We will focus our testing efforts on long web pages, pages with plugins, google docs, popular web pages. We will use different devices like trackpad/touchpad, touching screen device, we will do a parallel testing between retina vs non-retina display.

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.

  1. Autoscroll
  2. High contrast
  3. Scroll using keyboard

Requirements for testing

Environments

Full testing will be performed on the following OSes:

  • Windows 8.1 touchscreen
  • Windows 10
  • Mac OS X 10.12 touchpad and retina display
  • Ubuntu 14.04 trackpad
  • Mac OS X 10.10


Other configuration/environmental setup needed:

  • On by default in Firefox Nightly "apz.drag.enabled" pref can be used to turn it on and off. This can be checked in about:support shows status under "Asynchronous Pan/Zoom".

Test Strategy

Risk Assessment and Coverage

ID Description / Threat Description Covered by Test Objective Magnitude Probability Priority Impact Score
RAC-1 Different OSs have different behaviours with scrollbar. TO-1 2-Moderate 3-Almost Certain 3-High 18
RAC-2 Web pages like Google sheets or pages with SVG may be affected TO-3 and TO-2 3-High 2-Possible 3-High 18
RAC-3 A different browser zoom than 100% may reveal some issues TO-9 3-High 2-Possible 3-High 18
RAC-4 Scrolling up and down really fast by dragging the scrollbar TO-4 3-High 2-Possible 3-High 18
RAC-5 Pages with plugins may cause scrolling issues TO-5 3-High 2-Possible 3-High 18
RAC-6 Possible regressions TO-6 3-High 2-Possible 3-High 18
RAC-7 Touch or dragging the scrollbar on touching screen TO-7 3-High 2-Possible 2-Medium 12
RAC-8 Retina vs non-retina display TO-8 3-High 2-Possible 3-High 18

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 Test Type RAC Owners
TO-1 Different OSs have different behaviors with scrollbars. To verify that on every OS the behavior is the expected one. Manual RAC-1 Eng Team
TO-2 Scrolling in Google Sheets. Based on the fact that Google Sheets are convoluted pages some issue related to scrolling may appear. Manual RAC-2 Eng Team
TO-3 Pages that contains Scalable Vector Graphics (SVG). Scrolling is not affected on pages that contain SVG. Manual RAC-2 Eng Team
TO-4 Scrolling, really fast, up and down long web pages. By dragging the scrollbar might expose compounding errors. Manual RAC-4 Eng Team
TO-5 Scrolling pages with plugins. Pages with plugins are not affected by APZ. Manual RAC-5 Eng Team
TO-6 Performance is acceptable in the case of scrolling different web pages. The scrolling needs to be smooth and CPU is not affected. Manual RAC-6 Eng Team
TO-7 Dragging the scroll bar on the touchscreen. There is no difference between using the mouse or dragging the scroll bar on the touchscreen. Manual RAC-7 Eng Team
TO-8 High-Resolution display, retina vs non-retina. In both cases, the Async Scrollbar feature is not affected. Manual RAC-8 Eng Team
TO-9 Use different browser zoom levels. The scrollbar is not affected by the browser zoom level . Manual RAC-3 Eng Team

Builds

This section should contain links for builds with the feature:

  • Links for Nightly builds - link
  • Links for Beta builds -

Test Execution Schedule

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

Project phase Start Date End Date
Start project 02.15.2017
Study documentation/specs received from developers 02.15.2017 02.17.2017
QA - Test plan creation 02.27.2017 03.02.2017
QA - Test cases/Env preparation 03.02.2017 03.07.2017
QA - Nightly Testing 03.06.2016 06.06.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

For the time being (02.27.2017) AsyncScroll feature will be kept enabled only on Nightly.

Overview

First landed on Nightly - 52.0a2 (2016-11-12)
   - the feature is enabled only on Nightly and disabled on other channels
Track the dates and build number where feature was merged to Release/Beta

References

  • List and links for specs


  • bug 1211610 - [Meta] (async-scrollbar-drag) Enable async scrolling via scrollbar dragging

Testcases

Full testsuites can be found on TestRail at link or in the PDF doc

Test Areas

Test Areas Covered Details
Private Window No
Multi-Process Enabled Yes
Multi-process Disabled No
Theme (high contrast) No
UI
Mouse-only operation Yes
Keyboard-only operation No
Display (HiDPI) Yes
Interaction (scroll, zoom) Yes
Usable with a screen reader No
Usability and/or discoverability testing Yes Is this feature user friendly
RTL build testing Yes
Help/Support
Help/support interface required No
Support documents planned(written) No
Install/Upgrade
Feature upgrades/downgrades data as expected No
Does sync work across upgrades No
Requires install testing No
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 No
Network proxies/autoconfig No
ESR behavior changes No
Locked preferences No
Data Monitoring
Temporary or permanent telemetry monitoring No
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 No
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 No
Privilege escalation testing No
Fuzzing No
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
Smoke Test suite - Link with the gdoc, follow the format from link
Regression Test suite - Link with the gdoc - if available/needed.

Bug Work

Meta bug: 1211610 - (async-scrollbar-drag) [Meta (async-scrollbar-drag) Enable async scrolling via scrollbar dragging]

Logged bugs ( blocking 1211610 )
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1199885 -- Panning and Zooming Benoit Girard (:BenWa) Let nsSliderFrame trigger an async APZ scroll RESOLVED mozilla44
1211612 -- Panning and Zooming Benoit Girard (:BenWa) Add DragInputBlock RESOLVED mozilla45
1219929 -- Panning and Zooming Benoit Girard (:BenWa) Assertion failure: mInputType == SCROLLWHEEL_INPUT (Invalid cast of InputData.) RESOLVED mozilla45
1220853 -- Toolbar Benoit Girard (:BenWa) [APZ Drag] Can't switch active wheel scroll frame without changing focus RESOLVED Firefox 45
1221593 -- Panning and Zooming Benoit Girard (:BenWa) [APZ Drag] Scroll position in opposite axis reset to zero when scrolling RESOLVED mozilla45
1225178 -- Panning and Zooming Benoit Girard (:BenWa) Async scrollbars break list box & combo box scrolling RESOLVED mozilla45
1249162 -- Panning and Zooming Kevin Wern [apz scrollbar] Clicking on scrollbar slider moves it to wrong position VERIFIED mozilla53
1249710 -- Panning and Zooming Kevin Wern async drag: Can't drag all the way vertically VERIFIED mozilla52
1249749 -- Panning and Zooming Can't drag vertical scrollbar past a certain point with APZ drag enabled RESOLVED ---
1249750 -- Panning and Zooming Content area occasionally goes blank when dragging scrollbar with APZ drag enabled RESOLVED ---
1250649 -- Panning and Zooming async drag: Dragging while the scrollbar's max value changes permanently breaks scrolling RESOLVED ---
1251617 P3 Panning and Zooming Scrolling using scrollbar thumb on long pages results in heavy checkerboarding NEW ---
1253357 -- Panning and Zooming Wheel scrolling interrupts scrollbar drag scrolling RESOLVED ---
1264802 -- Panning and Zooming scrollbar drag handle moves on mousedown when APZ drag is enabled RESOLVED ---
1324117 P3 Panning and Zooming Kevin Wern Enable APZ scrollbar dragging on Nightly RESOLVED mozilla53
1326290 P3 Panning and Zooming Botond Ballo [:botond] scroll bars not moving or not allowing scrolling on Google Sheets VERIFIED mozilla53
1328658 P3 Panning and Zooming Botond Ballo [:botond] Google Spreadsheets scrollbar dragging no longer works VERIFIED mozilla54
1331693 P3 Panning and Zooming Botond Ballo [:botond] APZ scrollbar dragging breaks devtools property list scrolling VERIFIED mozilla53
1339831 P3 Panning and Zooming Kartikaya Gupta (email:kats@mozilla.staktrace.com) Disable scrollbar dragging pref on Android RESOLVED mozilla54
1348321 P3 Panning and Zooming Kartikaya Gupta (email:kats@mozilla.staktrace.com) Write more automated tests for async scrollbar dragging RESOLVED mozilla62
1349236 -- Panning and Zooming Fast scrolling up and down by dragging the scrollbar doesn't work properly RESOLVED ---
1349750 -- Panning and Zooming Botond Ballo [:botond] APZ: Avoid blocking on the main thread to initiate APZ scrollbar dragging RESOLVED mozilla55
1350902 P3 Panning and Zooming A black horizontal line appears on the scrollbar when the slider is dragged RESOLVED ---
1352863 P2 Panning and Zooming Botond Ballo [:botond] Support slider.snapMultiplier with async scrollbar dragging RESOLVED mozilla55
1355374 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar doesn't follow mouse cursor if scrollable area is partially off-screen VERIFIED mozilla55
1355375 P3 Panning and Zooming Scrollbar moves in opposite direction by 1px sometimes RESOLVED ---
1355376 P3 Panning and Zooming Botond Ballo [:botond] Scrolling in <listbox> elements leaves white area that doesn't respond to scrolling VERIFIED mozilla55
1355651 P3 Panning and Zooming Shift+Click dragging of scrollbar leaves black horizontal lines RESOLVED ---
1357904 P3 Panning and Zooming [e10s] dragging scrollbar with mouse scroll the page instead of the scrollable div RESOLVED ---
1359868 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar is not painted fully after mouse leaves and reenters Firefox window RESOLVED mozilla55
1363219 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar thumb can still be cut off after being offscreen RESOLVED mozilla55
1367488 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar thumb inside iframe can still be cut off after being offscreen VERIFIED mozilla55
1367765 P3 Panning and Zooming Botond Ballo [:botond] APZ: Support async scrollbar touch dragging VERIFIED mozilla57
1371299 P2 Panning and Zooming Botond Ballo [:botond] Scrollbar thumb inside iframe flickers after being offscreen VERIFIED mozilla55
1378247 P2 Panning and Zooming Kartikaya Gupta (email:kats@mozilla.staktrace.com) [RTL] Scrollbar moves in opposite direction with horizontal scrolling VERIFIED mozilla56
1378455 P3 Layout Matt Woodrow (:mattwoodrow) Regression in behaviour of async-scrolling offscreen scrollbar thumb inside iframe RESOLVED mozilla56
1382629 P3 Panning and Zooming The scrollbar cannot be moved to the top/bottom RESOLVED ---
1413093 P3 Panning and Zooming Scrollbar thumb inside iframe disappears when click it RESOLVED ---
1438514 P3 Site Reports [Youtube] Visual glitches are triggered by the scrolling attempt, when the "Share" window is opened RESOLVED ---

39 Total; 1 Open (2.56%); 27 Resolved (69.23%); 11 Verified (28.21%);


Bug fix verification
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
1199885 -- Panning and Zooming Benoit Girard (:BenWa) Let nsSliderFrame trigger an async APZ scroll RESOLVED FIXED mozilla44
1211612 -- Panning and Zooming Benoit Girard (:BenWa) Add DragInputBlock RESOLVED FIXED mozilla45
1219929 -- Panning and Zooming Benoit Girard (:BenWa) Assertion failure: mInputType == SCROLLWHEEL_INPUT (Invalid cast of InputData.) RESOLVED FIXED mozilla45
1220853 -- Toolbar Benoit Girard (:BenWa) [APZ Drag] Can't switch active wheel scroll frame without changing focus RESOLVED FIXED Firefox 45
1221593 -- Panning and Zooming Benoit Girard (:BenWa) [APZ Drag] Scroll position in opposite axis reset to zero when scrolling RESOLVED FIXED mozilla45
1225178 -- Panning and Zooming Benoit Girard (:BenWa) Async scrollbars break list box & combo box scrolling RESOLVED FIXED mozilla45
1249162 -- Panning and Zooming Kevin Wern [apz scrollbar] Clicking on scrollbar slider moves it to wrong position VERIFIED FIXED mozilla53
1249710 -- Panning and Zooming Kevin Wern async drag: Can't drag all the way vertically VERIFIED FIXED mozilla52
1324117 P3 Panning and Zooming Kevin Wern Enable APZ scrollbar dragging on Nightly RESOLVED FIXED mozilla53
1326290 P3 Panning and Zooming Botond Ballo [:botond] scroll bars not moving or not allowing scrolling on Google Sheets VERIFIED FIXED mozilla53
1328658 P3 Panning and Zooming Botond Ballo [:botond] Google Spreadsheets scrollbar dragging no longer works VERIFIED FIXED mozilla54
1331693 P3 Panning and Zooming Botond Ballo [:botond] APZ scrollbar dragging breaks devtools property list scrolling VERIFIED FIXED mozilla53
1339831 P3 Panning and Zooming Kartikaya Gupta (email:kats@mozilla.staktrace.com) Disable scrollbar dragging pref on Android RESOLVED FIXED mozilla54
1348321 P3 Panning and Zooming Kartikaya Gupta (email:kats@mozilla.staktrace.com) Write more automated tests for async scrollbar dragging RESOLVED FIXED mozilla62
1349750 -- Panning and Zooming Botond Ballo [:botond] APZ: Avoid blocking on the main thread to initiate APZ scrollbar dragging RESOLVED FIXED mozilla55
1352863 P2 Panning and Zooming Botond Ballo [:botond] Support slider.snapMultiplier with async scrollbar dragging RESOLVED FIXED mozilla55
1355374 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar doesn't follow mouse cursor if scrollable area is partially off-screen VERIFIED FIXED mozilla55
1355376 P3 Panning and Zooming Botond Ballo [:botond] Scrolling in <listbox> elements leaves white area that doesn't respond to scrolling VERIFIED FIXED mozilla55
1359868 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar is not painted fully after mouse leaves and reenters Firefox window RESOLVED FIXED mozilla55
1363219 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar thumb can still be cut off after being offscreen RESOLVED FIXED mozilla55
1367488 P3 Panning and Zooming Botond Ballo [:botond] Scrollbar thumb inside iframe can still be cut off after being offscreen VERIFIED FIXED mozilla55
1367765 P3 Panning and Zooming Botond Ballo [:botond] APZ: Support async scrollbar touch dragging VERIFIED FIXED mozilla57
1371299 P2 Panning and Zooming Botond Ballo [:botond] Scrollbar thumb inside iframe flickers after being offscreen VERIFIED FIXED mozilla55
1378247 P2 Panning and Zooming Kartikaya Gupta (email:kats@mozilla.staktrace.com) [RTL] Scrollbar moves in opposite direction with horizontal scrolling VERIFIED FIXED mozilla56
1378455 P3 Layout Matt Woodrow (:mattwoodrow) Regression in behaviour of async-scrolling offscreen scrollbar thumb inside iframe RESOLVED FIXED mozilla56
1438514 P3 Site Reports [Youtube] Visual glitches are triggered by the scrolling attempt, when the "Share" window is opened RESOLVED FIXED ---

26 Total; 0 Open (0%); 15 Resolved (57.69%); 11 Verified (42.31%);

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

List of OSes that will be covered by testing

  • Link for the tests run -link

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

  • Link for the tests run link
    • Full Test Suite

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

  • Link for the tests run -link
    • Full Test Suite

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 Bug 1348321 was filed to track automated tests
Performance Testing N/A
All Defects Logged [DONE]
Critical/Blockers Fixed and Verified
Metrics/Telemetry [DONE]
QA Signoff - Nightly Release [DONE]
QA Beta - Full Testing [DONE]
QA Signoff - Beta Release [DONE]