QA/form autofill

From MozillaWiki
< QA
Jump to: navigation, search

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/26/2017 1.0 Adrian Florinescu Initial Draft
06/12/2017 2.0 Adrian Florinescu Added Risk Assessment, Updated TestAreas, various updates
06/20/2017 2.1 Adrian Florinescu Updates
07/31/2017 2.2 Adrian Florinescu Updates for the pre-beta 56 Sign-off

Overview

Form Autofill saves users time and effort when making online purchases by storing their personal information in a profile and automatically populating form fields when the user requires it. The objective is to increase user engagement, satisfaction and retention for frequent online shoppers (those who make an online purchase at least once per month). We believe this can be achieved by enabling users to complete forms and “check out” in e-commerce flows as quickly and securely as possible.

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 Form Autofill feature. 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

• Product Management:

• Project Management:

• Eng.:

• UX:

• QA

Testing summary

Scope of Testing

In Scope

  • address forms Autofill
  • profile management
  • Autofill Addresses Sync

Postponed to 58

  • credit card forms Autofill


Requirements for testing

Environments

Ubuntu 16.04, Windows 10 x 64, OSX 10.12

Channel dependent settings (configs) and environment setups

Nightly

    • forms autofill enabled by default
    • extensions.formautofill.available
    • extensions.formautofill.addresses.enabled
    • extensions.formautofill.creditCards.enabled
    • extensions.formautofill.heuristics.enabled
    • extensions.formautofill.loglevel
    • extensions.formautofill.available


  • Sync Preferences
    • services.sync.engine.addresses.available
    • services.sync.engine.creditCards.available



Beta

TBD

Post Beta / Release

TBD

Test Strategy

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 Risk Assessment and Coverage(RAC) Owners
TO-1 Autocomplete attributes Verify that all targeted autocomplete attributes are correctly autofilled Manual RAC-01 Eng Team
TO-2 All autocomplete attribute fields trigger autofill To verify that all autocomplete attribute fields can trigger autofill Manual RAC-01 Eng Team
TO-3 Preferences To verify the autofill feature on/off preference Manual - Eng Team
TO-4 Address Profiles To verify the address profile basic operations: create/edit/delete Manual - Eng Team
TO-5 Fields that shouldn't be auto-filled To verify that fields that shouldn't be auto-filled are not(e.g: hidden, autofocus, http, autocomplete: off) Manual RAC-03, RAC-04, RAC-05, Eng Team
TO-6 User-Friendly To verify that all operations related to auto-fill and address profile management is user-friendly Manual RAC-02 Eng Team
TO-7 Addresses Sync To verify that the address profiles are synced Manual RAC-06 Eng Team
TO-8 Exploratory/Basic functionality on sync To verify the basic functions of sync Manual RAC-07 Eng Team

Risk Assessment and Coverage

ID Description / Threat Description Covered by Test Objective Magnitude Probability Priority Impact Score
RAC-1 Not all autocomplete attributes trigger auto-fill TO-02 3-High 2-Possible 3-High 18
RAC-2 Populate/Reset autofill fileds is userfriendly TO-06 3-High 2-Possible 3-High 18
RAC-3 Phishing protection: autofill on autofocus TO-05 3-High 2-Possible 3-High 18
RAC-4 Phishing protection: autofill hidden fields TO-05 3-High 2-Possible 3-High 18
RAC-5 Phishing protection: fields with autocomplete: off are populated TO-05 3-High 2-Possible 3-High 18
RAC-6 Address Profiles changes are not synced TO-07 2-Moderate 2-Possible 3-High 12
RAC-7 Basic Sync engine regressions TO-08 1- Low 2-Possible 2-Medium 4

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.

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 24.10.2016 TBD
Study documentation/specs received from developers 12.04.2017 31.07.2017
QA - Test plan creation 10.06.2017 31.07.2017
QA - Test cases/Env preparation 10.06.2017 31.07.2017
QA - Nightly Testing 12.06.2017 31.07.2017
QA - Beta Testing 25.08.2017 08.09.2017
Release Date TBD TBD

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 Test Suite
Test case execution Mid-Nightly56 Pre-Beta56
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


Testcases

Test Areas

Test Areas Covered Details (and why) Reviewed by
Private Window Yes Dropdown works, no auto-save, no update doorhanger (profile order stays the same) Luke/Vance
Multi-Process Enabled Yes Luke/Vance
Multi-process Disabled Yes Luke/Vance
Theme (high contrast) Yes Luke/Vance
UI
Mouse-only operation Yes Luke/Vance
Keyboard-only operation Yes Luke/Vance
Display (HiDPI) Yes Luke/Vance
Interraction (scroll, zoom) Yes Luke/Vance
Usable with a screen reader TBD Vance to inquire on this
Usability and/or discoverability testing Yes
RTL build testing No 56 targets only en-us Luke/Vance
Help/Support
Help/support interface required No Luke/Vance
Support documents planned(written) No Luke/Vance
Install/Upgrade
Feature upgrades/downgrades data as expected Yes Luke/Vance
Does sync work across upgrades Yes Luke/Vance
Requires install testing No Luke/Vance
Affects first-run or onboarding TBD Vance to asses this Luke/Vance
Does this affect partner builds? Partner build testing No Luke/Vance
Enterprise
Enterprise administration No Luke/Vance
Network proxies/autoconfig No Luke/Vance
ESR behavior changes No Luke/Vance
Locked preferences TBD Luke/Vance
Data Monitoring
Temporary or permanent telemetry monitoring Yes Luke/Vance
Telemetry correctness testing Yes Details to be provided on what and how to test here Luke/Vance
Server integration testing No Luke/Vance
Offline and server failure testing No Luke/Vance
Load testing No Luke/Vance
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 Luke/Vance
Comprehensive API testing No Luke/Vance
Permissions No Luke/Vance
Testing with existing/popular addons Yes Luke/Vance
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 TBD to be checked and confirmed Luke/Vance
Privilege escalation testing No Luke/Vance
Fuzzing No Luke/Vance
Web Compatibility depends on the feature
Testing against target sites Yes Amazon,Walmart,Staples,Sears,Macy’s,Office Depot,CDW Corp,Home Depot,Best Buy,Liberty Interactive (QVC.com),Newegg,Costco Luke/Vance
Survey of many sites for compatibility yes Amazon,Walmart,Staples,Sears,Macy’s,Office Depot,CDW Corp,Home Depot,Best Buy,Liberty Interactive (QVC.com),Newegg,Costco Luke/Vance
Interoperability depends on the feature
Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. No Luke/Vance
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS No Luke/Vance
Interaction of this feature with other browser features Yes Luke/Vance

Test suite

Full Test suite - Test Rail

Bug Work

Bug Work

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
Performance Testing
style="text-align:center;" done
Critical/Blockers Fixed and Verified done
Metrics/Telemetry
QA Signoff - Nightly Release done
QA Beta - Full Testing done
QA Signoff - Beta Release done