QA/New DevTools Debugger Panel: Difference between revisions

From MozillaWiki
< QA
Jump to navigation Jump to search
(-)
Line 1: Line 1:
'''Approvals Required / Received'''
The following individuals are required to/have approved this Test Plan:
{| class="wikitable"
|-
! Name !! Title !! Department !! Approval Date !! Method
|-
| Andrei Vaida || QA Manager || Product Integrity ||  || [mailto:andrei.vaida@softvisioninc.eu Email]
|-
| Jason Laster|| Software Engineer || Engineering ||  || [mailto:jlaster@mozilla.com Email]
|-
| Bryan Clark || EPM || Product Management ||  || [mailto:clarkbw@mozilla.com Email]
|}
'''Revision History'''
'''Revision History'''


Line 8: Line 23:
|-
|-
| 04/24/2017 || 1.0 || Hani Yacoub || Created first draft
| 04/24/2017 || 1.0 || Hani Yacoub || Created first draft
|-
| 08/14/2017 || 1.1 || Emil Ghitta || Updates
|}
|}


= Overview =
= Overview =
This feature purpose is to convert to a brand new debugger front-end, with a treeview of source files, tabs for displaying the source content, a better file search, and it can work everywhere the web can! It’s just a web app. It’s able to talk both Firefox and Chrome protocol and can debug all sorts of targets.
== Purpose ==
== Purpose ==
Detail the purpose of this document. For example:
This document describes the following topics:
* The test scope, focus areas and objectives
* The test scope, focus areas and objectives
* The test responsibilities
* The test responsibilities
Line 23: Line 42:


== Scope ==
== Scope ==
This wiki details the testing that will be performed by the project team for the New DevTools Debugger Panel project. It defines the overall testing requirements and provides an integrated view of the project test activities. Its purpose is to document what and how we shall test:
This wiki details the testing that will be performed by the project team for the '''New DevTools Debugger Panel''' project. It defines the overall testing requirements and provides an integrated view of the project test activities.Its purpose is to document <u>what will be tested</u> and <u>how testing will be performed</u>.
* What will be tested
* How testing will be performed


== Ownership ==
== Ownership ==


'''<big>Development Team</big>''':<br />  
*<big>Development Team</big>''':<br />  
Product Manager: [mailto:clarkbw@mozilla.com Bryan Clark] (irc: clarkbw)<br />
**Product Manager: [mailto:clarkbw@mozilla.com Bryan Clark] (irc: clarkbw)<br />
Engineering Manager: [mailto:jlaster@mozilla.com Jason Laster] <br />
**Engineering Manager: [mailto:jlaster@mozilla.com Jason Laster] <br />
 
*<big>Engineering Team</big> - Nightly Testing''':<br />
**[mailto:rares.bologa@softvisioninc.eu Rares Bologa] (irc: RaresB) - PM for QA team <br />
**[mailto:brindusa.tot@softvisioninc.eu Brindusa Tot] (irc: brindusat) - leading QA efforts <br />
**[mailto:hani.yacoub@softvision.ro Hani Yacoub] (irc: hani) - QA <br />
**[mailto:ovidiu.boca@softvision.ro Ovidiu Boca] (irc: Ovidiu) - QA <br />
 
