QA/New DevTools Debugger Panel

From MozillaWiki
< QA
Jump to: navigation, search

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 n/a Email
Jason Laster Software Engineer Engineering n/a Email
Bryan Clark EPM Product Management n/a 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

Out of Scope

Testing will not check:

  • Security
  • Telemetry data correctness

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

Channel dependent settings (configs) and environment setups

There are no special settings needed to test this feature.

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 Evaluation Criteria Test Objective Test Type RAC Owners
TO-1 Breakpoints The breakpoint suspends the execution of the program Verifying that the breakpoints successfully suspend the program's execution Manual RAC-1, RAC-2, Eng Team
TO-2 Watch Expressions The debugger will watch the expression and return any results when executions are paused Verifying that the debugger successfully returns the watch expressions Manual RAC-1, RAC-2 Eng Team
TO-3 Call Stack Each level of the call stack gets a line, with the name of the function, the filename and the line number. Clicking the line opens that source in the source pane. Verifying that the call stack displays the name,filename, line number of the function and if it opens the source in the source pane Manual RAC-1, RAC-2 Eng Team
TO-4 Scopes At pause, the debugger give the option to expand the section in order to see all objects that are in scope at that point in the program Verifying that the option to expand the section in order to see the all the objects is available and to check if the most local appears first and if the global scope appears last Manual RAC-1, RAC-2 Eng Team
TO-5 Editor Search The debugger gives has the option to search for certain files or to search withing a certain file Verifying that searches can be successfully performed for both files or for elements found inside certain files Manual RAC-1, RAC-2, RAC-3 Eng Team
TO-6 Toolbar The debugger gives the possibility of different functions (Play/pause, Step over, Step in, Step out) when the debugger has stopped at a brakepoint Verifying that the Play/pause, Step over, Step in , Step out functions work as intended Manual RAC-1, RAC-2, RAC-4 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

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

Project phase Start Date End Date
Start project 04/24/2017
Study documentation/specs received from developers 04/24/2017 07/07/2017
QA - Test plan creation 04/24/2017 04/26/2017
QA - Test cases/Env preparation 05/08/2017 06/21/2017
QA - Nightly Testing 05/10/2017 07/28/2017
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


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

Test Areas Covered Details
Private Window Yes
Multi-Process Enabled Yes
Multi-process Disabled Yes
Theme (high contrast) Yes
UI
Mouse-only operation Yes
Keyboard-only operation Yes
Display (HiDPI) No
Interaction (scroll, zoom) No
Usable with a screen reader Yes e.g. with NVDA
Usability and/or discoverability testing Yes Is this feature user friendly
RTL build testing Yes
Help/Support
Help/support interface required Yes Make sure link to support/help page exist and is easy reachable.
Support documents planned(written) Yes Make sure support documents are written and are correct.
Install/Upgrade
Feature upgrades/downgrades data as expected No
Does sync work across upgrades No
Requires install testing No separate feature/application installation needed (not only Firefox)
Affects first-run or onboarding No 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 No 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 No
Network proxies/autoconfig No
ESR behavior changes No
Locked preferences No
Data Monitoring
Temporary or permanent telemetry monitoring No List of error conditions to monitor
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 - Test Rail

Bug Work

Meta bug: 1294139 - [debugger.html Turn new debugger on by default for all channels]

