QA/Photon Animations
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 |
|---|---|---|---|
| 06/21/2017 | 1.0 | Justin Williams | Created first draft |
Overview
Purpose
The goal of this feature is to make Firefox's UI animations more user friendly.
Scope
This wiki details the testing that will be performed by the project team for the Photon Animations 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
The following will be included into Firefox's new modern look:
- Tab reordering animation
- Download icon animation
- Refresh/Stop button animation
- Opening/Closing arrow panel animation
- Animations run on the compositor
- Bookmark animation
- Pocket animation
- Tab loading indicator
Ownership
Engineering lead Justin Dolske
Engineering Team Jared Wein Sam Foster
UX Team: Amy Lee Eric Pang
QA Justin Williams
Testing summary
Scope of Testing
In Scope
This feature will be tested manually on Windows, MacOSX, Linux operating systems.
Out of Scope
Mobile Devices will not be tested
Requirements for testing
Environments
Windows 7 Windows 10 Ubuntu 16.04 Mac 10.12
Channel dependent settings (configs) and environment setups
Nightly
Firefox Nightly 56.0a1
Beta
text
Post Beta / Release
text
Test Strategy
Risk Assessment and Coverage
| ID | Description / Threat Description | Covered by Test Objective | Magnitude | Probability | Priority | Impact Score |
|---|---|---|---|---|---|---|
| RAC-1 | Buttons may become unclickable due to animations being on top of them. | TO-1 | 2-Moderate | 2-Possible | 2-Medium | 6 |
| RAC-2 | Sizes of the items in the toolbar may become distorted | TO-1 | 2-Moderate | 2-Possible | 2-Medium | 6 |
| RAC-3 | Animations do not play correctly in RTL locale. | TO-1 | 2-Moderate | 2-Possible | 2-Medium | 6 |
| RAC-4 | Changing density (compact to touch) may effect the position of the animations. | TO-1 | 2-Moderate | 2-Possible | 2-Medium | 6 |
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 | Evaluation Criteria | Test Type | RAC | Owners |
|---|---|---|---|---|---|---|
| 1 | Name of the feature or sub-function being tested | The objective the test is trying to demonstrate | The criteria that will be evaluated to demonstrate the test is successful | Manual/ Automation/ Regression/ Performance/ Usability/ Security/ Telemetry | RAC-1, RAC-2, RAC-3 | Eng Team |
| 2 | Repeat for each feature/sub-function | |||||
| 3 |
Builds
This section should contain links for builds with the feature -
- Links for Nightly builds
- 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 | 03/30/1017 | |
| Study documentation/specs received from developers | 03/30/2017 | |
| QA - Test plan creation | 06/21/2017 | |
| QA - Test cases/Env preparation | ||
| 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 | Bugzilla |
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 Release/Beta
References
- List and links for specs
List and links for available specs - documents, user stories, specifications
- Meta bug
Testcases
Test Areas
| Test Areas | Covered | Details |
|---|---|---|
| Private Window | ||
| Multi-Process Enabled | ||
| Multi-process Disabled | ||
| Theme (high contrast) | ||
| UI | ||
| Mouse-only operation | ||
| Keyboard-only operation | ||
| Display (HiDPI) | ||
| Interaction (scroll, zoom) | ||
| Usable with a screen reader | e.g. with NVDA | |
| Usability and/or discoverability testing | Is this feature user friendly | |
| RTL build testing | ||
| 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 | ||
| Does sync work across upgrades | ||
| Requires install testing | separate feature/application installation needed (not only Firefox) | |
| Affects first-run or onboarding | Florin/Lawrence are investigating if there is a dedicated QA for this, or we should test? Should be an yes/no and if is yes should add in detail column the team/person assigned. | |
| Does this affect partner builds? Partner build testing | yes/no options, add comment with details about who will lead testing | |
| 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 | List of error conditions to monitor | |
| 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 | ||
| 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 | ||
| Survey of many sites for compatibility | ||
| 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 |
Test suite
Full Test suite - Link to test rail - testcases should be added under Firefox Desktop project link Smoke Test suite - Link with the tests - if available/needed. Regression Test suite - Link with the tests - if available/needed.
Bug Work
Meta bug: 1349423 - bug summary
Logged bugs ( blocking 1349423 )
38 Total; 7 Open (18.42%); 16 Resolved (42.11%); 15 Verified (39.47%);
Bug fix verification
| ID | Priority | Component | Assigned to | Summary | Status | Resolution | Target milestone |
|---|---|---|---|---|---|---|---|
| 1007283 | P3 | Widget: Gtk | Dão Gottwald [:dao] | Investigate why animated panels don't work on Linux and re-enable them | RESOLVED | FIXED | --- |
| 1352063 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | Implement new animation for bookmarking | VERIFIED | FIXED | Firefox 56 |
| 1352069 | P1 | Settings UI | Jim Porter (:squib) | Introduce a pref that allows for disabling animations (toolkit.cosmeticAnimations.enabled) | VERIFIED | FIXED | Firefox 55 |
| 1352075 | P1 | UI Widgets | Sam Foster [:sfoster] (he/him) | Implement new animation for opening/closing the arrow panels | VERIFIED | FIXED | mozilla57 |
| 1352119 | P1 | General | Jared Wein [:jaws] (please needinfo? me) | Implement new tab loading/progress indicator animation | VERIFIED | FIXED | Firefox 57 |
| 1355922 | P1 | General | Jared Wein [:jaws] (please needinfo? me) | Save to Pocket should have an associated animation | VERIFIED | FIXED | Firefox 56 |
| 1355924 | P1 | General | Jared Wein [:jaws] (please needinfo? me) | The Reload/Stop button should have an animation when changing between states | VERIFIED | FIXED | Firefox 56 |
| 1355927 | P1 | Themes | Jim Porter (:squib) | Notification bars should use the photon animation curve when appearing/disappearing | VERIFIED | FIXED | mozilla55 |
| 1358215 | P1 | Theme | (not currently active) Ted Mielczarek | Add flag to facilitate early landing of photon-animation work ahead of v57 | RESOLVED | FIXED | Firefox 55 |
| 1364221 | P1 | Graphics: Layers | Jared Wein [:jaws] (please needinfo? me) | Allow frames to be prerendered as long as the area of the frame is less than the limit | RESOLVED | FIXED | mozilla55 |
| 1369896 | P1 | Theme | [UX] Download button should only appear in the toolbar when there are current or recent downloads | RESOLVED | FIXED | --- | |
| 1375152 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | Pin to Overflow Menu should have associated animation | VERIFIED | FIXED | Firefox 56 |
| 1380150 | P1 | Tabbed Browser | Jared Wein [:jaws] (please needinfo? me) | Flickering between favicon and loading indicator after first load | VERIFIED | FIXED | Firefox 57 |
| 1380815 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | Fade overflow menu icon to grey after item is pinned | VERIFIED | FIXED | Firefox 56 |
| 1385913 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | Remove MOZ_PHOTON_ANIMATIONS ifdef once 56 merges to Beta | RESOLVED | FIXED | Firefox 57 |
| 1386406 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | Audit animation CSS to make sure that each animation-duration is set to 60fps based on step count | RESOLVED | FIXED | Firefox 57 |
| 1387077 | P1 | Jared Wein [:jaws] (please needinfo? me) | Save to Pocket animation broken after Pocket button moved to URL bar | VERIFIED | FIXED | Firefox 57 | |
| 1390283 | P1 | Jared Wein [:jaws] (please needinfo? me) | Pocket Icon - Colour looks wrong | RESOLVED | FIXED | Firefox 57 | |
| 1392157 | P1 | Tabbed Browser | Jared Wein [:jaws] (please needinfo? me) | Show a burst across the tab when a page has finished loading | VERIFIED | FIXED | Firefox 57 |
| 1392685 | P1 | Jared Wein [:jaws] (please needinfo? me) | Pocket'ing items from Activity Stream results in the Pocket icon appearing outside of the URL bar | VERIFIED | FIXED | Firefox 57 | |
| 1393057 | P1 | Toolbars and Customization | (Currently slow to respond) Philipp Sackl [:phlsa] (Firefox UX) please use needinfo | Remove transition from toolbar button hover state | RESOLVED | FIXED | Firefox 57 |
| 1393870 | P1 | UI Widgets | Erica Wright [:ewright] | Panels anchored to bottom have weird animation | VERIFIED | FIXED | mozilla57 |
| 1394680 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | The Reload/Stop animation is inconsistent in dark lightweight themes | VERIFIED | FIXED | Firefox 57 |
| 1408007 | P1 | Theme | Sam Foster [:sfoster] (he/him) | SVG indicators not changing colours properly for background tabs(other tabs) | RESOLVED | FIXED | Firefox 58 |
| 1415019 | P1 | Theme | Jared Wein [:jaws] (please needinfo? me) | Improve background tab loading indicator colors for better contrast and photon color palette compatibility | RESOLVED | FIXED | Firefox 59 |
25 Total; 0 Open (0%); 10 Resolved (40%); 15 Verified (60%);
Sign off
Criteria
Checklist
- 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
- Full Test suite, link to TestRail - Tests Runs and Results link
- Daily Smoke, if needed/available
- Regression Test suite, if needed/available
Merge to Beta Sign-off
List of OSes that will be covered by testing
- Link for the tests run
- 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 | ||
| Automation Coverage | ||
| Performance Testing | ||
| All Defects Logged | ||
| Critical/Blockers Fixed and Verified | ||
| Metrics/Telemetry | ||
| Basic/Core functionality Nightly testing | ||
| QA mid-Nightly Signoff | Email to be sent | |
| QA Nightly - Full Testing | ||
| QA pre-Beta Signoff | Email to be sent | |
| QA Beta - Full Testing | ||
| QA pre-Release Signoff | Email to be sent |