QA/Photon Structure: Difference between revisions

no edit summary
No edit summary
Line 1: Line 1:
= Overview =
'''Approvals Required / Received'''
== Purpose ==
Quality assurance plan to ensure accessibility features with e10s enabled using Windows and Linux operating system are ready for public release.


Note: Despite this wiki page title, this test plan is for accessibility + e10s in general, not just touchscreen support.
The following individuals are required to/have approved this Test Plan:


== Quality Criteria ==
{| class="wikitable"
 
{| class="wikitable" style="width:95%"
|-
|-
! Risk area !! Requirement !! Status
! Name !! Title !! Department !! Approval Date !! Method
|-
|-
| Screen readers || There should be no significant difference in using screen readers than on non-e10s|| style="background-color:#CEF2F2;" | [https://wiki.mozilla.org/QA/e10s_A11y_Windows_touchscreen#Screen_Readers In-Progress]
| || QA Manager || Product Integrity || Date || Email
|-
|-
| Touch screens || Touch enabled devices, including soft keyboards, should function as well as in non-e10s (confirm a11y isn't activated for touch screen users)|| style="background-color:#CEF2F2;" | [https://wiki.mozilla.org/QA/e10s_A11y_Windows_touchscreen#Touch_Screens In-Progress]
| || Software Engineer || Engineering || Date || Email
|-
|-
| IME clients || Common IME clients should function as well as in non-e10s|| style="background-color:#CEF2F2;" | [https://wiki.mozilla.org/QA/e10s_A11y_Windows_touchscreen#IME_Clients TBD]
| || EPM || Product Management || Date || Email
|}
 
 
'''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.
 
{| class="wikitable" style="width:60%"
|-
! Date !! Version !! Author !! Description
|-
| 11/23/2015 || 1.0 || Brindusa Tot || Created first draft
|-
|-
| Remote Desktop clients || Browser stability issues while access the browser through RDP || style="background-color:#CEF2F2;" | In-Progress
| 10/05/2016|| 1.1 || Adrian Florinescu ||  Added point : 3.2 Channel dependent settings (configs) and environment setup
|-
|-
| Popular sites (ie, gmail, twitter, facebook, and the other Google apps || No significant regression in site correctness, stability or performance with e10s and a11y compared to a11y on non-e10s|| style="background-color:#CEF2F2;" | [https://wiki.mozilla.org/QA/e10s_A11y_Windows_touchscreen#Popular_Sites In-Progress]
| 02/28/2017|| 1.2 || Brindusa Tot || Move Risk Assessment and Coverage upper in the test plan, under the Test Strategy chapter
|-
|-
| ARIA markup || There should be no significant difference in a11y exposed interfaces for e10s vs non-e10s|| style="background-color:#CEF2F2;" | [https://wiki.mozilla.org/QA/e10s_A11y_Windows_touchscreen#ARIA_Markup In-Progress]
| 05/09/2017|| 1.3 || Brindusa Tot ||  Update content based on new train model (without Aurora)
|-
|-
| General performance || Overall performance of Firefox with a11y on e10s should not be notably worse than with a11y on non-e10s|| style="background-color:#CEF2F2;" | [https://wiki.mozilla.org/QA/e10s_A11y_Windows_touchscreen#General_Performance In-Progress]
| 06/08/2017|| 1.4 || Rares Bologa ||  Added 'Approvals' area
|}
|}


= Testing summary =
= 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 <project name> 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 ==
What resources are needed, and when (developers, QA, PMs working on the feature)
= Testing summary =  
== Scope of Testing ==
== Scope of Testing ==
=== In Scope ===
=== In Scope ===
The scope of our testing is the A11y+e10s accessibility and functionality and performance of the most popular sites and most commonly used 3rd party tools.
Detail what is in scope from a testing perspective for the project team.
 
* Integration: Verify the integration with the current browser functionalities and UI;
* Functionality: Basic and advanced functionality to be verified according to the existing requirements;
* Usability: Intuitive and how users interact with the feature;
* Performance:  Reference, where applicable, observed and collected performance data.


=== Out of Scope ===
=== Out of Scope ===
We will not be testing with less popular 3rd party tools or on obscure web sites.
Detail what is out of scope from a testing perspective for the project team. Note: if usability testing is not in the scope of testing feature.


= Requirements for testing =
= Requirements for testing =
== Environments ==
== Environments ==
Testing will be performed on following OSes:
Specify OSes that need to be covered
Specify Devices that need to be covered
Specify other configuration/environmental setup needed


* Windows 10 (x64)
* Linux - Ubuntu 16.04 (x64)


= Quality Assurance Strategy =
== Channel dependent settings (configs) and environment setups ==
== Test Items ==
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
=== Screen Readers ===
 
{| class="wikitable" style="width:85%"
=== Nightly ===
|-
<div class="mw-collapsible-content">
! Client !! Free/Licensed !! Demo Available? !! Demo Expiration || Purchased Copy? || Owner/Location
text
</div>
 
=== Beta ===
<div class="mw-collapsible-content">
text
</div>
 
=== Post Beta / Release ===
<div class="mw-collapsible-content">
text
</div>
</div>
 
= Test Strategy =
== Risk Assessment and Coverage ==
 
{| class="wikitable"
|-
|-
| NVDA (Win) (top priority) || free || TBD
! ID !! Description / Threat Description !! Covered by Test Objective !!  Magnitude !! Probability !! Priority !! Impact Score
|-
|-
| Window-Eyes (Win) || licensed || [http://www.gwmicro.com/Window-Eyes/Demo/ link][1] || 60 days || TBD || TBD
| RAC-1 || Risk description 1 || TO-1 || 2-Moderate || 1-Unlikely || 3-High || 6
|-
|-
| JAWS (Win) || licensed || - || TBD || Yes (Windows) || Softvision USA/Las Vegas
| RAC-2 || Risk description 2 || TO-1 || 3-High || 3-Almost Certain || 3-High || 27
|-
|-
| Dolphin (Win) || licensed || TBD || TBD || TBD || TBD
| RAC-3 || Risk description 3 || TO-2 || 2-Moderate || 2-Possible || 3-High || 12
|}
|}
[1] requires filling in a contact information form


{| class="wikitable" style="width:95%"
'''Values:'''
|-
 
! Criteria Description
* '''Magnitude:''' 1- Low , ''2-Moderate'', '''3-High'''
! Metric
! non-e10s value
! e10s value
! Criteria Met?
! QA Owner
|-
| Manual testing
| Test cases passed
| # (passed -TBD) out of # (total test cases run -TBD)
| # (passed -TBD) out of # (total test cases run -TBD)
| style="background-color:#CEF2F2;" | TBD (Date status updated)
| style="background-color:#CEF2F2;" | SoftVision
|}


=== Touch Screens ===
* '''Probability:''' 1-Unlikely, ''2-Possible'', '''3-Almost Certain'''
Because a11y should no longer be triggered by touch screen devices, only the first metric below should block release of a11y+e10s.


{| class="wikitable" style="width:95%"
* '''Priority:''' 1 - Low, ''2-Medium'', '''3-High'''
|-
! Criteria Description
! Metric
! non-e10s value
! e10s value
! Criteria Met?
! QA Owner
|-
| Manual testing
| A11y enabled? (should be false)
| true or false
| true or false
| style="background-color:#CEF2F2;" | TBD (Date status updated)
| style="background-color:#CEF2F2;" | SoftVision 
|-
| Manual testing
| [https://testrail.stage.mozaws.net/index.php?/suites/view/376&group_by=cases:section_id&group_order=asc TestRail Test cases passed] or [https://docs.google.com/spreadsheets/d/1jYMwJN0vm3S0ArCD8B9gLajHYBVuuX3PIjdyJUOhftY/edit#gid=0 Google Docs]
| # (passed -TBD) out of 26 test cases run
| # (passed -TBD) out of 26 test cases run
| style="background-color:#CEF2F2;" | TBD (Date status updated)
| style="background-color:#CEF2F2;" | SoftVision 
|}


=== IME Clients ===
'''Impact Score Breakdown:'''
These are very difficult to test if one is not familiar with the language under test. Until we have a better longer term test ownership solution, we'll have to rely on community feedback and bug reports.
* 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.


{| class="wikitable" style="width:85%"
== 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.
! Language !! Primary IME !! 3rd party
This could be documented in bullet form or in a table similar to the one below.
|-
| Japanese || Win: MS-IME, macOS: Apple Japanese IME || Google Japanese Input, ATOK (not free)
|-
| Simplified Chinese || Pinyin || ABC
|-
| Traditional Chinese || Changjie
|-
| Korean || Win: MS-IME, macOS: Apple Korean IME
|}


{| class="wikitable" style="width:95%"
{| class="wikitable"
|-
|-
! Criteria Description
! Ref !! Function !! Test Objective !! Evaluation Criteria !! Test Type !! RAC !! Owners
! Metric
! non-e10s value
! e10s value
! Criteria Met?
! QA Owner
|-
|-
| Manual testing
| 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
| Community input and bug reports
| # of bug reports
| # of bug reports
| style="background-color:#CEF2F2;" | TBD (Date status updated)
| style="background-color:#CEF2F2;" | Community
|}
 
=== Popular Sites ===
{| class="wikitable" style="width:95%"
|-
|-
! Criteria Description
| 2 || Repeat for each feature/sub-function || || || || ||
! Metric
! non-e10s value
! e10s value
! Criteria Met?
! QA Owner
|-
|-
| Manual testing
| 3 || || || || || ||
| Test cases passed
| # (passed -TBD) out of # (total test cases run -TBD)
| # (passed -TBD) out of # (total test cases run -TBD)
| style="background-color:#CEF2F2;" | TBD (Date status updated)
| style="background-color:#CEF2F2;" | SoftVision
|}
|}


== Builds ==
== Builds ==
 
This section should contain links for builds with the feature -
TBD
* Links for Nightly builds
* Links for Beta builds


== Test Execution Schedule ==
== Test Execution Schedule ==
Line 169: Line 141:
! Project phase !! Start Date !! End Date
! Project phase !! Start Date !! End Date
|-
|-
| Start project
| Start project  
|style="text-align:center;" | December 2016
|style="text-align:center;" | ||  
|style="text-align:center;" | -
|-
|-
| Study documentation/specs received from developers
| Study documentation/specs received from developers
|style="text-align:center;" | TBD
|style="text-align:center;" | ||  
|style="text-align:center;" | -
|-
|-
| QA - Test plan creation
| QA - Test plan creation  
|style="text-align:center;" | 12/13/2016
|style="text-align:center;" | ||  
|style="text-align:center;" | -
|-
|-
| QA - Test cases/Env preparation
| QA - Test cases/Env preparation  
|style="text-align:center;" | 12/12/2016
|style="text-align:center;" | ||  
|style="text-align:center;" | -
|-
|-
| QA - Nightly Testing
| QA - Nightly Testing  
|style="text-align:center;" | February/March 2017
|style="text-align:center;" | ||  
|style="text-align:center;" | -
|-
|-
| QA - Aurora Testing
| QA - Beta Testing  
|style="text-align:center;" |  Unknown
|style="text-align:center;" |  ||  
|style="text-align:center;" | 
|-
| QA - Beta Testing
|style="text-align:center;" |  Unknown
|style="text-align:center;" |
|-
|-
| Release Date
| Release Date  
|style="text-align:center;" | Unknown
|style="text-align:center;" | ||  
|style="text-align:center;" |
|}
|}


Line 210: Line 171:
| Test plan creation || Mozilla wiki
| Test plan creation || Mozilla wiki
|-
|-
| Test case creation || TestRail
| Test case creation || [https://testrail.stage.mozaws.net/index.php TestRail]/ Google docs
|-
|-
| Test case execution || TestRail
| Test case execution || [https://testrail.stage.mozaws.net/index.php TestRail]
|-
|-
| Bugs management || Bugzilla/GitHub (mainly)
| Bugs management || Bugzilla
|}
|}


= Status =
= Status =  
== Overview ==
== Overview ==
* Track the dates and build number where feature was released to Nightly<br />
Track the dates and build number where feature was released to Nightly
* Track the dates and build number where feature was merged to Aurora<br />
Track the dates and build number where feature was merged to Release/Beta
* Track the dates and build number where feature was merged to Release/Beta<br />
 


= References =
= References =
N/A
* List and links for specs
  List and links for available specs - documents, user stories, specifications
* Meta bug
= Testcases =
== Test Areas ==
{| class="wikitable" style="width:80%"
|-
! Test Areas !! Covered !! Details
|-
| Private Window
|style="text-align:center;" | ||
|-
| Multi-Process Enabled
|style="text-align:center;" |  ||
|-
| Multi-process Disabled
|style="text-align:center;" |  ||
|-
| Theme (high contrast)
|style="text-align:center;" |  ||
|-
| '''UI'''
||  ||
|-
| Mouse-only operation 
|style="text-align:center;" |  ||
|-
| Keyboard-only operation 
|style="text-align:center;" |  ||
|-
| Display (HiDPI)
|style="text-align:center;" | ||
|-
| Interaction (scroll, zoom)
|style="text-align:center;" | ||
|-
| Usable with a screen reader 
|style="text-align:center;" |  || e.g. with NVDA
|-
| Usability and/or discoverability testing 
|style="text-align:center;" |  || Is this feature user friendly
|-
| RTL build testing 
|style="text-align:center;" |  ||
|-
| '''Help/Support'''
||  ||
|-
| Help/support interface required 
|style="text-align:center;" |  || Make sure link to support/help page exist and is easy reachable.
|-
| Support documents planned(written) 
|style="text-align:center;" |  || Make sure support documents are written and are correct.


= Testcases =
|-
N/A
| '''Install/Upgrade'''
||  ||
|-
| Feature upgrades/downgrades data as expected 
|style="text-align:center;" |  ||
|-
| Does sync work across upgrades 
|style="text-align:center;" |  ||
|-
| Requires install testing   
|style="text-align:center;" |  || separate feature/application installation needed (not only Firefox)
|-
| Affects first-run or onboarding   
|style="text-align:center;" |  || 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 
|style="text-align:center;" |  || 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 
|style="text-align:center;" |  ||
|-
| Network proxies/autoconfig 
|style="text-align:center;" |  ||
|-
| ESR behavior changes 
|style="text-align:center;" |  ||
|-
| Locked preferences 
|style="text-align:center;" |  ||
 
|-
| ''' Data Monitoring '''
||  ||
|-
| Temporary or permanent telemetry monitoring 
|style="text-align:center;" |  || List of error conditions to monitor
|-
| Telemetry correctness testing 
|style="text-align:center;" |  ||
|-
| Server integration testing 
|style="text-align:center;" |  ||
|-
| Offline and server failure testing 
|style="text-align:center;" |  ||
|-
| Load testing 
|style="text-align:center;" |  ||
 
|-
| ''' 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? 
|style="text-align:center;" |  ||
|-
| Comprehensive API testing 
|style="text-align:center;" |  ||
|-
| Permissions 
|style="text-align:center;" |  ||
|-
| Testing with existing/popular addons
|style="text-align:center;" |  ||
 
|-
| ''' 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 
|style="text-align:center;" |  ||
|-
| Privilege escalation testing
|style="text-align:center;" |  ||
|-
| Fuzzing 
|style="text-align:center;" |  ||
 
|-
| ''' Web Compatibility '''
||  || depends on the feature
|-
| Testing against target sites 
|style="text-align:center;" |  ||
|-
| Survey of many sites for compatibility 
|style="text-align:center;" |  ||
 
|-
| ''' Interoperability  '''
||  || depends on the feature
|-
| Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. 
|style="text-align:center;" |  ||
|-
| Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS 
|style="text-align:center;" |  ||
|-
| Interaction of this feature with other browser features 
|style="text-align:center;" |  ||
|}
 
== Test suite ==
Full Test suite - Link to test rail - testcases should be added under Firefox Desktop project [https://testrail.stage.mozaws.net/index.php?/suites/overview/17 link]
Smoke Test suite - Link with the tests - if available/needed.
Regression Test suite - Link with the tests - if available/needed.


= Bug Work =
= Bug Work =
Meta bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=12345 12345 - bug summary]


*Bugzilla Meta Bugs
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
====== Logged bugs ( blocking [https://bugzilla.mozilla.org/show_bug.cgi?id=12345 12345] )======


*  {{Bug|1349210}} - [Meta] Photon Structure
<div class="mw-collapsible-content">
<bugzilla>
<bugzilla>
     {
     {
         "blocks":[1349210],
         "blocks":[12345],
         "include_fields": "id, priority, component, assigned_to, summary, status, target_milestone"
         "include_fields": "id, priority, component, assigned_to, summary, status, target_milestone"
     }
     }
</bugzilla>
</bugzilla>


</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
====== Bug fix verification ======
<div class="mw-collapsible-content">
<bugzilla>
    {
        "blocks":[12345],
        "resolution":"FIXED",
        "include_fields": "id, priority, component, assigned_to, summary, status, resolution, target_milestone"
    }
</bugzilla>
</div>
</div>


= Sign off =
= Sign off =
== Criteria ==
== Criteria ==
Check list
Checklist
* All Criteria under each section of Quality Assurance Strategy should be green.
* 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
* 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 ==
'''Aurora testing'''<br />
'''Nightly testing'''<br />
* TBD on TestRail


'''Merge to Aurora Sign-off'''<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 - Not applicable
*Link for the tests run
** Full Test suite - Not applicable
** Full Test suite, link to TestRail - Tests Runs and Results [https://testrail.stage.mozaws.net/index.php?/runs/overview/17 link]
** Daily Smoke, if needed/available
** Regression Test suite, if needed/available
<br />
 
'''Merge to Beta Sign-off'''<br />
List of OSes that will be covered by testing<br />
*Link for the tests run
** Full Test suite


== Checklist ==
== Checklist ==
Line 264: Line 409:
! Exit Criteria !! Status !! Notes/Details
! Exit Criteria !! Status !! Notes/Details
|-
|-
Verification of Features || {{mprog}} || Email to be sent
Testing Prerequisites (specs, use cases)
|}
| style="text-align:center;" | 
 
| style="text-align:center;" |
== Ownership ==
|-
Product contact:<br />
Testing Infrastructure setup
N/A
|style="text-align:center;" |  ||  
 
|-
User Experience contact:<br />
|  Test Plan Creation
N/A
| style="text-align:center;" |  ||
 
|-
Engineering contact:<br />
|  Test Cases Creation
[mailto:gkruitbosch@mozilla.com Gijs Kruitbosch] (IRC: gijs) <br />
|style="text-align:center;" |  ||
[mailto:mmucci@mozilla.com Marco Mucci] (IRC: ) <br />
|-
 
|  Automation Coverage ||
 
|style="text-align:center;" |
QA:<br />
|-
PM for QA team - [mailto:rares.bologa@softvisioninc.eu Rares Bologa] (IRC: RaresB)<br />
|  Performance Testing
QA Lead - [mailto:gwimberly@softvision.com Grover Wimberly IV] (IRC: Grover-QA)<br />
|style="text-align:center;" |  ||
QA - [mailto:kkumari@softvision.com Kanchan Kumari] (IRC: Kanchan_QA)<br />
|-
QA - [mailto:jwilliams@softvision.com Justin Williams] (IRC: JW_SoftvisionQA)<br />
|  All Defects Logged || ||
QA - [mailto:stefan.georgiev@softvision.com Stefan Georgiev] (IRC: StefanG_QA)<br />
|-
QA - [mailto:amasresha@softvision.com Abe Masresha] (IRC: Abe_LV)<br />
|  Critical/Blockers Fixed and Verified || ||
 
|-
'''Revision History'''
|  Metrics/Telemetry||
 
|style="text-align:center;" |
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.
|-
 
|  Basic/Core functionality Nightly testing
{| class="wikitable" style="width:60%"
|style="text-align:center;" | 
|style="text-align:center;" | 
|-
QA mid-Nightly Signoff||
|style="text-align:center;" | Email to be sent
|-
| QA Nightly - Full Testing
|style="text-align:center;" |  ||
|-
|-
! Date !! Version !! Author !! Description
|  QA pre-Beta Signoff||
|style="text-align:center;"| Email to be sent
|-
|-
| 5/3/2017 || 1.0 || Grover Wimberly IV || Created first draft
| QA Beta - Full Testing
|style="text-align:center;" | ||  
|-
|-
|  QA pre-Release Signoff ||
|style="text-align:center;" | Email to be sent
|}
|}
172

edits