Logged bugs ( blocking 1294139 )
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1294103 -- Debugger James Long (:jlongster) Load source-map and pretty-print workers on the client-side in new debugger RESOLVED Firefox 51
1294686 P1 Debugger James Long (:jlongster) Mochitests for new debugger RESOLVED Firefox 51
1294749 P1 Debugger James Long (:jlongster) Share modules with the rest of devtools RESOLVED ---
1295321 P2 Debugger New debugger should work with light/dark theme RESOLVED ---
1295753 -- Debugger Jason Laster [:jlast] New debugger can break console RESOLVED Firefox 51
1296048 -- Debugger James Long (:jlongster) Scope mozilla-specific CodeMirror CSS RESOLVED Firefox 51
1299602 P2 Debugger Debugger fails to emit tabNavigated event when paused RESOLVED Firefox 51
1300820 P1 Debugger Brian Grinstead [:bgrins] Always use 'old' debugger frontend in Browser Toolbox RESOLVED Firefox 51
1300861 P1 Debugger Brian Grinstead [:bgrins] Enable new debugger frontend in nightly builds RESOLVED Firefox 51
1300865 -- Debugger Always use 'old' debugger frontend when addon debugging RESOLVED ---
1300866 P1 Debugger James Long (:jlongster) Add a `devtoolsRequire` hook to expose native modules RESOLVED Firefox 51
1301147 -- Debugger James Long (:jlongster) Use BrowserLoader require in new debugger so we can share frontend modules RESOLVED Firefox 51
1301207 P1 Debugger James Long (:jlongster) Load theme switcher in new debugger RESOLVED Firefox 51
1301719 P1 Debugger Jason Laster [:jlast] Fix new debugger in remote toolboxes RESOLVED Firefox 51
1302833 P1 Debugger James Long (:jlongster) Fix CodeMirror height issue in new debugger RESOLVED Firefox 51
1302862 P2 Debugger James Long (:jlongster) Open the panel when the sources have loaded RESOLVED Firefox 52
1302872 P1 Debugger James Long (:jlongster) Update new debugger frontend (9/14/2016) RESOLVED Firefox 51
1303045 P1 Debugger James Long (:jlongster) Fix `viewSourceInDebugger` to highlight specific line RESOLVED Firefox 51
1303177 P1 Debugger James Long (:jlongster) Turn off sourcemaps if using the new debugger frontend RESOLVED Firefox 51
1303862 P1 Debugger James Long (:jlongster) Update new debugger frontend (9/19/2016) RESOLVED Firefox 52
1303866 P1 Debugger James Long (:jlongster) Don't track sourcemapped sources if sourcemaps are disabled RESOLVED Firefox 52
1304416 P1 Debugger James Long (:jlongster) [debugger.html] github tracked release requirements RESOLVED ---
1305079 P1 Debugger James Long (:jlongster) Add `noSliding` option to SourceActor.prototype.setBreakpoint RESOLVED Firefox 52
1306459 P1 Debugger James Long (:jlongster) Update new debugger frontend (9/29/2016) RESOLVED Firefox 52
1310330 -- Debugger Javascript source pane in debugger has double scrollbar. RESOLVED ---
1313197 P1 Debugger James Long (:jlongster) Open source in new tab if it doesn't exist in debugger RESOLVED Firefox 52
1319743 P2 Debugger Jason Laster [:jlast] Scrolling with the mouse for highlighting script in the new Debugger is jerky and consumes CPU VERIFIED ---
1332114 -- Debugger Jason Laster [:jlast] [debugger.html] Hold the new debugger in Aurora RESOLVED Firefox 53
1335901 P2 Debugger Yury Delendik (:yury) [debugger.html] cannot debug asm.js code RESOLVED ---
1346902 P3 Debugger Alexandre Poirot [:ochameau] Enable new debugger UI for Browser Toolbox RESOLVED Firefox 55
1365565 -- Debugger The position of the caret should be after the text RESOLVED ---
1365571 -- Debugger Slide the breakpoint to the next line of code when adding a breakpoint to a comment or to an empty line RESOLVED ---
1365603 P3 Debugger Search results should have a yellow background RESOLVED ---
1366745 P3 Debugger The order of the breakpoints added changes after reloading the page RESOLVED ---
1366754 P2 Debugger Hubert B Manilla After reloading the page closed JS files are still displayed VERIFIED Firefox 56
1366800 P1 Debugger Jason Laster [:jlast] Two search fields are displayed on the new debugger VERIFIED Firefox 56
1367777 -- Debugger Flicker in breakpoint section when adding a breakpoint to a comment or to an empty line RESOLVED ---
1376266 -- Debugger Out of scope functions should appear faded RESOLVED ---
1376727 -- Debugger A frame is displayed around the buttons in debugger toolbar VERIFIED ---
1379958 P1 Debugger Jason Laster [:jlast] The position of the cursor does not change in "watch expression" using the mouse VERIFIED Firefox 56
1379978 -- Debugger When you resume, the watch expression value should be cleared RESOLVED ---
1380007 -- Debugger Some areas in the debugger can't be accessed with keyboard only RESOLVED ---
1384061 -- Debugger After you step out from a breakpoint the number from the breakpoint is not visible RESOLVED ---
1384536 -- Debugger Firefox becomes unresponsive if I start a search RESOLVED ---
1384933 -- Debugger Can't iterate through search results after switching to a different file RESOLVED ---
1388798 P5 Debugger Source files are not accessible from the list view if the right hand pane is resized NEW ---
1389013 -- Debugger Source files are displayed outside the dropdown list view RESOLVED ---
1389075 -- Debugger "Results" text from the search bar overlaps the search results RESOLVED ---
1389091 -- Debugger Search Bar results disappears when resizing Firefox's window VERIFIED ---
1389522 -- Debugger Error message is displayed outside the search results panel VERIFIED ---
1391240 -- Debugger Another, unwanted, breakpoint is created while holding ctrl + B VERIFIED ---
1391267 -- Debugger Conditional breakpoints can't replace disabled breakpoints VERIFIED ---
1392277 -- Debugger File location is not always revealed in the Tree menu VERIFIED ---
1395851 -- Debugger Watch Expressions are added and displayed only after restarting Firefox RESOLVED ---
1396523 -- Debugger Source file doesn't gain focus after being selected from the list view dropdown VERIFIED ---
1396841 -- Debugger Some breakpoints remain disabled after choosing the "Enable Breakpoints" option from the breakpoints pane VERIFIED ---
1397678 -- Debugger Horizontal scrollbar is not displayed at all times in the Scopes panel RESOLVED ---
1397697 -- Debugger Methods tooltip panel is dismissed while scrolling inside of it VERIFIED ---
1398064 -- Debugger Toolbar buttons are not visible while using High Contrast #1 and High Contrast Black themes VERIFIED ---

59 Total; 1 Open (1.69%); 44 Resolved (74.58%); 14 Verified (23.73%);


Verified bug fixes
Full Query
ID Priority Component Assigned to Summary Status Resolution Target milestone
1294103 -- Debugger James Long (:jlongster) Load source-map and pretty-print workers on the client-side in new debugger RESOLVED FIXED Firefox 51
1294686 P1 Debugger James Long (:jlongster) Mochitests for new debugger RESOLVED FIXED Firefox 51
1295753 -- Debugger Jason Laster [:jlast] New debugger can break console RESOLVED FIXED Firefox 51
1296048 -- Debugger James Long (:jlongster) Scope mozilla-specific CodeMirror CSS RESOLVED FIXED Firefox 51
1299602 P2 Debugger Debugger fails to emit tabNavigated event when paused RESOLVED FIXED Firefox 51
1300820 P1 Debugger Brian Grinstead [:bgrins] Always use 'old' debugger frontend in Browser Toolbox RESOLVED FIXED Firefox 51
1300861 P1 Debugger Brian Grinstead [:bgrins] Enable new debugger frontend in nightly builds RESOLVED FIXED Firefox 51
1300866 P1 Debugger James Long (:jlongster) Add a `devtoolsRequire` hook to expose native modules RESOLVED FIXED Firefox 51
1301147 -- Debugger James Long (:jlongster) Use BrowserLoader require in new debugger so we can share frontend modules RESOLVED FIXED Firefox 51
1301207 P1 Debugger James Long (:jlongster) Load theme switcher in new debugger RESOLVED FIXED Firefox 51
1301719 P1 Debugger Jason Laster [:jlast] Fix new debugger in remote toolboxes RESOLVED FIXED Firefox 51
1302833 P1 Debugger James Long (:jlongster) Fix CodeMirror height issue in new debugger RESOLVED FIXED Firefox 51
1302862 P2 Debugger James Long (:jlongster) Open the panel when the sources have loaded RESOLVED FIXED Firefox 52
1302872 P1 Debugger James Long (:jlongster) Update new debugger frontend (9/14/2016) RESOLVED FIXED Firefox 51
1303045 P1 Debugger James Long (:jlongster) Fix `viewSourceInDebugger` to highlight specific line RESOLVED FIXED Firefox 51
1303177 P1 Debugger James Long (:jlongster) Turn off sourcemaps if using the new debugger frontend RESOLVED FIXED Firefox 51
1303862 P1 Debugger James Long (:jlongster) Update new debugger frontend (9/19/2016) RESOLVED FIXED Firefox 52
1303866 P1 Debugger James Long (:jlongster) Don't track sourcemapped sources if sourcemaps are disabled RESOLVED FIXED Firefox 52
1304416 P1 Debugger James Long (:jlongster) [debugger.html] github tracked release requirements RESOLVED FIXED ---
1305079 P1 Debugger James Long (:jlongster) Add `noSliding` option to SourceActor.prototype.setBreakpoint RESOLVED FIXED Firefox 52
1306459 P1 Debugger James Long (:jlongster) Update new debugger frontend (9/29/2016) RESOLVED FIXED Firefox 52
1310330 -- Debugger Javascript source pane in debugger has double scrollbar. RESOLVED FIXED ---
1313197 P1 Debugger James Long (:jlongster) Open source in new tab if it doesn't exist in debugger RESOLVED FIXED Firefox 52
1319743 P2 Debugger Jason Laster [:jlast] Scrolling with the mouse for highlighting script in the new Debugger is jerky and consumes CPU VERIFIED FIXED ---
1332114 -- Debugger Jason Laster [:jlast] [debugger.html] Hold the new debugger in Aurora RESOLVED FIXED Firefox 53
1346902 P3 Debugger Alexandre Poirot [:ochameau] Enable new debugger UI for Browser Toolbox RESOLVED FIXED Firefox 55
1365603 P3 Debugger Search results should have a yellow background RESOLVED FIXED ---
1366745 P3 Debugger The order of the breakpoints added changes after reloading the page RESOLVED FIXED ---
1366754 P2 Debugger Hubert B Manilla After reloading the page closed JS files are still displayed VERIFIED FIXED Firefox 56
1366800 P1 Debugger Jason Laster [:jlast] Two search fields are displayed on the new debugger VERIFIED FIXED Firefox 56
1367777 -- Debugger Flicker in breakpoint section when adding a breakpoint to a comment or to an empty line RESOLVED FIXED ---
1379958 P1 Debugger Jason Laster [:jlast] The position of the cursor does not change in "watch expression" using the mouse VERIFIED FIXED Firefox 56
1379978 -- Debugger When you resume, the watch expression value should be cleared RESOLVED FIXED ---
1380007 -- Debugger Some areas in the debugger can't be accessed with keyboard only RESOLVED FIXED ---
1384536 -- Debugger Firefox becomes unresponsive if I start a search RESOLVED FIXED ---
1384933 -- Debugger Can't iterate through search results after switching to a different file RESOLVED FIXED ---
1389013 -- Debugger Source files are displayed outside the dropdown list view RESOLVED FIXED ---
1389075 -- Debugger "Results" text from the search bar overlaps the search results RESOLVED FIXED ---
1389091 -- Debugger Search Bar results disappears when resizing Firefox's window VERIFIED FIXED ---
1389522 -- Debugger Error message is displayed outside the search results panel VERIFIED FIXED ---
1391240 -- Debugger Another, unwanted, breakpoint is created while holding ctrl + B VERIFIED FIXED ---
1391267 -- Debugger Conditional breakpoints can't replace disabled breakpoints VERIFIED FIXED ---
1392277 -- Debugger File location is not always revealed in the Tree menu VERIFIED FIXED ---
1395851 -- Debugger Watch Expressions are added and displayed only after restarting Firefox RESOLVED FIXED ---
1396523 -- Debugger Source file doesn't gain focus after being selected from the list view dropdown VERIFIED FIXED ---
1396841 -- Debugger Some breakpoints remain disabled after choosing the "Enable Breakpoints" option from the breakpoints pane VERIFIED FIXED ---
1397678 -- Debugger Horizontal scrollbar is not displayed at all times in the Scopes panel RESOLVED FIXED ---
1397697 -- Debugger Methods tooltip panel is dismissed while scrolling inside of it VERIFIED FIXED ---
1398064 -- Debugger Toolbar buttons are not visible while using High Contrast #1 and High Contrast Black themes VERIFIED FIXED ---

49 Total; 0 Open (0%); 36 Resolved (73.47%); 13 Verified (26.53%);

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

Checklist

Exit Criteria Status Notes/Details
Testing Prerequisites (specs, use cases) [DONE]
Testing Infrastructure setup N/A
Test Plan Creation [DONE]
Test Cases Creation [DONE]
Full Functional Tests Execution [DONE]
Automation Coverage N/A
Performance Testing N/A
All Defects Logged In Progress
Critical/Blockers Fixed and Verified In Progress
Metrics/Telemetry N/A
QA Beta - Full Testing [DONE]
QA Signoff - Pre Beta [DONE] [Email sent in 7/28/2017]
QA Signoff - Pre Release [DONE] [Email sent in 9/8/2017]