QA/Fennec/iOS/1.0
QA Test Strategy & Test Plan - Fennec (Firefox) for iOS 1.0
Overview
This is a tracking document that outlines the test strategy that Mozilla QA will follow regarding a thorough test pass of Fennec for iOS releases. It will follow the general plan on steps and process that QA will take to accomplish a "sign off" to the release strategy. Mozilla QA strives to uphold quality software, and a successful pass corresponds to no blocking issues, 'Green'-colored test pass on test cases in both execution and automation, and a thorough bug verification window of all Blocking bugs and Critical bugs.
NOTE: Updates to this document continue to change as Mozilla continues to refine development process.
Fennec Testing
As Fennec for iOS is a new project with Mozilla a lot of the test effort early on is to set up infrastructure, define basic processes, build up a QA team and community, and participate in early on decisions that shape the future of the project.
One big issue with Fennec for iOS is our limitations with build and device availability (re: Apple) that is unlike that of Android.
We will need core expertise and unique community involvement needed which will be applicable for iOS testing. There will be core issues to tackle that are not specific to devices and can be done by anybody on the team or by anyone who has expressed interest in the community.
Areas Covered
- Featured Areas Tests
- Web Compatibility Tests
- Accessibility Tests
- Bug Verifications
- Distribution Tests
- L10N Test Deliverables
- Regression Tests
Areas not Covered
- Feature Unit Tests
- These are normally covered by feature developers, not QA. We are open to discussion about what we could do in QA to increase Unit Tests other than what automation currently exists. Need more definition here on what QA/Dev should own.
- String Localization Tests
- See more in the L10n Test Deliverable section.
Schedule
The release schedule is broken up by milestones, determined by the Fennec team. Each milestone will contain feature enhancements, bug fixes, and updates. Most testing of focused areas and regression areas will come in the latter half of the schedule, during the latter parts of alpha up until the final release candidate.
NOTE: We are going to branch from GitHub to create a follow-up 1.0.x and 2.x branch which we will ship future releases from.
Categories
Feature Tests
- Summary
Any major feature item will have a test plan and a tester who owns that area.
- Planning & Scheduling
The Fennec dev team has a great online [Trello board] to track features by milestone. We will work off this list as a starting point for what we focus on for each release. We will create a basic test plan outlining our major focus areas, how we will test and the test cases. These will live here.
The expectation is that the major features are well tested during the Alpha and Bet a phase. Then testing during later betas is focused on verifying bug fixes, testing additional edge cases that are identified (polish testing), and regression testing.
- Test Framework
Automation:
Execution:
- Results
Test Results for executed test cases should be tracked on regular cadence on the wiki.
Web Compatibility Tests
- Summary
The Web Compatibility Tests focuses on regression and compatibility with popular websites. For Fennec on iOS we are using WKWebView (WebKit) so comparative testing against Safari will be of value. Any problems discovered in the browser should be reproducible in Safari.
- Test Framework
- Top Sites - coverage of a few popular sites that drives most user traffic
- Results
Test Results for executed test cases should be tracked on regular cadence on the wiki.
Accessibility Tests
- Summary
For the time being we are not doing any specific tests owned by QA, but post 1.0 we will revisit this to find what we can reasonably do with our product.
Bug Verifications
- Summary
Verifying fixed bugs in Buzilla gives us additional testing on specific bugs that were fixed.
- Planning & Scheduling
To prioritize and narrow the list of bugs, QA will focus primarily on Fennec bugs that represent highest severity.
- Results
Bugs will be marked verified or reactivated for regression. All results tracked in Bugzilla.
Distribution Tests
This is not an area that we need to test in Fennec for the 1.0 release. In the future we might have private builds or specialized versions that we need to test.
L10N Tests
- Summary
Fennec will ship with a number of translations. Currently there are [about 43] languages under development with more coming on board in the future. As of this edit, there are 6 complete.
The l10n community provides the translations and the mobile team does the appropriate packaging and bundling.
- Planning & Scheduling
While traditionally we do not perform translation accuracy tests we should spot check a few languages to ensure there are no major UI failures.
- Test Framework
Execution
- Results
Test Results for executed test cases should be tracked on regular cadence on the wiki
Collecting Feedback
Our main goal here is to make sure we document and test the feedback channels. For Fennec for iOS we will not have the community and tools built up as Firefox does.
- Reporting tools
- Breakpad / Crash Reporter
- IRC: #mobile
- Other
- Apple Store reviews
- Input