QA/Mobile/FocusAndroidTestPlan: Difference between revisions

→‎Release Criteria: rename criteria
(→‎Release Criteria: rename criteria)
 
(10 intermediate revisions by 2 users not shown)
Line 21: Line 21:


= Personnel =
= Personnel =
== Program Management ==
* [https://phonebook.mozilla.org/?search/Jenn%20Chaulk Jenn Chaulk]
== Product Management ==
* [https://phonebook.mozilla.org/?search/Barbara%20Bermes Barbara Bermes]
== Development ==
* [https://phonebook.mozilla.org/?search/Sebastian%20Kaspari Sebastian Kaspari]
* [https://phonebook.mozilla.org/?search/mcomella Michael Comella]
* [https://phonebook.mozilla.org/?search/liuche Chenxia Liu]
== QA Team ==
== QA Team ==
* [https://phonebook.mozilla.org/?search/No-Jun%20Park No-Jun Park]
* [https://phonebook.mozilla.org/?search/richard%20pappalardo Richard Pappalardo]
* [https://phonebook.mozilla.org/?search/Oana%20Horvath Oana Horvath]


= Resource Plan =
= Resource Plan =
Line 38: Line 30:
= Test Strategy =
= Test Strategy =
== Process ==
== Process ==
* When the development work on github issue is completed, whether it is before/after code freeze, '''ReadyForQA''' label will be applied so that the issue is available for testing. The issue should belong to a correct milestone before the development work can be started.
=== Current Sprint ===
* QA will verify the issue, and upon completion, it'll be marked with '''VerifiedByQA''', removing '''ReadyForQA''' label.
SUMMARY
* If an issue is not QA verifiable, it can be marked with '''QANotNeeded'''
 
* After code freeze, ideally, all issues should be marked with either '''ReadyForQA''', '''VerifiedByQA''', or '''QANotNeeded'''.
# Label Issues
* After the QA signoff, ideally, all issues should be marked with '''VerifiedByQA''', or '''QANotNeeded'''.
# Create/Update Test Cases
* The issue can be closed after it is marked as '''VerifiedByQA''', or '''QANotNeeded'''
# Verify Issues
* This does not apply to metabugs.
 
DESCRIPTION
* When the development work on github issue is completed, whether before/after code freeze, the issue will be closed so that the issue is available for testing. If a bug requires extra attention, it'll be marked with 'QAReady' label.
* The issue should belong to a correct milestone before development work can be started and may include either new features or bugs.
* Once an issue has been closed, when applicable, a (new) test case should be added to /updated in TestRail.
* TestRail type field should be set to: "Functional" and automation field to: "Untriaged"
* QA will verify the issue, and make sure to outline clear test steps in the (new) TestRail test case.
* Upon completion, github issue should be marked with '''QAVerified''', removing '''QAReady''' label if exists.
* After the QA signoff, ideally, all verifiable issues should be marked with '''QAVerified'''.
* NOTE: the meta-label '''testing''' is also added by both devs and QA for any bug or feature requiring testing of any kind).
* Once the issue is closed, if suitable for automation, label the it in github as '''automation-TBD''' and change the automation dropdown in TestRail to "Suitable".
 
=== Current or Post Sprint ===
* Query github for issues labelled "automation-TBD"
* Create new automated test(s) to verify proper function of feature based on steps outlined in TestRail.
* Cross-link TestRail test case within automated test (add link to java test file on github in Pre-Conditions section)
* Cross-link automated test to TestRail test case (add link to TestRail test case in java file).
* Submit PR for review and, once UI tests are passing, change github label to '''automated''' and set TestRail type to: "Automated" and automation field to: "Completed"
 
=== QA Criteria ===
* Once Dev team announces code freeze, a date for the QA signoff is decided, usually a week from the code freeze.
* QA will run the regression test suite, updated with the coverage for new features, and inform the Dev team with any findings.
* During triage, it will be decided that whether a found issue is a release blocker or not.  As a minimum, a bug shall be a release blocker if it causes crash/hang on a relatively common use case scenario.  The Dev team will provide fix for the release blockers during the code freeze, and the fix will be verified.
* QA will sign off the release when the (up-to-date) regression test suite run has been completed, all items under [[#Test_Deliverables|Test_Deliverables]] has been completed, and there are no release blockers.


== Manual Tests ==
== Manual Tests ==
UI Test suite for Focus for Android will be located in [https://testrail.stage.mozaws.net/index.php?/suites/overview/48 TestRail]. As a minimum, each of the P1 UI features will have corresponding test cases. The test suite will be executed by Softvision for the acceptance testing.
UI test case suite for project: "Focus for Android" will be located in [https://testrail.stage.mozaws.net/index.php?/suites/overview/48 TestRail]. As a minimum, each of the P1 UI features will have corresponding test cases. The test suite will be executed by Softvision for the acceptance testing.


== Automated Tests ==
== Automated Tests ==
Automation tests will be mainly used for quick regression check of key UI features. Overall, automation tests will be added to the same Github repo, and executed on [https://dashboard.buddybuild.com/apps/584f67f6f3d6eb01000842d6 BuddyBuild CI system]. While the unit tests will be run for each commit, UI Tests (in Espresso/UIAutomator framework) will be executed in master branch only.  The test result will be inspected for new failures, and github issue will be raised for tracking.
Automation tests will be mainly used for quick regression check of key UI features. Overall, automation tests will be added to the same Github repo, and executed on Google Firebase. While the unit tests will be run for each commit, UI Tests (in Espresso/UIAutomator framework) will be executed in master branch only.  The test result will be inspected for new failures, and github issue will be raised for tracking.


Automation tests are located [https://github.com/mozilla-mobile/focus-android/tree/master/app/src/androidTest here].
Automation tests are located [https://github.com/mozilla-mobile/focus-android/tree/master/app/src/androidTest here].
352

edits