QA/Partner Search

From MozillaWiki
Jump to navigation Jump to 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
10/03/2016 1.0 Brindusa Tot Created first draft

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

Feature short description

This wiki details the testing that will be performed by the project team for the Partner Search Improvments feature. As a short description, Mozilla products use a file called “list.txt” to indicate which search engines should be bundled into a specific locale. This file indicates which search engines are to be included with a given build and which engines are to be hidden by default . Starting with current improvements, the "list.txt" file is switch to a JSON based format (list.json) that allows us to specify default search engine locale information as a part of the core product. This means we can make decisions about which engines to use for which locales without using the geo search server. Here’s an example from en-US:

{
 "default": {
   "visibleDefaultEngines": ["google", "yahoo", "amazondotcom", "bing", "ddg", "eBay", "twitter", "wikipedia"]
 },
 "CA": {
   "visibleDefaultEngines": ["google", "yahoo-en-CA", "bing", "amazondotcom", "ddg", "eBay", "twitter", "wikipedia"]
 },
 "US": {
   "visibleDefaultEngines": ["yahoo", "google-nocodes", "bing", "amazondotcom", "ddg", "eBay", "twitter", "wikipedia"]
 }
}

Ownership

Development
Development contact: Mike Kaply (irc: mkaply)

Engineering Team - Nightly Testing:
Rares Bologa (irc: RaresB) - PM for QA team
Brindusa Tot (irc: brindusat) - leading QA efforts
Simona Badau (irc: simonab) - QA


Testing summary

Scope of Testing

In Scope

The testing effort for the Partner Search improvements will be invested on verifing that search engine list is not affected by this improvement. So we should verify that this patch has had no effect on the current search engine list, both the engines that show up for a particular language/locale, as well as their order. We are testing that the top 11 locales have the same engines before the test that they do after the test and that they are in the same order. We are also testing that when a user upgrades from a version with list.txt to a version with the list.json that they do not see any changes in their search engines. We are also testing that for the default engine, the URL that is used for a search (including codes) is exactly the same as it was before. The list of top 11 locales is:

  • en-US (en-US will be tested in Canada, the United States and multiple European countries (via a proxy)
  • de
  • en-GB
  • ja-JP / ja-JP-mac
  • pl
  • es-ES
  • it
  • Nl
  • pt-BR

We will also conduct this test with partner builds as well to make sure that the new search engines do not have a negative effect on partner builds.

Out of Scope

We are not testing every engine for every locale or the search results given by each engine. The assumption is that if the list is the same and the order is the same, the engines will be the same.

Requirements for testing

Environments

Full testing will be performed on the following OSes:

* Windows, probably Windows 7 and Windows 10
* Mac OS X
* Ubuntu

On each OS testing should be performed testing on following locales

  • en-US - en-US will be tested in Canada (via Proxy) - NOTE: for the moment we don't have proxy for Canada
  • en-US - tested in United States (via Proxy)
  • en-US - tested on European countries (Romania)
  • de
  • en-GB
  • ja-JP / ja-JP-mac
  • pl
  • es-ES
  • it
  • Nl
  • pt-BR

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 Evaluation Criteria Test Type Owners
1 list.json The search engines for a particular locale are displayed in list.json The search engines, including their order, are exactly the same as it were previous implementation of list.json Manual Eng Team
2 Search codes Search codes are the same The search codes in the search URLs are exactly the same as it were previous implementation of list.json Manual Eng Team
3 URL URL are the same The URL resulted after a search is exactly the same as is was previous implementation of list.json Manual Eng Team
4 Search functionality Same search functionality Search functionality should be the same as it was previous implementation of list.json Manual Eng Team

Builds

This section should contain links for builds with the feature -

  • Links for Nightly builds
  • Links for Aurora builds
  • Links for Beta builds

Test Execution Schedule

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

Project phase Start Date End Date
Start project 2016.09.26
Study documentation/specs received from developers 2016.09.26 2016.09.30
QA - Test plan creation 2016.10.03 2016.10.05
QA - Test cases/Env preparation 2016.10.03 2016.10.05
QA - Nightly Testing
QA - Aurora Testing
QA - Beta Testing
Release Date

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

Risk analysis

Identify the high-risk assumptions
Identify existing bugs on the feature with high risk
Identify if other areas are affected by the fix

References

  • List and links for specs
Doc explaining the feature: link
Kick off meeting notes: link

Testcases

Full testsuites can be found on TestRail at link

Test Areas

Test Areas Covered Details
Private Window Yes
Multi-Process Enabled Yes
Multi-process Disabled No
Theme (high contrast) No
UI
Mouse-only operation No
Keyboard-only operation No
Display (HiDPI) No
Interraction (scroll, zoom) No
Usable with a screen reader No e.g. with NVDA
Usability and/or discoverability testing No Is this feature user friendly
RTL build testing ???
Help/Support
Help/support interface required No Make sure link to support/help page exist and is easy reachable.
Support documents planned(written) No Make sure support documents are written and are correct.
Install/Upgrade
Feature upgrades/downgrades data as expected Yes
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 Yes 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 ??? 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 - Link with the gdoc, follow the format from link
Regression Test suite - Link with the gdoc - if available/needed.

Bug Work

Meta bug: 1276739 - replace list.txt with a region-aware JSON file format to allow different search configs within a single locale

Logged bugs ( blocking 1276739 )
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1281630 -- Search Create JSON files for all locales to replace list.txt RESOLVED ---
1309273 -- General Mike Kaply [:mkaply] TEST-UNEXPECTED-FAIL | toolkit/components/search/tests/xpcshell/test_json_cache.js - Port bug 1276739 to C-C RESOLVED ---
1310712 -- Search Search URL differs after the list.txt was replaced with the list.json on Canada VERIFIED Firefox 52

3 Total; 0 Open (0%); 2 Resolved (66.67%); 1 Verified (33.33%);


Bug fix verification
Full Query
ID Priority Component Assigned to Summary Status Target milestone
1281630 -- Search Create JSON files for all locales to replace list.txt RESOLVED ---
1310712 -- Search Search URL differs after the list.txt was replaced with the list.json on Canada VERIFIED Firefox 52

2 Total; 0 Open (0%); 1 Resolved (50%); 1 Verified (50%);

Sign off

Criteria

Check list

  • All test cases should be executed
  • 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, use template from link
    • 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 NO
Test Plan Creation [DONE]
Test Cases Creation [IN PROGRESS]
Full Functional Tests Execution
Automation Coverage
Performance Testing
All Defects Logged
Critical/Blockers Fixed and Verified
Metrics/Telemetry
QA Signoff - Nightly Release Email to be sent
QA Aurora - Full Testing
QA Signoff - Aurora Release Email to be sent
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent