QA/Elevated update
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 |
Contents
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
- You can use custom override preference to always trigger an update: about:config. The pref is: "app.update.url.override"
- Two files are placed in filesystem that are removed upon success or failure of the update:
- Upon 3 user Update cancellations of the Elavate Update the update is set on manual
- When an Elevate update is attempted, the version is recorded in app.update.elevate.version
- /Library/LaunchDaemons/launchd.plist (text)
- /Library/PrivilegedHelperTools/org.mozilla.updater (binary)
Elevate and Debug Logs
- Browser console set to "true" :-> set the "app.update.log" pref in about:config, string type, containing the url for the update.
- Update checks will be listed in the browser console
- Updater writes in the update.log :=> eg. "~/Library/Caches/Mozilla/updates/Applications/Firefox/updates/0/update.log"
- 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
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
- Links for Nightly builds: 05.27.2016 First Nightly Build
- Links for Aurora builds: 06.08.2016 First Aurora Build
- 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 | 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 |
Logged bugs
Bug 1268476 - {Elevated Update} Software update windows are not visible
Bug 1268475 - {Elevated Update} After 3 cancelations, Nightly doesn't start
Bug 1271296 - {Elevated Update} Cannot use app.update.url.override to simulate FF update
Bug 1272262 - {Elevated Update} Not all updates are recorded in Update History
Bug 1273536 - {Elevated Update} If FF is not the default browser and the default browser check window sends the updater window behind the browser
Bug 1273890 - {Elevated Update} Windows Silent update broken on Oak build containing OSX elevated code
Bug 1273545 - {Elevated Update} Loading Panel is displayed too early in the Elevate Update process
Bug 1274319 - {Elevated Update} Fast Elevation Cancel hangs Firefox
Bug 1270839 - {Elevated Update} Every time when you start Nightly from user account you have this message: “Nightly” is an application downloaded from the Internet. Are you sure you want to open it?
Bug 1274590 - {Elevated Update} Oak vs Central different behaviour when updating with application open (on different user accounts)
Bug 1278252 - {Elevated Update} Software Update new Downloading window
Bug 1278248 - {Elevated Update} Software Update new Downloading window
Sign off
Criteria
Check list
- All test cases should be executed
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
- Link for the tests run
- Full Test suite can be found at: Elevated Update Full Test Suite
- Regression Test suite, if needed/available
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 |