QA/AsyncScroll
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 |
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 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
- Rares Bologa (irc: RaresB) - PM for QA team
- Brindusa Tot (irc: brindusat) - leading QA efforts
- Ovidiu Boca (irc: Ovidiu) - QA
- Roxana Leitan (irc: RoxanaLeitan) - QA
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.
- Autoscroll
- High contrast
- 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 )
39 Total; 1 Open (2.56%); 27 Resolved (69.23%); 11 Verified (28.21%);
Bug fix verification
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] |