QA/Elevated update

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
03/28/2016 1.0 Adrian Florinescu Created first draft
04/05/2016 1.1 Adrian Florinescu Updates
04/07/2016 2.0 Brindusa Tot Review
05/20/2016 2.1 Adrian Florinescu Updates
06/08/2016 3.0 Adrian Florinescu Updates
06/08/2016 3.1 Brindusa Tot Review
02/09/2016 3.2 Bogdan Maris Updates

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

Scope

This wiki details the testing that will be performed by the project team for the Elevated Updater project. Its purpose is to document:

  • Normal Update
  • Verify Elevate Update
  • Windows service stability after the MAC related code changes

Elevate Update Feature description

Describes the Elevate Feature features and requirements

Elevate Installation

  1. You can use custom override preference to always trigger an update: about:config. The pref is: "app.update.url.override"
  2. Two files are placed in filesystem that are removed upon success or failure of the update:
  3. - /Library/LaunchDaemons/launchd.plist (text)

    - /Library/PrivilegedHelperTools/org.mozilla.updater (binary)

  4. Upon 3 user Update cancellations of the Elavate Update the update is set on manual
  5. When an Elevate update is attempted, the version is recorded in app.update.elevate.version

Elevate and Debug Logs

  1. Browser console set to "true" :-> set the "app.update.log" pref in about:config, string type, containing the url for the update.
  2. Update checks will be listed in the browser console
  3. Updater writes in the update.log :=> eg. "~/Library/Caches/Mozilla/updates/Applications/Firefox/updates/0/update.log"
  4. When update is completed the log will be moved to a path similar to: ~/Library/Caches/Mozilla/updates/Applications/Firefox/updates/last-update.log

Ownership

Engineering contact: Stephen A Pohl


QA:
Rares Bologa - PM for QA team

Brindusa Tot - leading QA efforts

Adrian Florinescu, QA

Ovidiu Boca, QA

Bogdan Maris, QA

Testing summary

Scope of Testing

In Scope

Elevated Updates is a project in Mozilla that aims to solve update problem on Mac OS's. This feature will be used if one user originally installed Firefox, but another user attempts to update it.

The testing effort for Elevated Update will be invested on the following areas:

  • usability: the Elevated Update feature must be easy to use and straightforward;
  • integration: The QA team will ensure that there are no issues related to Elevated Update on different Mac OS's; in the same time, Windows updater is to be smoke tested since the windows service might be affected by commune code changes.
  • functionality: basic and advanced functionality to be verified according to the existing requirements;
  • security: basic security tests will be run verifying the scenarios in which:
          - update fails when the binary signature compromised
          - FF is restarted after applying elevated update
          - installation files are cleaned up

Out of Scope

Following areas are considered out of scope and will not be considered as testing zones to be handled in this test plan:

  • Parental Controls
  • Mac OSX 10.6, 10.7, 10.8
  • Windows Service documentation:
    • While we recognize the importance to validate that MAC changes do not affect the windows updater, the purpose of this planning is not to document and test the Windows Service. Due to the fact that the existing test documentation for win service covers old os'es: vista, xp, windows7 with windows7 beeing the latest OS at the moment on which the documentation and TCS execution for Windows installer took place, we are planning to perform exploratory testing on the Windows OAK build.

Requirements for testing

Environments

Full testing on:

  • Mac OS X 10.9
  • Mac OS X 10.10
  • Mac OS X 10.11

Exploratory/Smoke testing on oak build for windows:

  • Windows 10
  • Windows 8.1
  • Windows 7

Test Strategy

Test Objectives

Here are the items that will be included in our testing.

Ref Function Test Objective Evaluation Criteria Test Type Owners
1 Non-Elevate Update The objective of the test is trying verify that normal updates functioning as expected The elevate update is not required when updating from standard to standard user Manual testing Eng Team
2 Elevated Update The objective of the test is verifying that elevate update functions as designed User elevate is required when updating from admin to standard user Manual testing Eng Team
3 Installation The objective of the test is verifying that all the files, logs are deleted updated or created as designed When the elevated process is performed, files and logs are created updated or deleted depending on the case Manual Testing Eng Team
4 Security The objective of the test is verifying that elevate update functions don't create any security issues When the elevated process is performed Manual Testing Eng Team
5 Windows Update The objective of the test is verifying that no issue are generated by MAC elevated updates The windows updater is not affected by the MAC Elevated Update and functions unafected Manual Testing Eng Team

Builds

Links for builds with the feature - OSX Elevated Update

Test Execution Schedule

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

Project phase Start Date End Date
Start project 03.28.2016 TBD
Study documentation/specs received from developers 03.27.2016 04.01.2016
QA - Test plan creation 03.28.2016 04.06.2016
QA - Test cases/Env preparation 04.04.2016 04.06.2016
QA - Nightly Testing 05.27.2016 06.06.2016
QA - Aurora Testing 06.30.2016 07.08.2016
QA - Beta Testing 08.23.2016 09.02.2016
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 Google docs
Test case execution Google docs
Bugs management Bugzilla

Status

Overview

First released to Nightly: 05.27.2016 First Nightly Build 
Merged to Aurora: 06.08.2016 First Aurora Build 
Track the dates and build number where feature was merged to Release/Beta

Risk analysis

We are considering that due to the fact that Windows and MAC Updater have common code, it is possible the changes to the Elevated Updater(MAC) to affect the stability of Windows Updater.

References

  • SecReview: Elevated Updater for OSX (bug 394984)[1]
  • UX Review: Elevated Updater for OSX (bug 394984)[2]
  • Meta bug: Bug 394984

Testcases

Testcases can be found here link

Test Areas

Test Areas Covered Details
Private Window N/A -
Multi-Process Enabled N/A -
Multi-process Disabled N/A -
Theme (high contrast) N/A -
UI
Mouse-only operation N/A -
Keyboard-only operation N/A -
Display (HiDPI) N/A -
Interraction (scroll, zoom) N/A -
Usable with a screen reader N/A -
Usability and/or discoverability testing N/A -
Help/Support
Help/support interface required N/A -
Support documents planned(written) TBD
Install/Upgrade
Feature upgrades/downgrades data as expected Yes
Does sync work across upgrades N/A -
Requires install testing Yes Requires Elevate permissions
Affects first-run or onboarding N/A -
Does this affect partner builds? Partner build testing Yes There is a risk that the Mac changes for Elevated Update might affect Windows Updater: smoke tests are to be performed against the Windows Os'es to cover this by the same team as the one in charge for MAC Elevate Feature
Enterprise Raise up the topic to developers to see if they are expecting to work different on ESR builds
Enterprise administration TBD -
Network proxies/autoconfig N/A -
ESR behavior changes TBD -
Locked preferences N/A -
Data Monitoring
Temporary or permanent telemetry monitoring N/A already covered by the debug/log details in Chapter 1.3 Elevate Update Feature description
Telemetry correctness testing N/A -
Server integration testing N/A -
Offline and server failure testing N/A -
Load testing N/A -
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? N/A -
Comprehensive API testing N/A -
Permissions N/A -
Testing with existing/popular addons N/A -
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 -
Privilege escalation testing Yes -
Fuzzing N/A -
Web Compatibility depends on the feature
Testing against target sites N/A -
Survey of many sites for compatibility N/A -
Interoperability depends on the feature
Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. N/A -
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS N/A -
Interaction of this feature with other browser features N/A -

Test suite

Full Test suite - Full Testing Suite

Bug Work

Meta bug – Bug 394984

Bug fix verification
Bug No Summary Status Firefox Version
Bug 1268475
[Elevated Update] After 3 cancelations, Nightly doesn't start Verified Fixed Nighly 49
Bug 1271296
[Elevated Update] Cannot use app.update.url.override to simulate FF update Resolved WFM Nighly 49
Bug 1272262
[Elevated Update] Not all updates are recorded in Update History Resolved WFM Nighly 49
Bug 1273890
[Elevated Update] Windows Silent update broken on Oak build containing OSX elevated code Verified Fixed Nighly 49
Bug 1273890
[Elevated Update] Windows Silent update broken on Oak build containing OSX elevated code Verified Fixed Nighly 49

Sign off

Criteria

Check list

  • All test cases should be executed
SignOff Criteria - Medium feature
Nightly to Aurora Open Bugs Severity Number of Open Bugs
Blocker 0
Critical 2
Major 5
Normal 15
Minor+Enh 20

Results

Nightly testing

List of OSes that will be covered by testing:

  • Full Testing:
    • OSX 10.10
    • OSX 10.9
    • OSX 10.8
  • Smoke/Exploratory Testing:
    • Win 7
    • Win 8.1
    • Win 10


Merge to Aurora Sign-off - 06.08.2016

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 N/A
Performance Testing N/A
All Defects Logged [DONE]
Metrics/Telemetry N/A
QA Signoff - Nightly Release [DONE] 2016.06.06 Email sent
QA Aurora - Full Testing [DONE]
QA Signoff - Aurora Release [DONE] 2016.08.01 Email sent
QA Beta - Full Testing [DONE]
QA Signoff - Beta Release [DONE] 2016.09.02 Email sent