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 |
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
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.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
Smoke testing on:
- Mac OS X 10.6
Exploratory 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 -
- 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 | 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 | TBD | TBD |
| QA - Aurora Testing | TBD | TBD |
| QA - Beta Testing | TBD | TBD |
| 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
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
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 - Link with the gdoc, follow the format from TBD Smoke Test suite - Link with the gdoc, follow the format from TBD Regression Test suite - Link with the gdoc - if available/needed.
Bug Work
Tracking bug – meta bug
Bug fix verification
| Bug No | Summary | Status | Firefox Verion |
|---|---|---|---|
| 123 | bug summary | NEW | Nighly 45 |
Logged bugs
Bug 111111
Bug 211111
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
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) | ||
| Testing Infrastructure setup | ||
| Test Plan Creation | ||
| Test Cases Creation | ||
| Full Functional Tests Execution | ||
| Automation Coverage | ||
| Performance Testing | ||
| All Defects Logged | ||
| Critical/Blockers Fixed and Verified | ||
| Daily Status Report (email/etherpad statuses/ gdoc with results) | ||
| 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 |