QA/New DevTools Debugger Panel: Difference between revisions
Hani.yacoub (talk | contribs) |
(-) |
||
| 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 == | ||
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. | 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>. | ||
== Ownership == | == Ownership == | ||
*<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 | |||
= Testing summary = | = Testing summary = | ||
== Scope of Testing == | == Scope of Testing == | ||
=== In Scope === | === In Scope === | ||
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 == | ||
*'''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 | |||
*'''Other configuration/environmental setup needed''': n/a | |||
= 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 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 - 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] | |||
= | = 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 | ||
| Jason Laster | Software Engineer | Engineering | ||
| Bryan Clark | EPM | Product Management |
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
- Development Team:
- Product Manager: Bryan Clark (irc: clarkbw)
- Engineering Manager: Jason Laster
- Product Manager: Bryan Clark (irc: clarkbw)
- Engineering Team - Nightly Testing:
- Rares Bologa (irc: RaresB) - PM for QA team
- Brindusa Tot (irc: brindusat) - leading QA efforts
- Hani Yacoub (irc: hani) - QA
- Ovidiu Boca (irc: Ovidiu) - QA
- Rares Bologa (irc: RaresB) - PM for QA team
- Release Team - Beta/Release Testing:
- Andrei Vaida (irc: avaida) - TL for QA team
- Emil Ghitta (irc: emilghitta) - QA
- Cristian Comorasu (irc: CristiComo) - QA peer
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 -
Test Execution Schedule
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
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
| 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
Meta bug: 12345 - bug summary
Logged bugs ( blocking 12345 )
| 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
| 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
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
| 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 |