B2G/QA/Identity: Difference between revisions
Jump to navigation
Jump to search
| Line 47: | Line 47: | ||
==== Final Signoff ==== | ==== Final Signoff ==== | ||
* Smoke tests for feature should reveal no major blockers | * {{new|}} Smoke tests for feature should reveal no major blockers | ||
* Basic functional tests for feature should reveal no major blockers | * {{new|}} Basic functional tests for feature should reveal no major blockers | ||
* Exploratory tests reveal no blockers for ship | * {{new|}} Exploratory tests reveal no blockers for ship | ||
* QUnit Automation Suite should be green | * {{new|}} QUnit Automation Suite should be green | ||
* No basecamp blockers for identity overall | * {{new|}} No basecamp blockers for identity overall | ||
* Bug verifications for blocker bugs | * {{new|}} Bug verifications for blocker bugs | ||
* Peer signoff by John & Jason | * {{new|}} Peer signoff by John & Jason | ||
=== Infrastructure === | === Infrastructure === | ||
Revision as of 01:55, 17 December 2012
Identity
Overview
This document will cover how testing of the identity pieces should be done on the Firefox OS platform with trusted UI.
Division of Responsibility
| Test Area | Lead |
| B2G Integration Testing | Jason Smith (irc: jsmith) |
| Identity UI Regression Testing | John Morrison (irc: jrgm) |
| Identity Server-Side Testing | John Morrison (irc: jrgm) |
B2G Integration Testing
Overview
The goal of this test area is to analyze the b2g-specific implications to the identity implementation - including the DOM ID pieces and the trusted UI.
Scope
- Functional smoke and basic functional testing to ensure that trusted UI + DOM ID integration into B2G specifically works as expected
- Reusing existing QUnit automation to ensure that the existing tests still pass with the b2g-specific implementation
Signoff Criteria
Pref on Feature
- [MISSED] Smoke tests for feature should reveal no major blockers
- [DONE] QUnit Automation Suite should be green
- [DONE] Feature complete on client-side implementation
- [MISSED] No smoketest blockers
- [MISSED] Peer signoff by John & Jason
Rationale: Major blocker right now is that marketplace on production currently does not use the b2g-specific persona shim, so preffing the feature on is too risky, given that login will become broken right now if we pref on.
Final Signoff
- [NEW] Smoke tests for feature should reveal no major blockers
- [NEW] Basic functional tests for feature should reveal no major blockers
- [NEW] Exploratory tests reveal no blockers for ship
- [NEW] QUnit Automation Suite should be green
- [NEW] No basecamp blockers for identity overall
- [NEW] Bug verifications for blocker bugs
- [NEW] Peer signoff by John & Jason
Infrastructure
- Use http://notoriousb2g.personatest.org/test for running QUnit automation on device
- Host test sites (e.g. people.mozilla.com) with DOM id code to test the UI directly
- Reuse existing top sites that use persona to regression test for no obvious bustage
Automation
- Reuse http://notoriousb2g.personatest.org/test to run existing persona tests on device
- For UI tests, we shall write some automation in gaia ui tests to test persona login through the trusted UI
Edge Cases
Formal Test Cases
Smoke Test Cases
- Test that I can create a persona ID through a trusted UI context with the navigator.id.watch API flow.
- Verify: No onlogin or onlogout event fired if set, trusted UI appeared with persona dialog there, entering your email account should result in a notification sent out to your email to create the account.
- Test that I can sign into persona through a trusted UI context with the navigator.id.watch API flow with an existing account.
- Verify: onlogin event should fire once if set, trusted UI appeared with persona dialog there, entering your email account should prompt for password, valid email & password combo should finish the dialog login flow and close the trusted UI dialog, valid assertion should be returned to onlogin.
- Test that I can logout of persona through a trusted UI context with the navigator.id.watch API flow from an existing account. Verify: onlogout event should fire once if set, reloading page should not fire an onlogin event.
- Verify: onlogout event should fire once if set, no trusted UI dialog should appear.
- Test that I can create a persona ID through a trusted UI context with the navigator.id.get API flow
- Verify: Assertion callback not fired, trusted UI appeared with persona dialog there, entering your email account should result in a notificaiton sent out to your email to create the account.
- Test that I can sign into persona through a trusted UI context with the navigator.id.get API flow with an existing account
- Verify: Assertion callback fired, trusted UI appeared with persona dialog there, entering your email account should prompt for password, valid email & password combo should finish the dialog login flow and close the trsuted UI dialog, valid assertion returned in assertion callback.
- Test that I can logout of persona through a trusted UI context with the navigator.id.get API flow from an existing account
- Verify: No trusted UI context should appear
Basic Functional Test Cases
- Test that I can create a persona ID through a trusted UI context with the navigator.id.getVerifiedEmail flow.
- Test that I can sign into persona through a trusted UI contxt with the navigator.id.getVerifiedEmail API flow with an existing account.
- Test that I can logout of a persona ID through a trusted UI context with the navigator.id.getVerifiedEmail.flow