QA/Push Notifications: Difference between revisions
Mfunches-sv (talk | contribs) |
|||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: Test Plans]] | |||
= Test Plan (Overview) https://irccloud.mozilla.com/file/8eTYehOd/hot.gif = | = Test Plan (Overview) https://irccloud.mozilla.com/file/8eTYehOd/hot.gif = | ||
'''SUMMARY''' | '''SUMMARY''' | ||
* The purpose of this wiki is to serve as a general | * The purpose of this wiki is to serve as a general test plan for verifying desktop Push notifications. | ||
'''OWNERSHIP''' | '''OWNERSHIP''' | ||
* Manual tests will be defined / outlined and executed by the Cloud Services QA Team | * Manual tests will be defined / outlined and executed by the Cloud Services QA Team | ||
* Manual testing will be handed off to | * Manual testing will be handed off to Softvision QA Team | ||
* Automated E2E smoke tests will be created by the Cloud Services QA Team | * Automated E2E smoke tests will be created by the Cloud Services QA Team | ||
* Any further feature automation is TBD (by Firefox Quality Engineering Team) | * Any further feature automation is TBD (by Firefox Quality Engineering Team) | ||
Line 17: | Line 19: | ||
''' | '''SIGN-OFF CRITERIA''' | ||
Cloud Services QA team will verify that: | Cloud Services QA team will verify that: | ||
* Desktop push notifications are working properly in FF Nightly. | * Desktop push notifications are working properly in FF Nightly. | ||
* Interaction between push-service ( | * Interaction between push-service (auto-push[3]), Service Workers[1], and desktop UI is working as expected. | ||
== Test Objectives == | |||
Following table contains main features to be tested: | |||
{| class="wikitable" | |||
|- | |||
! Ref !! Function !! Test Objective !! Evaluation Criteria | |||
|- | |||
| 1 || Notification - basic scenarios || Pop-up notifications display or not based on permissions and settings || Notifications display or disable accordingly. | |||
|- | |||
| 2 || Multi-Process (e10) Enable & Disabled, Private Window || Validate that Notifications display for all window types || Multi-Process (e10) and Private windows display notifications | |||
|} | |||
== Test Types == | |||
{|class="wikitable" style="width:60%" | |||
|- | |||
! Type of Testing !! Required (Yes/No) !! Owners !! Details/Comments | |||
|- | |||
| Manual | |||
|style="text-align:center;" | Yes | |||
|style="text-align:center;" | Moz QA Eng Team LV|| | |||
|- | |||
| Automation | |||
|style="text-align:center;" | No | |||
|style="text-align:center;" | || | |||
|- | |||
| Performance | |||
|style="text-align:center;" | No || || | |||
|- | |||
| Security | |||
|style="text-align:center;" | No || || | |||
|- | |||
| Usability | |||
|style="text-align:center;" | No || || | |||
|- | |||
| Metrics/Telemetry | |||
|style="text-align:center;" | No || || | |||
|} | |||
== Builds == | |||
This section should contain links for builds with the feature - | |||
Nightly builds with the search refactor fix can be reached at [http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ link] | |||
== Test Execution Schedule == | |||
The following table identifies the anticipated testing period available for test execution. | |||
{| class="wikitable" style="width:60%" | |||
|- | |||
! Project phase !! Start Date !! End Date | |||
|- | |||
| Start project | |||
|style="text-align:center;" | 10.23.2015 || | |||
|- | |||
| Study documentation/specs received from developers | |||
|style="text-align:center;" | 10.23.2015 || - | |||
|- | |||
| QA - Test plan creation | |||
|style="text-align:center;" | 10.23.2015 || | |||
|- | |||
| QA - Test cases/Env preparation | |||
|style="text-align:center;" | 10.23.2015 || - | |||
|- | |||
| QA - Nightly Testing | |||
|style="text-align:center;" | 10.23.2015 || 12.16.2015 | |||
|- | |||
| QA - Aurora Testing | |||
|style="text-align:center;" | || | |||
|- | |||
| QA - Beta Testing | |||
|style="text-align:center;" | || | |||
|- | |||
| Release Date | |||
|style="text-align:center;" | || | |||
|} | |||
== Testing Tools == | |||
Detail the tools to be used for testing, for example see the following table: | |||
{| class="wikitable" style="width:60%" | |||
|- | |||
! Process !! Tool | |||
|- | |||
| Test plan creation || Mozilla wiki | |||
|- | |||
| Test case creation || Google docs | |||
|- | |||
| Test case execution || Google docs | |||
|- | |||
| Bugs management || Bugzilla | |||
|} | |||
= Test cases = | |||
Platform(s) Windows 10, Windows 8, Windows 8.1, Windows Vista, Windows 7 | == Overview == | ||
Platform(s) Windows 10, Windows 8, Windows 8.1, Windows Vista, Windows 7, Ubuntu 14.04, Mac OS X 10 | |||
Daily Smoke Test will test the following: | Daily Smoke Test will test the following: [Cycle>Check Enable multi-process Nightly, Unchecked Enable multi-process, Nightly Private Window] | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 32: | Line 123: | ||
! Test Name !! Description !! | ! Test Name !! Description !! | ||
|- | |- | ||
| | | Notification Dialog || Verify that trying to display a notification causes a dialog to appear. || | ||
|- | |||
| Notification Permissions|| Verify that Permissions can be set & adhered to [Always Ask, Allow, Block] . || | |||
|- | |||
| Notification: Timeout|| Verify that a notification is auto-closed after X seconds. || | |||
|- | |||
| Notification: Blocking|| Verify that blocking notifications prevents notifications from displaying. || | |||
|- | |||
| Notification: Not Now|| Verify clicking "Not Now" from the notification permissions door-hanger causes the permissions popup to appear again. || | |||
|- | |||
| Notification: Close Button|| Verify notification can be dismissed by clicking the close button. || | |||
|- | |||
| Notification: Redirection|| Verify clicking on a notification opens a specified URL. || | |||
|- | |||
| Notification: Pop Up Multi Message || Verify clicking the pop Notification button causes the notification to display multiple times. || | |||
|- | |||
|} | |||
== Test Areas == | |||
{| class="wikitable" style="width:60%" | |||
|- | |||
! Test Areas !! Covered !! Details | |||
|- | |||
| Private Window | |||
|style="text-align:center;" | {{mdone|}} || | |||
|- | |||
| Multi-Process Enabled | |||
|style="text-align:center;" | {{mdone|}} || | |||
|- | |||
| Multi-process Disabled | |||
|style="text-align:center;" | {{mdone|}} || | |||
|- | |||
| Display (HiDPI) | |||
|style="text-align:center;" | N/A || | |||
|- | |||
| Interaction (scroll, zoom) | |||
|style="text-align:center;" | N/A || | |||
|- | |||
| Theme (high contrast) | |||
|style="text-align:center;" | N/A || | |||
|} | |||
== Test suites == | |||
Full Test Suite - can be reached at [https://docs.google.com/spreadsheets/d/1nKsdPy-hBT0vbAFxXsk7sV1q--DgurZc8YtDTv9hHvw/edit#gid=637163695 link ] | |||
= Bugs Work = | |||
Bug information can be displayed at [https://docs.google.com/spreadsheets/d/1Gy2NYVkiPJOwK4v-L5TrM_Am3T-ZeQkVAN7mgSwXyj4/edit#gid=1004672113/edit?usp=sharing link ] | |||
= Sign off = | |||
== Criteria == | |||
* 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 45.0a1''' | |||
* [Complete Push 1.0] Full Test Suite results [https://docs.google.com/spreadsheets/d/1nKsdPy-hBT0vbAFxXsk7sV1q--DgurZc8YtDTv9hHvw/edit#gid=637163695 ]<br /> | |||
'''Beta testing 44.0b4''' | |||
* [Complete Push 1.0] Full Test Suite results [https://docs.google.com/spreadsheets/d/1Gy2NYVkiPJOwK4v-L5TrM_Am3T-ZeQkVAN7mgSwXyj4/edit#gid=1004672113/edit?usp=sharing ]<br /> | |||
** Manual testing covered Windows 7 x64, Windows 8 x64, Windows 8.1 x64 Windows 10 x64, Windows Vista x32, Ubuntu 14.04 x32, Mac OS x 10.11 | |||
<br /> | |||
== Checklist == | |||
{| class="wikitable" style="width:60%" | |||
|- | |||
! Exit Criteria !! Status !! Notes/Details | |||
|- | |||
| Testing Prerequisites (specs, use cases) | |||
| style="text-align:center;" | {{mdone|}} | |||
| style="text-align:center;" | | |||
|- | |||
| Testing Infrastructure setup | |||
|style="text-align:center;" | {{mdone|}} || | |||
|- | |||
| Test Plan Creation | |||
| style="text-align:center;" | {{mdone|}} || | |||
|- | |- | ||
| | | Test Cases Creation | ||
|style="text-align:center;" | {{mdone|}} || | |||
|- | |- | ||
| | | Full Functional Tests Execution | ||
|style="text-align:center;" | {{mdone|}} | |||
|style="text-align:center;" | | |||
|- | |- | ||
| | | Performance Testing | ||
|style="text-align:center;" | N/A || | |||
|- | |- | ||
| | | All Defects Logged | ||
|style="text-align:center;"| {{mdone|}} || | |||
|- | |- | ||
| | | Critical/Blockers Fixed and Verified | ||
|style="text-align:center;"| {{mdone|}} || | |||
|- | |- | ||
| | | Daily Status Report (email/etherpad statuses/ gdoc with results) | ||
|style="text-align:center;"| {{mdone|}} || | |||
|- | |- | ||
| | | Metrics/Telemetry | ||
|style="text-align:center;" | N/A || | |||
|- | |- | ||
| UAT Test Cases (signoff By Users) | |||
|style="text-align:center;" | N/A || | |||
|- | |||
| QA Signoff - Nightly Release | |||
|style="text-align:center;" | {{mdone|}} | |||
|style="text-align:center;" | Email sent Jan 04, 2016 [Jan 06, 2016] | |||
|- | |||
| QA Postmortem | |||
|style="text-align:center;" | {{mdone|}} | |||
|style="text-align:center;" | [https://public.etherpad-mozilla.org/p/r.6041c8cb96bb188c57c385daaa5c38a9 Meeting Notes] | |||
|} | |} | ||
'''REFERENCE''' | '''REFERENCE''' | ||
Line 72: | Line 260: | ||
# Set '''Show Notifications''' permission to "Always Ask". | # Set '''Show Notifications''' permission to "Always Ask". | ||
=== | === Weekly: In-Depth & Exploratory Tests === | ||
Notes: | Notes: | ||
Manual/Automation: Test will be conducted manually | Manual/Automation: Test will be conducted manually | ||
Line 80: | Line 268: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Title !! Description | ! Title !! Description | ||
|- | |- | ||
| <small>Doorhanger default state test</small> || <small>Verify the doorhanger reports if the site has requested any notification permissions. | | <small>Doorhanger default state test</small> || <small>Verify the doorhanger reports if the site has requested any notification permissions. | ||
Line 86: | Line 274: | ||
2. <small>Verify the Verify the doorhanger reports if the site has requested any notification permissions.</small> | 2. <small>Verify the Verify the doorhanger reports if the site has requested any notification permissions.</small> | ||
|- | |- | ||
| <small>Pop-up Dialog || V<small>erify that trying to display a notification causes a dialog to appear. | | <small>Pop-up Dialog || V<small>erify that trying to display a notification causes a dialog to appear. | ||
Line 96: | Line 283: | ||
4. Verify the notification doorhanger appears again and requests permissions.</small></small> | 4. Verify the notification doorhanger appears again and requests permissions.</small></small> | ||
|- | |- | ||
| <small>Close Dialog by External Means / | | <small>Close Dialog by External Means / | ||
Line 105: | Line 291: | ||
2. Click outside of the notifications doorhanger. | 2. Click outside of the notifications doorhanger. | ||
3. Verify the notifications doorhanger is dismissed.</small> | 3. Verify the notifications doorhanger is dismissed.</small> | ||
|- | |- | ||
| L<small>earn More Link</small> || <small>Verify clicking on the "Learn more" link opens the target page. | | L<small>earn More Link</small> || <small>Verify clicking on the "Learn more" link opens the target page. | ||
Line 114: | Line 299: | ||
3. Verify the browser redirects to https://www.mozilla.org/en-US/firefox/push/ (in a new tab).</small> | 3. Verify the browser redirects to https://www.mozilla.org/en-US/firefox/push/ (in a new tab).</small> | ||
|- | |- | ||
| <small>Auto Close (Timeout)</small> || <small>Verify that a notification is auto-closed after X seconds. | | <small>Auto Close (Timeout)</small> || <small>Verify that a notification is auto-closed after X seconds. | ||
Line 123: | Line 307: | ||
3. Verify the notification appears and auto-dismisses after X seconds. | 3. Verify the notification appears and auto-dismisses after X seconds. | ||
4. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 4. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Blocking Notifications</small> || <small>Verify that blocking notifications prevents notifications from displaying. | | <small>Blocking Notifications</small> || <small>Verify that blocking notifications prevents notifications from displaying. | ||
Line 138: | Line 321: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Not Now</small> || <small>Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again. | | <small>Not Now</small> || <small>Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again. | ||
Line 152: | Line 334: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Permission Changes</small> || <small>Verify changing notification permissions in the address bar causes the notification permissions screen to reappear. | | <small>Permission Changes</small> || <small>Verify changing notification permissions in the address bar causes the notification permissions screen to reappear. | ||
Line 190: | Line 371: | ||
18. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 18. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Programmatic Close</small> || V<small>erify programmatically closing a notification causes it to immediately disappear. | | <small>Programmatic Close</small> || V<small>erify programmatically closing a notification causes it to immediately disappear. | ||
Line 204: | Line 384: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Title Characters & Numbers</small> || <small>Verify title can contain special characters like % or /. | | <small>Title Characters & Numbers</small> || <small>Verify title can contain special characters like % or /. | ||
Line 218: | Line 397: | ||
Set Show Notifications permission to "Always Ask".</small> | Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Swipe to Close</small> || <small>Verify notification can be manually dismissed by swiping it (OS X only). | | <small>Swipe to Close</small> || <small>Verify notification can be manually dismissed by swiping it (OS X only). | ||
Line 228: | Line 406: | ||
4. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 4. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Require Interaction = True</small> || <small>Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only). | | <small>Require Interaction = True</small> || <small>Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only). | ||
Line 242: | Line 419: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Require Interaction = False</small> || <small>Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds. | | <small>Require Interaction = False</small> || <small>Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds. | ||
Line 255: | Line 431: | ||
5. Verify the notification auto dismisses after X seconds. | 5. Verify the notification auto dismisses after X seconds. | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Redirection = New Tab</small> || <small>Description: Verify clicking on a notification opens a specified URL. | | <small>Redirection = New Tab</small> || <small>Description: Verify clicking on a notification opens a specified URL. | ||
Line 267: | Line 442: | ||
4. Verify that https://www.mozilla.org/en-US/ opens in a new tab. | 4. Verify that https://www.mozilla.org/en-US/ opens in a new tab. | ||
5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Redirection = Current Tab</small> || <small>Verify setting target opens specified URL in the specified window. | | <small>Redirection = Current Tab</small> || <small>Verify setting target opens specified URL in the specified window. | ||
Line 282: | Line 456: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Redirection = Same Window New Tab</small> || <small>Verify setting a target causes a notification to open in the same window. | | <small>Redirection = Same Window New Tab</small> || <small>Verify setting a target causes a notification to open in the same window. | ||
Line 299: | Line 472: | ||
7. Verify that https://www.mozilla.org/en-US/ opens in the same tab as step 5. | 7. Verify that https://www.mozilla.org/en-US/ opens in the same tab as step 5. | ||
8. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 8. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Target = _blank</small> || <small>Verify setting a _blank target causes a notification to open in the new window. | | <small>Target = _blank</small> || <small>Verify setting a _blank target causes a notification to open in the new window. | ||
Line 318: | Line 490: | ||
8. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 8. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Multi/Repeat Message (Stacking)</small> || <small>Verify clicking the pop Notification button causes the notification to display multiple times. | | <small>Multi/Repeat Message (Stacking)</small> || <small>Verify clicking the pop Notification button causes the notification to display multiple times. | ||
Line 331: | Line 502: | ||
5. Verify there are 11 notifications in the OSX notifications tray. | 5. Verify there are 11 notifications in the OSX notifications tray. | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Hover Over Notification</small> || <small>Verify the notification is not dismissed when hovering over the notification. | | <small>Hover Over Notification</small> || <small>Verify the notification is not dismissed when hovering over the notification. | ||
Line 345: | Line 515: | ||
5. Verify that the notification disappears after X seconds. | 5. Verify that the notification disappears after X seconds. | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Hover Over Submenu</small> || <small>Verify the notification is not dismissed when hovering over an item in the submenu (OS X only). | | <small>Hover Over Submenu</small> || <small>Verify the notification is not dismissed when hovering over an item in the submenu (OS X only). | ||
Line 361: | Line 530: | ||
6. Verify notification doorhanger appears. | 6. Verify notification doorhanger appears. | ||
7. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 7. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Preferences - Choose</small> || <small>Verify allowing notifications reports correctly in about:preferences#content | | <small>Preferences - Choose</small> || <small>Verify allowing notifications reports correctly in about:preferences#content | ||
Line 376: | Line 544: | ||
6.teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6.teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Notification Settings: <br /> | | <small>Notification Settings: <br /> | ||
Line 392: | Line 559: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Notification: Preferences - Blocking</small> || <small>Verify blocking notifications reports correctly in about:preferences#content | | <small>Notification: Preferences - Blocking</small> || <small>Verify blocking notifications reports correctly in about:preferences#content | ||
Line 406: | Line 572: | ||
6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Notification: Title > Size and Text Wrapping</small> || <small>Verify a long "Title" doesn't cause the notification to re-size. | | <small>Notification: Title > Size and Text Wrapping</small> || <small>Verify a long "Title" doesn't cause the notification to re-size. | ||
Line 418: | Line 583: | ||
5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Notification: Body > Size and Text Wrapping</small> || <small>Verify a long "Body Text" doesn't cause the notification to re-size. | | <small>Notification: Body > Size and Text Wrapping</small> || <small>Verify a long "Body Text" doesn't cause the notification to re-size. | ||
Line 430: | Line 594: | ||
5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Notification: Title Characters & Numbers</small> || <small>Verify title can contain special characters like % or /. | | <small>Notification: Title Characters & Numbers</small> || <small>Verify title can contain special characters like % or /. | ||
Line 441: | Line 604: | ||
4. Verify the title text is accurately displayed. | 4. Verify the title text is accurately displayed. | ||
5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |- | ||
| <small>Notification: Body Text Characters & Numbers</small> || <small>Verify body can contain special characters like % or /. | | <small>Notification: Body Text Characters & Numbers</small> || <small>Verify body can contain special characters like % or /. | ||
Line 453: | Line 615: | ||
4. Verify the body text is accurately displayed. | 4. Verify the body text is accurately displayed. | ||
5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask".</small> | ||
|- | |||
| <small>Pop-up Settings > Do not disturb me until I restart Nightly</small> | |||
|| <small>1. Access https://pdehaan.github.io/push-notification-test/ | |||
2. Click the pop Notification button | |||
3. Set the hanger to Always Receive Notifications | |||
4. Verify a popup notification is displayed | |||
5. Click the settings icon on the notification pop-up | |||
6. Select the option Do not disturb me until I restart Nightly | |||
7. Click pop Notification button several times and ensure the pop-up dialog for the notification does not appear | |||
8. Click the lock icon and select Always Ask | |||
9. Close and restart the browser</small> | |||
|- | |||
| <small>Content > Block pop-up windows | |||
(about:preferences#content)</small> | |||
|| <small>1. Access https://pdehaan.github.io/push-notification-test/ | |||
2. Click the pop Notification button | |||
3. Set the hanger to Always Receive Notifications | |||
4. Verify a popup notification is displayed | |||
5. Close the popup | |||
6. Select Tools > Options and then click Content on left side bar | |||
7. Check the box Block pop-up windows | |||
8. Return to https://pdehaan.github.io/push-notification-test/ | |||
9. Click the pop Notification button | |||
10. Verify pop up dialog for the notification does not display | |||
11. Click on lock icon in the address bar and set Show Notifications permission to "Always Ask".</small> | |||
|- | |||
| <small>Pop-up Settings > Disable notification <br /> | |||
from pdehaan.github.io</small> | |||
|| <small>1. Access https://pdehaan.github.io/push-notification-test/ | |||
2. Click the pop Notification button | |||
3. Set the hanger to Always Receive Notifications | |||
4. Verify a popup notification is displayed | |||
5. Click the settings icon on the notification pop-up | |||
6. Select the option Disable notification from pdehaan.github.io | |||
7. Verify the pop-up for the Notification dialog is removed | |||
8. Click the pop Notification button | |||
9. Verify the door hanger is displayed with default set to Always Receive Notification</small> | |||
|- | |||
| <small>Pop-up Settings > Notification settings</small> || <small>1. Access https://pdehaan.github.io/push-notification-test/ | |||
2. Click the lock icon and set the Permission option to Always Ask | |||
3. Click the pop Notification button | |||
4. Verify the door hanger displays | |||
5. Set the option to Always Receive Notifications | |||
6. Verify the pop-up dialog for the notification is displayed | |||
7. Click the Settings icon on the pop-up | |||
8. Select the option Notification Settings | |||
9. Verify the current window opens a new tab for Options (about:preferences#content) | |||
10. Click the lock icon and set the option to Always Ask</small> | |||
|- | |- | ||
|} | |} | ||
Line 521: | Line 765: | ||
* Test Do Not Disturb till Fx is restarted. | * Test Do Not Disturb till Fx is restarted. | ||
* Test edge case - multiple browser profiles and multiple tabs doing SW/push subscription. | * Test edge case - multiple browser profiles and multiple tabs doing SW/push subscription. | ||
== PUSH NOTIFICATIONS - FENNEC== | |||
Test workbook - [https://docs.google.com/spreadsheets/d/1tXCl9QN7alRER292VsrXK_stxFB-4oVisr0TvkNpxkc/edit#gid=798524916/ click here] | |||
== PUSH API - REFERENCE == | == PUSH API - REFERENCE == | ||
Line 553: | Line 801: | ||
| '''Staging:''' || https://updates-autopush.stage.mozaws.net/health | | '''Staging:''' || https://updates-autopush.stage.mozaws.net/health | ||
|} | |} | ||
= CONTACTS = | = CONTACTS = |
Latest revision as of 15:22, 5 July 2016
Test Plan (Overview) 
SUMMARY
- The purpose of this wiki is to serve as a general test plan for verifying desktop Push notifications.
OWNERSHIP
- Manual tests will be defined / outlined and executed by the Cloud Services QA Team
- Manual testing will be handed off to Softvision QA Team
- Automated E2E smoke tests will be created by the Cloud Services QA Team
- Any further feature automation is TBD (by Firefox Quality Engineering Team)
TEST RESULTS
- Test results will be posted in Bugzilla (component: TBD).
SIGN-OFF CRITERIA
Cloud Services QA team will verify that:
- Desktop push notifications are working properly in FF Nightly.
- Interaction between push-service (auto-push[3]), Service Workers[1], and desktop UI is working as expected.
Test Objectives
Following table contains main features to be tested:
Ref | Function | Test Objective | Evaluation Criteria |
---|---|---|---|
1 | Notification - basic scenarios | Pop-up notifications display or not based on permissions and settings | Notifications display or disable accordingly. |
2 | Multi-Process (e10) Enable & Disabled, Private Window | Validate that Notifications display for all window types | Multi-Process (e10) and Private windows display notifications |
Test Types
Type of Testing | Required (Yes/No) | Owners | Details/Comments |
---|---|---|---|
Manual | Yes | Moz QA Eng Team LV | |
Automation | No | ||
Performance | No | ||
Security | No | ||
Usability | No | ||
Metrics/Telemetry | No |
Builds
This section should contain links for builds with the feature -
Nightly builds with the search refactor fix can be reached at link
Test Execution Schedule
The following table identifies the anticipated testing period available for test execution.
Project phase | Start Date | End Date |
---|---|---|
Start project | 10.23.2015 | |
Study documentation/specs received from developers | 10.23.2015 | - |
QA - Test plan creation | 10.23.2015 | |
QA - Test cases/Env preparation | 10.23.2015 | - |
QA - Nightly Testing | 10.23.2015 | 12.16.2015 |
QA - Aurora Testing | ||
QA - Beta Testing | ||
Release Date |
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 |
Test cases
Overview
Platform(s) Windows 10, Windows 8, Windows 8.1, Windows Vista, Windows 7, Ubuntu 14.04, Mac OS X 10
Daily Smoke Test will test the following: [Cycle>Check Enable multi-process Nightly, Unchecked Enable multi-process, Nightly Private Window]
Test Name | Description | |
---|---|---|
Notification Dialog | Verify that trying to display a notification causes a dialog to appear. | |
Notification Permissions | Verify that Permissions can be set & adhered to [Always Ask, Allow, Block] . | |
Notification: Timeout | Verify that a notification is auto-closed after X seconds. | |
Notification: Blocking | Verify that blocking notifications prevents notifications from displaying. | |
Notification: Not Now | Verify clicking "Not Now" from the notification permissions door-hanger causes the permissions popup to appear again. | |
Notification: Close Button | Verify notification can be dismissed by clicking the close button. | |
Notification: Redirection | Verify clicking on a notification opens a specified URL. | |
Notification: Pop Up Multi Message | Verify clicking the pop Notification button causes the notification to display multiple times. |
Test Areas
Test Areas | Covered | Details |
---|---|---|
Private Window | [DONE] | |
Multi-Process Enabled | [DONE] | |
Multi-process Disabled | [DONE] | |
Display (HiDPI) | N/A | |
Interaction (scroll, zoom) | N/A | |
Theme (high contrast) | N/A |
Test suites
Full Test Suite - can be reached at link
Bugs Work
Bug information can be displayed at link
Sign off
Criteria
- 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 45.0a1
- [Complete Push 1.0] Full Test Suite results [1]
Beta testing 44.0b4
- [Complete Push 1.0] Full Test Suite results [2]
- Manual testing covered Windows 7 x64, Windows 8 x64, Windows 8.1 x64 Windows 10 x64, Windows Vista x32, Ubuntu 14.04 x32, Mac OS x 10.11
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] | |
Performance Testing | N/A | |
All Defects Logged | [DONE] | |
Critical/Blockers Fixed and Verified | [DONE] | |
Daily Status Report (email/etherpad statuses/ gdoc with results) | [DONE] | |
Metrics/Telemetry | N/A | |
UAT Test Cases (signoff By Users) | N/A | |
QA Signoff - Nightly Release | [DONE] | Email sent Jan 04, 2016 [Jan 06, 2016] |
QA Postmortem | [DONE] | Meeting Notes |
REFERENCE
- [1] http://www.w3.org/TR/service-workers/
- [2] http://www.w3.org/TR/push-api/
- [3] autopush: https://github.com/mozilla-services/autopush/
- [4] push-service: https://github.com/mozilla-services/push-service
Test Cases
NOTIFICATIONS API
Common
Shared steps between Notifications tests:
setup()
- Open https://pdehaan.github.io/push-notification-test/
- Click pop Notification button.
teardown()
- Click on lock icon in the address bar.
- Set Show Notifications permission to "Always Ask".
Weekly: In-Depth & Exploratory Tests
Notes: Manual/Automation: Test will be conducted manually Browser Window: Test will be conducted in standard browser window and Private browser windows Platforms: 32bit/64 bit Windows 7, Vista, 8, 8.1, 10; Ubuntu 14.04 (x64) and Mac OS X 10.9.5.
Title | Description |
---|---|
Doorhanger default state test | Verify the doorhanger reports if the site has requested any notification permissions.
1. Click the lock icon in the address bar. 2. Verify the Verify the doorhanger reports if the site has requested any notification permissions. |
Pop-up Dialog | Verify that trying to display a notification causes a dialog to appear.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Click the "close" button in the upper right corner of the notifications doorhanger. 3. Click "pop Notification" button. 4. Verify the notification doorhanger appears again and requests permissions. |
Close Dialog by External Means /
Non-Close Button |
Verify clicking outside of a notification dismisses it automatically (OS X only).
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Click outside of the notifications doorhanger. 3. Verify the notifications doorhanger is dismissed. |
Learn More Link | Verify clicking on the "Learn more" link opens the target page.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Click the "Learn more..." link in the notifications doorhanger. 3. Verify the browser redirects to https://www.mozilla.org/en-US/firefox/push/ (in a new tab). |
Auto Close (Timeout) | Verify that a notification is auto-closed after X seconds.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Verify the notification appears and auto-dismisses after X seconds. 4. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Blocking Notifications | Verify that blocking notifications prevents notifications from displaying.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Block Notifications" from the notifications doorhanger. 3. Verify no notification appears. 4. Click "pop Notification" button. 5. Verify no notification appears. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Not Now | Verify clicking "Not Now" from the notification permissions doorhanger causes the permissions popup to appear again.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Not Now" from the notifications doorhanger. 3. Verify no notification appears. 4. Click "pop Notification" button. 5. Verify notification doorhanger appears again. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Permission Changes | Verify changing notification permissions in the address bar causes the notification permissions screen to reappear.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Verify notification appears and auto-dismisses after X seconds. 4. Click the lock button in the address bar. 5. Change notification permissions to "Always Ask". 6. Click "pop Notification" button. 7. Verify notification doorhanger appears again. 8. Select "Always Show Notifications" from the notifications doorhanger. 9. Verify notification appears. 10. Click the lock button in the address bar. 11. Change notification permissions to "Block". 12. Click "pop Notification" button. 13. Verify no notification appears. 14. Click the lock button in the address bar. 15. Change notification permissions to "Allow". 16. Click "pop Notification" button appears. 17. Verify notification appears. 18. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Programmatic Close | Verify programmatically closing a notification causes it to immediately disappear.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Verify notification appears. 4. Click "closeNotification" button. 5. Verify notification is immediately dismissed. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Title Characters & Numbers | Verify title can contain special characters like % or /.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "Title Text"to a a long string which contains special characters like %. 3. Click "pop Notification" button. 4. Verify the title text is accurately displayed. 5. teardown() = Click on lock icon in the address bar. Set Show Notifications permission to "Always Ask". |
Swipe to Close | Verify notification can be manually dismissed by swiping it (OS X only).
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Click and drag notification to dismiss it. 4. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Require Interaction = True | Verify setting `requireInteraction` to true causes the notification to remain open until explicitly closed (OS X only).
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Set "requireInteraction" dropdown to `true`. 4. Click "pop Notification" button. 5. Verify that the notification persists until explicitly closed. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Require Interaction = False | Verify setting `requireInteraction` to false (default) causes the notification to auto-close after X seconds.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Set "requireInteraction" dropdown to `false`. 4. Click "pop Notification" button. 5. Verify the notification auto dismisses after X seconds. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Redirection = New Tab | Description: Verify clicking on a notification opens a specified URL.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Click on the notification. 4. Verify that https://www.mozilla.org/en-US/ opens in a new tab. 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Redirection = Current Tab | Verify setting target opens specified URL in the specified window.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "target" to `_top`. 3. Click "pop Notification" button. 4. Select "Always Show Notifications" from the notifications doorhanger. 5. Verify that https://www.mozilla.org/en-US/ opens in the current tab. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Redirection = Same Window New Tab | Verify setting a target causes a notification to open in the same window.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "target" to `foobar`. 3. Click "pop Notification" button. 4. Select "Always Show Notifications" from the notifications doorhanger. 5. Verify that https://www.mozilla.org/en-US/ opens in a new tab. 6. Click "pop Notification" button. 7. Verify that https://www.mozilla.org/en-US/ opens in the same tab as step 5. 8. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Target = _blank | Verify setting a _blank target causes a notification to open in the new window.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "target" to `_blank` (default). 3. Click "pop Notification" button. 4. Select "Always Show Notifications" from the notifications doorhanger. 5. Verify that https://www.mozilla.org/en-US/ opens in a new tab. 6. Click "pop Notification" button. 7. Verify that https://www.mozilla.org/en-US/ opens in a new tab. 8. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Multi/Repeat Message (Stacking) | Verify clicking the pop Notification button causes the notification to display multiple times.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Click "pop Notification" button 10 times. 4. Verify the notification only appears once (and says "9 new notifications"). 5. Verify there are 11 notifications in the OSX notifications tray. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Hover Over Notification | Verify the notification is not dismissed when hovering over the notification.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Hover over the notification and make sure the notification is not auto-dismissed. 4. Move mouse off of notification. 5. Verify that the notification disappears after X seconds. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Hover Over Submenu | Verify the notification is not dismissed when hovering over an item in the submenu (OS X only).
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Hover over the notification and click the "..." button in the lower-right corner. 4. Click "Disable notifications from this site" menu option. 5. Click "pop Notification" button. 6. Verify notification doorhanger appears. 7. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Preferences - Choose | Verify allowing notifications reports correctly in about:preferences#content
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Open about:preferences#content 4. Click "Choose" button. 5. Verify that https://pdehaan.github.io/ appears in site list and it's status is set to "Allow". 6.teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Notification Settings: Preferences - Blocking |
Verify clicking Notification Settings in the notification causes the preferences page to appear.
1. setup() = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Show Notifications" from the notifications doorhanger. 3. Hover over the notification and click the "..." button in the lower-right corner. 4. Click "Notification settings" menu option. 5. Verify that about:preferences#content opens in a new tab. 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Notification: Preferences - Blocking | Verify blocking notifications reports correctly in about:preferences#content
1. setup()) = Open https://pdehaan.github.io/push-notification-test/ and then Click pop Notification button. 2. Select "Always Block Notifications" from the notifications doorhanger. 3. Open about:preferences#content 4. Click "Choose" button. 5. Verify that https://pdehaan.github.io/ appears in site list and it's status is set to "Block". 6. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Notification: Title > Size and Text Wrapping | Verify a long "Title" doesn't cause the notification to re-size.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "Title"to a a long string. 3. Click "pop Notification" button. 4. Verify the title text displays and doesn't re-size notification popup. Width remains static, length may adjust. 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Notification: Body > Size and Text Wrapping | Verify a long "Body Text" doesn't cause the notification to re-size.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "Body Text"to a a long string. 3. Click "pop Notification" button. 4. Verify the body text displays text and doesn't re-size notification popup. Width remains static, length may adjust. 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Notification: Title Characters & Numbers | Verify title can contain special characters like % or /.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "Title Text"to a a long string which contains special characters like %. 3. Click "pop Notification" button. 4. Verify the title text is accurately displayed. 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Notification: Body Text Characters & Numbers | Verify body can contain special characters like % or /.
1. Open https://pdehaan.github.io/push-notification-test/ 2. Set "Body Text"to a a long string which contains special characters like % or an emoji like :D 3. Click "pop Notification" button. 4. Verify the body text is accurately displayed. 5. teardown() = Click on lock icon in the address bar & Set Show Notifications permission to "Always Ask". |
Pop-up Settings > Do not disturb me until I restart Nightly | 1. Access https://pdehaan.github.io/push-notification-test/
2. Click the pop Notification button 3. Set the hanger to Always Receive Notifications 4. Verify a popup notification is displayed 5. Click the settings icon on the notification pop-up 6. Select the option Do not disturb me until I restart Nightly 7. Click pop Notification button several times and ensure the pop-up dialog for the notification does not appear 8. Click the lock icon and select Always Ask 9. Close and restart the browser |
Content > Block pop-up windows
(about:preferences#content) |
1. Access https://pdehaan.github.io/push-notification-test/
2. Click the pop Notification button 3. Set the hanger to Always Receive Notifications 4. Verify a popup notification is displayed 5. Close the popup 6. Select Tools > Options and then click Content on left side bar 7. Check the box Block pop-up windows 8. Return to https://pdehaan.github.io/push-notification-test/ 9. Click the pop Notification button 10. Verify pop up dialog for the notification does not display 11. Click on lock icon in the address bar and set Show Notifications permission to "Always Ask". |
Pop-up Settings > Disable notification from pdehaan.github.io |
1. Access https://pdehaan.github.io/push-notification-test/
2. Click the pop Notification button 3. Set the hanger to Always Receive Notifications 4. Verify a popup notification is displayed 5. Click the settings icon on the notification pop-up 6. Select the option Disable notification from pdehaan.github.io 7. Verify the pop-up for the Notification dialog is removed 8. Click the pop Notification button 9. Verify the door hanger is displayed with default set to Always Receive Notification |
Pop-up Settings > Notification settings | 1. Access https://pdehaan.github.io/push-notification-test/
2. Click the lock icon and set the Permission option to Always Ask 3. Click the pop Notification button 4. Verify the door hanger displays 5. Set the option to Always Receive Notifications 6. Verify the pop-up dialog for the notification is displayed 7. Click the Settings icon on the pop-up 8. Select the option Notification Settings 9. Verify the current window opens a new tab for Options (about:preferences#content) 10. Click the lock icon and set the option to Always Ask |
Sign off
Criteria All the test cases must be executed. All the blocker, critical, major bugs have been fixed.
PUSH API
Common
Shared steps between Push API tests:
setup()
- Open https://pdehaan.github.io/push-notification-test/
- Click "register Service Worker" button.
teardown()
- Click "Unregister Service Worker" button.
Tests
Name: TBD
Description: Verify registering a service worker causes it to appear in about:serviceworkers.
Steps:
setup()
- Verify HTML output is:
registering service worker
registered service worker. scope: https://pdehaan.github.io/push-notification-test/
- Click "Check Service Worker" button.
- Verify HTML output is:
checking service worker
Service worker active
- Open about:serviceworkers
- Verify service worker is registered to https://pdehaan.github.io/ origin.
- Go back to https://pdehaan.github.io/push-notification-test/
- Click "Unregister Service Worker" button.
- Open about:serviceworkers
- Verify "No Service Workers registered." message (refresh page if it was previously open tab).
teardown()
Name: TBD
Description: Verify sending a message to a service worker causes it to echo the message.
Steps:
setup()
- Click "subscribe to push" button.
- Click "sendMsgToSW" button.
- Verify "messageChannel.port1.onmessage: SW echo: HelloWorld" output on page.
- Change text box value to "999".
- Click "sendMsgToSW" button.
- Verify "messageChannel.port1.onmessage: SW echo: 999" output on page.
teardown()
TODO
Test's for:
- Quota, the limit of silent push messages that a user agent (UA) can receive when off web site before UA is unsubscribed from push for that domain. Approximately 30 messages if send every five minutes when off site, less for longer duration.
- Restart browser and off site behaviors
- TTL - time which a message will be dropped if UA is is not online. For example: if TTL=60 and a UA is offline for 59 seconds, they should receive the push message when they come online. If online after 61 seconds, message will be dropped, and UA will not receive message.
- Test different browser modes: e10s/Multi-process mode, Private browsing mode (ServiceWorkers don't work in that mode)
- Test unregistering service worker and verify notifications were not sent.
- Test disable push events should block any push message communication to device.
- Test Do Not Disturb till Fx is restarted.
- Test edge case - multiple browser profiles and multiple tabs doing SW/push subscription.
PUSH NOTIFICATIONS - FENNEC
Test workbook - click here
PUSH API - REFERENCE
Push WebSocket Endpoints:
source: | https://mana.mozilla.org/wiki/display/SVCOPS/SimplePush#SimplePush-Deployments |
PUSH ENDPOINTS - STAGE:
Production: | wss://push.services.mozilla.com/ |
Production: | wss://updates.push.services.mozilla.com/ |
Staging: | wss://autopush.stage.mozaws.net/ |
Staging: | wss://updates-autopush.stage.mozaws.net/ |
Dev: | wss://autopush.dev.mozaws.net/ |
STATUS / HEALTH:
Production: | https://updates.push.services.mozilla.com/health |
Production: | https://updates.push.services.mozilla.com/status |
Staging: | https://updates-autopush.stage.mozaws.net/health |
CONTACTS
- pdehaan@mozilla
- rpappalardo@mozilla
- ryanvm@mozilla