*<big>Release Team</big> - Beta/Release Testing''':<br />
** [mailto:andrei.vaida@softvisioninc.eu Andrei Vaida] (irc: avaida) - TL for QA team
** [mailto:emil.ghitta@softvision.ro Emil Ghitta] (irc: emilghitta) - QA
** [mailto:cristian.comorasu@softvision.ro Cristian Comorasu] (irc: CristiComo) - QA peer


'''<big>Engineering Team</big> - Nightly Testing''':<br />
[mailto:rares.bologa@softvisioninc.eu Rares Bologa] (irc: RaresB) - PM for QA team <br />
[mailto:brindusa.tot@softvisioninc.eu Brindusa Tot] (irc: brindusat) - leading QA efforts <br />
[mailto:hani.yacoub@softvision.ro Hani Yacoub] (irc: hani) - QA <br />
[mailto:ovidiu.boca@softvision.ro Ovidiu Boca] (irc: Ovidiu) - QA <br />
= Testing summary =  
= Testing summary =  
== Scope of Testing ==
== Scope of Testing ==
=== In Scope ===
=== In Scope ===
This feature purpose is to convert to a brand new debugger front-end, with a treeview of source files, tabs for displaying the source content, a better file search, and it can work everywhere the web can! It’s just a web app. It’s able to talk both Firefox and Chrome protocol and can debug all sorts of targets.
The testing effort for the New DevTools Debugger Panel will be invested on the following areas:
The testing effort for the New DevTools Debugger Panel will be invested on the following areas:


Line 61: Line 81:
= Requirements for testing =
= Requirements for testing =
== Environments ==
== Environments ==
Full testing will be performed on the following OSes:
*'''Operating Systems'''
* Windows 10 x64, Windows 7 x32
** Windows 10 x64, Windows 7 x32
* Mac OS X 10.12
** Mac OS X 10.12
* Ubuntu 16.04
** Ubuntu 16.04
 
* '''Devices''' : n/a
== Channel dependent settings (configs) and environment setups ==
*'''Other configuration/environmental setup needed''': n/a
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto">
 
=== Nightly ===
<div class="mw-collapsible-content">
text
</div>
 
=== Aurora ===
<div class="mw-collapsible-content">
text
</div>
 
=== Beta ===
<div class="mw-collapsible-content">
text
</div>
 
=== Post Beta / Release ===
<div class="mw-collapsible-content">
text
</div>
</div>


= Test Strategy =  
= Test Strategy =  
Line 118: Line 116:
* 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 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.
* 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.
'''RAC''': Refers to the "Risk Assessment and Coverage" item that is covering.


== Test Objectives ==
== Test Objectives ==
Line 143: Line 143:
This section should contain links for builds with the feature -  
This section should contain links for builds with the feature -  
* Links for Nightly builds - [http://archive.mozilla.org/pub/firefox/nightly/2017/04/2017-04-25-03-02-21-mozilla-central// link]
* Links for Nightly builds - [http://archive.mozilla.org/pub/firefox/nightly/2017/04/2017-04-25-03-02-21-mozilla-central// link]
* Links for Aurora builds
* Links for Beta builds - [https://archive.mozilla.org/pub/firefox/candidates/56.0b1-candidates/build1/ link]
* Links for Beta builds


== Test Execution Schedule ==
== Test Execution Schedule ==  
{{Warning| This section is a work in progress}}
The following table identifies the anticipated testing period available for test execution.
The following table identifies the anticipated testing period available for test execution.
{| class="wikitable" style="width:60%"
{| class="wikitable" style="width:60%"
Line 166: Line 166:
| QA - Nightly Testing  
| QA - Nightly Testing  
|style="text-align:center;" |  ||  
|style="text-align:center;" |  ||  
|-
| QA - Aurora Testing
|style="text-align:center;" |  || 
|-
|-
| QA - Beta Testing  
| QA - Beta Testing  
|style="text-align:center;" | ||  
|style="text-align:center;" | 08.07.2017 || 09.26.2017
|-
|-
| Release Date  
| Release Date  
|style="text-align:center;" | ||
|style="text-align:center;" colspan="2" | 09.26.2017
|}
|}


Line 194: Line 191:
= Status =  
= Status =  
== Overview ==
== Overview ==
{{Warning| This section is a work in progress}}
  Track the dates and build number where feature was released to Nightly
  Track the dates and build number where feature was released to Nightly
  Track the dates and build number where feature was merged to Aurora
  Track the dates and build number where feature was merged to Aurora
Line 202: Line 200:
* Meta bug [https://bugzilla.mozilla.org/show_bug.cgi?id=1294139 1294139] - [debugger.html] Turn new debugger on by default for all channels
* Meta bug [https://bugzilla.mozilla.org/show_bug.cgi?id=1294139 1294139] - [debugger.html] Turn new debugger on by default for all channels
* List and links for specs
* List and links for specs
  - [https://projects.invisionapp.com/share/AY8OEG3C6#/screens/117937554_Debugger Debugger Design]
**[https://projects.invisionapp.com/share/AY8OEG3C6#/screens/117937554_Debugger Debugger Design]
* User Story Used


= Testcases =  
= Test Cases =
Full Test Suites can be found [https://testrail.stage.mozaws.net/index.php?/suites/view/924&group_by=cases:section_id&group_order=asc TestRail] or in the PDF doc.
== Test Areas ==
== Test Areas ==
{{Warning| This section is a work in progress}}
{| class="wikitable" style="width:80%"
{| class="wikitable" style="width:80%"
|-
|-
Line 369: Line 368:


= Bug Work =
= Bug Work =
{{Warning| This section is a work in progress}}
Meta bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=12345 12345 - bug summary]
Meta bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=12345 12345 - bug summary]


Line 406: Line 406:


== Results ==
== Results ==
{{Warning| This section is a work in progress}}
'''Nightly testing'''<br />
'''Nightly testing'''<br />


Line 420: Line 421:


== Checklist ==
== Checklist ==
{{Warning| This section is a work in progress}}
{| class="wikitable" style="width:60%"
{| class="wikitable" style="width:60%"
|-
|-

Revision as of 13:54, 14 August 2017

Approvals Required / Received

The following individuals are required to/have approved this Test Plan:

Name Title Department Approval Date Method
Andrei Vaida QA Manager Product Integrity Email
Jason Laster Software Engineer Engineering Email
Bryan Clark EPM Product Management 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.

Date Version Author Description
04/24/2017 1.0 Hani Yacoub Created first draft
08/14/2017 1.1 Emil Ghitta Updates

Overview

This feature purpose is to convert to a brand new debugger front-end, with a treeview of source files, tabs for displaying the source content, a better file search, and it can work everywhere the web can! It’s just a web app. It’s able to talk both Firefox and Chrome protocol and can debug all sorts of targets.

Purpose

This document describes the following topics:

  • 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 New DevTools Debugger Panel 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 and how testing will be performed.

Ownership

Testing summary

Scope of Testing

In Scope

The testing effort for the New DevTools Debugger Panel will be invested on the following areas:

  • functionality: basic and advanced functionality to be verified according to the existing requirements;
  • usability: new devtools debugger panel must be easy to use and straightforward;
  • accessibility: new devtools debugger panel can be used with High Contrast Theme, Keyboard only or Screen Reader;

In the scope of current testing are following critical areas:

  • Breakpoints
  • Watch Expressions
  • Call Stack
  • Scopes
  • Editor Search
  • Toolbar

Requirements for testing

Environments

  • Operating Systems
    • Windows 10 x64, Windows 7 x32
    • Mac OS X 10.12
    • Ubuntu 16.04
  • Devices : n/a
  • Other configuration/environmental setup needed: n/a

Test Strategy

Risk Assessment and Coverage

ID Description / Threat Description Covered by Test Objective Magnitude Probability Priority Impact Score
RAC-1 Mouse and keyboard actions may not be recognized TO-1 2-Moderate 1-Unlikely 3-High 6
RAC-2 Adding or removing a breakpoint might not be done correctly TO-1 3-High 2-Possible 3-High 18
RAC-3 To search for files or to search within a file might not be done correctly TO-2 2-Moderate 2-Possible 3-High 12
RAC-4 Toolbar buttons might have different behavior TO-2 2-Moderate 2-Possible 3-High 12

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.

RAC: Refers to the "Risk Assessment and Coverage" item that is covering.

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
1 Breakpoints A breakpoint is a signal that tells the debugger to temporarily suspend execution of your program at a certain point. Manual RAC-1, RAC-2 Eng Team
2 Watch Expressions When debugging code, it's useful to watch expressions as executions are paused. As you step through code, the debugger will watch the expression and return any results. Manual RAC-1, RAC-2 Eng Team
3 Call Stack Each level of the call stack gets a line, with the name of the function and the filename and line number. Clicking the line opens that source in the source pane. Manual RAC-1, RAC-2 Eng Team
4 Scopes When the debugger's paused, you'll be able to expand this section to see all objects that are in scope at this point in the program: the most local appears first, and the global scope (Window, in the case of page scripts) appears last. Manual RAC-1, RAC-2 Eng Team
5 Editor Search To search for files or to search within a file Manual RAC-1, RAC-2 Eng Team
6 Toolbar Stepping through the toolbar buttons (Play/pause, Step over, Step in, Step out) when the debugger is stopped at a breakpoint Manual RAC-1, RAC-2 Eng Team

Builds

This section should contain links for builds with the feature -

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

Test Execution Schedule

Warning signWarning: This section is a work in progress

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

Project phase Start Date End Date
Start project
Study documentation/specs received from developers
QA - Test plan creation
QA - Test cases/Env preparation
QA - Nightly Testing
QA - Beta Testing 08.07.2017 09.26.2017
Release Date 09.26.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/ Google docs
Test case execution TestRail
Bugs management Bugzilla

Status

Overview

Warning signWarning: This section is a work in progress
Track the dates and build number where feature was released to Nightly
Track the dates and build number where feature was merged to Aurora
Track the dates and build number where feature was merged to Release/Beta


References

  • Meta bug 1294139 - [debugger.html] Turn new debugger on by default for all channels
  • List and links for specs

Test Cases

Full Test Suites can be found TestRail or in the PDF doc.

Test Areas

Warning signWarning: This section is a work in progress
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 - tascases 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

Warning signWarning: This section is a work in progress

Meta bug: 12345 - bug summary

Logged bugs ( blocking 12345 )
Full Query
ID Priority Component Assigned to Summary Status Target milestone
15069 P3 Networking jefft File type url not correctly parsed and created VERIFIED M13

1 Total; 0 Open (0%); 0 Resolved (0%); 1 Verified (100%);


Bug fix verification
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
15069 P3 Networking jefft File type url not correctly parsed and created VERIFIED FIXED M13

1 Total; 0 Open (0%); 0 Resolved (0%); 1 Verified (100%);

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

Warning signWarning: This section is a work in progress

Nightly testing

List of OSes that will be covered by testing

  • Link for the tests run
    • Full Test suite, link to TestRail - Tests Runs and Results link
    • Daily Smoke, lif needed/available
    • Regression Test suite, if needed/available

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

  • Link for the tests run
    • Full Test suite

Checklist

Warning signWarning: This section is a work in progress
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
Performance Testing
All Defects Logged
Critical/Blockers Fixed and Verified
Metrics/Telemetry
QA Signoff - Nightly Release [DONE]
QA Aurora - Full Testing
QA Signoff - Aurora Release Email to be sent
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent