Introduction
This document provides a comprehensive User Story Mapping for the ION OTT application, derived from all ION-TEST Xray test cases in Jira. The mapping covers all major screens and features targeting TV (Android, iOS/tvOS, Tizen, webOS), Mobile, Tablet, and Desktop platforms.
Each user story follows the format: As a [user/operator], I want to [action] so that [benefit]
User Story IDs follow the format: US-[SCREEN_CODE]-[NUMBER]
Total test cases analyzed: ~1,300+ across 33 feature areas.
1. Sign On / Authentication
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-SIGNON-001 |
As a user, I want the app to auto-login using stored device credentials so that I don't need to manually enter my username/password on every launch |
IONTEST-176, IONTEST-181, IONTEST-195, IONTEST-200 |
Token-based auto-signin |
|
US-SIGNON-002 |
As a user, I want my access and refresh tokens to be automatically managed so that my session remains active without interruption |
IONTEST-183, IONTEST-184, IONTEST-185, IONTEST-186, IONTEST-187 |
Token lifecycle |
|
US-SIGNON-003 |
As a user, I want to auto-login when my device comes back online after offline or standby so that I have seamless connectivity recovery |
IONTEST-182, IONTEST-192, IONTEST-195, IONTEST-1407 |
Resume scenarios |
|
US-SIGNON-004 |
As a user, I want to see the login screen with an appropriate message when my session expires or device is deactivated |
IONTEST-183, IONTEST-186, IONTEST-189, IONTEST-190, IONTEST-239, IONTEST-1423 |
Session expiry handling |
|
US-SIGNON-005 |
As a user, I want to see informative messages during first launch authorization so that I am informed about the app loading progress |
IONTEST-193, IONTEST-194, IONTEST-198 |
First launch UX |
|
US-SIGNON-006 |
As a user, I want to receive clear error messages when logging in with a suspended account or incorrect credentials |
IONTEST-196, IONTEST-228, IONTEST-229, IONTEST-235 |
Error states |
|
US-SIGNON-007 |
As an operator, I want to enable/disable auto-sign-in per device using Serial number/MAC/DeviceId |
IONTEST-199, IONTEST-200, IONTEST-201, IONTEST-202 |
Operator-level config |
|
US-SIGNON-008 |
As a launcher device user, I want to see an Android Settings shortcut on the login screen so that I can troubleshoot connectivity issues |
IONTEST-204, IONTEST-205, IONTEST-206, IONTEST-207 |
STB/launcher specific |
|
US-SIGNON-009 |
As a mobile user, I want to show or hide my password while typing on the login screen |
IONTEST-209, IONTEST-210 |
Mobile only |
|
US-SIGNON-010 |
As a user, I want to see Terms and Conditions in my display language on first launch |
IONTEST-213, IONTEST-214 |
Localization |
|
US-SIGNON-011 |
As a user, I want to see a Forgot username/password link on the sign-on screen |
IONTEST-216 |
Account recovery |
|
US-SIGNON-012 |
As a first-time user, I want to see an onboarding guide only on my first launch |
IONTEST-218, IONTEST-219 |
First-use experience |
|
US-SIGNON-013 |
As a user, I want to see a User Agreement popup on first launch and consent before using the app |
IONTEST-222, IONTEST-223, IONTEST-224, IONTEST-225 |
Consent management |
|
US-SIGNON-014 |
As a multi-account user, I want to see an account selection screen after login |
IONTEST-236, IONTEST-237, IONTEST-238, IONTEST-241, IONTEST-246 |
Multi-account |
|
US-SIGNON-015 |
As a user, I want my language preferences and parental lock to be set up after account selection |
IONTEST-243 |
Post-login setup |
|
US-SIGNON-016 |
As a user, I want to remain in the same app state after a brief internet disconnection/reconnection |
IONTEST-242, IONTEST-248 |
Connectivity resilience |
|
US-SIGNON-017 |
As a user, I want to see the login screen after clearing app data so that I can start a fresh session |
IONTEST-245 |
App data reset |
|
US-SIGNON-018 |
As a TV user on LG webOS or Tizen, I want an Exit Key option so that I can close the application |
IONTEST-230 |
Smart TV platform |
|
US-SIGNON-019 |
As a mobile user, I want to configure the app launch screen |
IONTEST-231 |
Mobile config |
2. Main Menu & Navigation
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-MENU-001 |
As a user, I want to navigate between all major app screens from the main menu |
IONTEST-1395 |
Core navigation |
|
US-MENU-002 |
As an operator, I want to configure menu items, labels, icons, and display order |
IONTEST-1057, IONTEST-1058, IONTEST-1059 |
Operator customization |
|
US-MENU-003 |
As an operator, I want to show/hide specific menu items based on platform configuration |
IONTEST-1395, IONTEST-889 |
Platform config |
|
US-MENU-004 |
As a user, I want the settings icon to be visually grayed out when not focused |
IONTEST-1405, IONTEST-1406 |
Visual feedback |
3. Discover Screen
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-DISCOVER-001 |
As a user, I want to see multiple content strips/rails on the Discover screen |
IONTEST-73, IONTEST-74, IONTEST-76, IONTEST-408, IONTEST-419 |
Core rail display |
|
US-DISCOVER-002 |
As a user, I want to see live, recorded, and VOD content in Discover strips |
IONTEST-79, IONTEST-80, IONTEST-418 |
Content variety |
|
US-DISCOVER-003 |
As a user, I want to see a Continue Watching strip with my partially watched content |
IONTEST-80, IONTEST-417, IONTEST-1457, IONTEST-1458 |
Continue watching |
|
US-DISCOVER-004 |
As a user, I want to see personalized Suggestions For You and recommendations in Discover |
IONTEST-81, IONTEST-97, IONTEST-98, IONTEST-99, IONTEST-100, IONTEST-143, IONTEST-144, IONTEST-145, IONTEST-146 |
Personalization |
|
US-DISCOVER-005 |
As an operator, I want to dynamically update content strip layouts while the app is active |
IONTEST-424, IONTEST-425, IONTEST-428, IONTEST-429, IONTEST-430 |
Dynamic content |
|
US-DISCOVER-006 |
As an operator, I want to configure and reorder rail positions |
IONTEST-420, IONTEST-422, IONTEST-432 |
Rail management |
|
US-DISCOVER-007 |
As a user, I want to see third-party app tiles (Netflix, Amazon Prime) in Discover strips |
IONTEST-405, IONTEST-406, IONTEST-407, IONTEST-409, IONTEST-410 |
3rd party integration |
|
US-DISCOVER-008 |
As a user, I want to see a See More option for content-rich strips and an error for unsubscribed content |
IONTEST-433, IONTEST-412, IONTEST-413 |
Content access |
|
US-DISCOVER-009 |
As a user, I want the Discover screen strips to display in my selected UI language |
IONTEST-73 |
Localization |
4. Live TV Screen
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-LIVETV-001 |
As a user, I want to see only my subscribed channels in the Live TV screen |
IONTEST-368, IONTEST-940 |
Subscription filtering |
|
US-LIVETV-002 |
As a user, I want to see a Guide button on the Live screen |
IONTEST-366 |
Guide access |
|
US-LIVETV-003 |
As a user, I want to see a No Channels message when no live events are available |
IONTEST-367 |
Empty state |
|
US-LIVETV-004 |
As a user, I want the Live TV screen to display correctly in RTL mode for Arabic |
IONTEST-369 |
RTL support |
|
US-LIVETV-005 |
As a mobile user, I want to search content directly from the Live screen |
IONTEST-370 |
Mobile search |
|
US-LIVETV-006 |
As a user, I want to schedule or cancel a recording for a live event from the Live screen |
IONTEST-371 |
Recording from Live |
|
US-LIVETV-007 |
As a user, I want to favorite or unfavorite live and episodic content from the Live screen |
IONTEST-372 |
Favorites management |
|
US-LIVETV-008 |
As a user, I want to play a catchup episode from a live episodic media card |
IONTEST-374 |
Catchup from Live |
|
US-LIVETV-009 |
As a user, I want to filter and sort channels by genre in the Live screen |
IONTEST-375 |
Genre filtering |
|
US-LIVETV-010 |
As a user, I want live events to auto-refresh so that I always see currently airing programs |
IONTEST-376 |
Event refresh |
|
US-LIVETV-011 |
As a mobile user, I want to play parentally restricted content after entering a PIN |
IONTEST-373 |
Parental control |
5. EPG (Electronic Program Guide)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-EPG-001 |
As a user, I want to view a full-screen TV program guide grid with channels and time slots |
IONTEST-1307, IONTEST-1338, IONTEST-1342 |
Core EPG grid |
|
US-EPG-002 |
As a user, I want to horizontally and vertically scroll through the EPG grid |
IONTEST-1297, IONTEST-1298, IONTEST-1299, IONTEST-1339 |
Grid navigation |
|
US-EPG-003 |
As a user, I want to tune to a channel and start playback by pressing Play/OK on a live or catch-up event in the EPG |
IONTEST-254, IONTEST-1335 |
Play from EPG |
|
US-EPG-004 |
As a user, I want to open a media card for any event in the EPG |
IONTEST-255, IONTEST-1312 |
Media card from EPG |
|
US-EPG-005 |
As a user, I want to see reverse EPG (catchup events) in the program guide |
IONTEST-1306, IONTEST-1331, IONTEST-1349 |
Reverse EPG |
|
US-EPG-006 |
As a user, I want to fast navigate through the EPG using long-press FF/RW keys |
IONTEST-1348, IONTEST-1350, IONTEST-1351, IONTEST-1353, IONTEST-1354 |
Fast navigation |
|
US-EPG-007 |
As a user, I want to see a date picker in the EPG so that I can jump directly to a specific date |
IONTEST-1323 |
Date picker |
|
US-EPG-008 |
As a user, I want to see a channel info card with current playing info when browsing the guide |
IONTEST-1344, IONTEST-1345, IONTEST-1352 |
Info card |
|
US-EPG-009 |
As a user, I want to favorite events/channels from the EPG |
IONTEST-1301, IONTEST-1302, IONTEST-1328 |
Favorites in EPG |
|
US-EPG-010 |
As a user, I want to apply genre/favorite filters in the EPG |
IONTEST-1329, IONTEST-1346, IONTEST-996, IONTEST-997, IONTEST-1000, IONTEST-1001 |
Filtering |
|
US-EPG-011 |
As a user, I want to see the EPG in RTL layout when using Arabic |
IONTEST-1327 |
RTL support |
|
US-EPG-012 |
As a user, I want to see a No Channels message when no channels are available |
IONTEST-1340 |
Empty state |
|
US-EPG-013 |
As a TV user, I want a DCE keyboard accessible from the EPG |
IONTEST-1333, IONTEST-1334, IONTEST-354 |
DCE in EPG |
|
US-EPG-014 |
As a user, I want to see channel paging and blocked channel indicators in the EPG |
IONTEST-1309, IONTEST-1331 |
Channel access indicators |
|
US-EPG-015 |
As a mobile user, I want to search content from within the Guide screen |
IONTEST-1330 |
Mobile search from EPG |
|
US-EPG-016 |
As a user, I want to see a Recommendation Strip within the Guide |
IONTEST-1312, IONTEST-1313, IONTEST-1314, IONTEST-1315, IONTEST-1316, IONTEST-1317, IONTEST-1318 |
Recommendations in EPG |
6. Saved Screen
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-SAVED-001 |
As a user, I want to view all my NPVR recordings in the Saved screen |
IONTEST-107, IONTEST-111, IONTEST-116 |
Core recordings view |
|
US-SAVED-002 |
As a user, I want to filter recorded content by type |
IONTEST-107, IONTEST-110, IONTEST-114, IONTEST-1240 |
Filtering |
|
US-SAVED-003 |
As a user, I want to sort my recordings by date, expiry time, and duration |
IONTEST-116, IONTEST-117, IONTEST-118, IONTEST-508, IONTEST-509, IONTEST-510, IONTEST-1233, IONTEST-1235, IONTEST-1236, IONTEST-1237, IONTEST-1241 |
Sorting |
|
US-SAVED-004 |
As a user, I want to delete single or series recordings with or without a PIN |
IONTEST-109, IONTEST-128, IONTEST-130, IONTEST-131, IONTEST-132 |
Delete recordings |
|
US-SAVED-005 |
As a user, I want to see episodic recordings grouped into series folders |
IONTEST-111, IONTEST-119, IONTEST-503, IONTEST-510 |
Series roll-up |
|
US-SAVED-006 |
As a user, I want to protect or unprotect recorded content |
IONTEST-133, IONTEST-135, IONTEST-787 |
Content protection |
|
US-SAVED-007 |
As a user, I want to start playback of a recording from the beginning using Start Over |
IONTEST-134 |
Start Over for recordings |
|
US-SAVED-008 |
As a user, I want to manage ongoing or scheduled recordings (cancel, edit, protect) from the Saved screen |
IONTEST-778, IONTEST-779, IONTEST-780, IONTEST-781, IONTEST-782, IONTEST-783, IONTEST-788 |
Recording management |
|
US-SAVED-009 |
As a user, I want to see a cloud storage quota progress bar |
IONTEST-442, IONTEST-446, IONTEST-447, IONTEST-448, IONTEST-449, IONTEST-450, IONTEST-453, IONTEST-776 |
Quota display |
|
US-SAVED-010 |
As a user, I want quota progress bar color coding (green/orange/red) based on usage percentage |
IONTEST-443, IONTEST-444, IONTEST-445 |
Quota color coding |
|
US-SAVED-011 |
As a user, I want to see scheduled recordings with a dedicated icon and filter |
IONTEST-459, IONTEST-462, IONTEST-464 |
Scheduled recordings |
|
US-SAVED-012 |
As a user, I want to see a Recording tag for ongoing records and Expires in X hours for soon-expiring content |
IONTEST-500, IONTEST-501 |
Recording status indicators |
|
US-SAVED-013 |
As a user, I want to book a single event recording and convert it to a series recording |
IONTEST-503, IONTEST-511, IONTEST-790, IONTEST-792 |
Recording booking |
|
US-SAVED-014 |
As a user, I want to record All Episodes, All New Episodes, or Just This Episode for a series |
IONTEST-786, IONTEST-793 |
Series recording options |
|
US-SAVED-015 |
As a user, I want the system to automatically delete oldest recordings when quota is full |
IONTEST-139, IONTEST-140, IONTEST-141 |
Auto-delete policy |
|
US-SAVED-016 |
As a user, I want parental control applied on the Saved screen |
IONTEST-1397 |
Parental control |
|
US-SAVED-017 |
As a user, I want to view partial recordings with correctly displayed durations |
IONTEST-163, IONTEST-164, IONTEST-165, IONTEST-166, IONTEST-167, IONTEST-168, IONTEST-169 |
Partial recordings |
7. Search / Explore Screen
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-SEARCH-001 |
As a user, I want to search for content using a text input |
IONTEST-1063, IONTEST-1087, IONTEST-1248, IONTEST-1252, IONTEST-1265 |
Core search |
|
US-SEARCH-002 |
As a user, I want to see search results categorized by type (Live, Catchup, On Demand, Series) |
IONTEST-1159, IONTEST-1160, IONTEST-1161, IONTEST-1162, IONTEST-1163, IONTEST-1255 |
Result categorization |
|
US-SEARCH-003 |
As a user, I want to see search results in a Mosaic poster view with configurable filters |
IONTEST-1258, IONTEST-1260, IONTEST-1261, IONTEST-1277 |
Mosaic view |
|
US-SEARCH-004 |
As a user, I want my recent searches to be saved and cleared on request |
IONTEST-1249, IONTEST-1262, IONTEST-1263 |
Recent searches |
|
US-SEARCH-005 |
As a user, I want to open a media card from search results |
IONTEST-1242, IONTEST-1244 |
Media card from Search |
|
US-SEARCH-006 |
As a user, I want to use startover and jump-to-live for content found via search |
IONTEST-1246 |
Playback from Search |
|
US-SEARCH-007 |
As a user, I want to paginate through search results by category |
IONTEST-1251 |
Pagination |
|
US-SEARCH-008 |
As a user, I want to navigate search results using long-press navigation on TV |
IONTEST-1266, IONTEST-1267 |
TV navigation |
|
US-SEARCH-009 |
As a user, I want search results to respect parental control settings |
IONTEST-1303, IONTEST-1396 |
Parental control |
|
US-SEARCH-010 |
As a user, I want to see the Replay/Catchup screen and select content from different dates and genres |
IONTEST-1253, IONTEST-1254 |
Replay functionality |
|
US-SEARCH-011 |
As an operator, I want to configure sorted search results |
IONTEST-1257 |
Operator config |
|
US-SEARCH-012 |
As a user, I want to use Google Assist to search within ION |
IONTEST-897, IONTEST-898, IONTEST-900, IONTEST-902, IONTEST-906, IONTEST-907, IONTEST-914, IONTEST-915 |
Google Assist integration |
8. Settings Screen
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-SETTINGS-001 |
As a user, I want to see and configure basic settings (audio language, subtitle language, resolution) |
IONTEST-921, IONTEST-922, IONTEST-927, IONTEST-930 |
Core settings |
|
US-SETTINGS-002 |
As a user, I want to enable or disable subtitles and change subtitle language from Settings |
IONTEST-748, IONTEST-921 |
Subtitle settings |
|
US-SETTINGS-003 |
As a user, I want to configure auto-play settings (off, WiFi only, always on) |
IONTEST-933, IONTEST-938, IONTEST-939 |
Auto-play settings |
|
US-SETTINGS-004 |
As a user, I want to enable or disable UAV reporting |
IONTEST-478, IONTEST-919, IONTEST-920, IONTEST-1468, IONTEST-1469 |
UAV settings |
|
US-SETTINGS-005 |
As a user, I want to access My Account and Sign Out from Settings |
IONTEST-944 |
Account in Settings |
|
US-SETTINGS-006 |
As a user, I want to configure parental control PIN from Settings |
IONTEST-943, IONTEST-1045, IONTEST-1051, IONTEST-1052, IONTEST-1210 |
Parental PIN |
|
US-SETTINGS-007 |
As a user, I want to change the app display language from Settings |
IONTEST-1209 |
Language selection |
|
US-SETTINGS-008 |
As a user, I want to view only subscribed and unblocked channels based on my account settings |
IONTEST-940, IONTEST-942 |
Channel filtering |
|
US-SETTINGS-009 |
As an operator, I want to configure the first-use setup screen |
IONTEST-930 |
First Use setup |
9. Video Player / Playback
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-PLAYER-001 |
As a user, I want to play Live, Catch-Up, VOD, and NPVR content with standard player controls |
IONTEST-1081, IONTEST-1085, IONTEST-1086, IONTEST-1088, IONTEST-1101, IONTEST-1102 |
Core playback |
|
US-PLAYER-002 |
As a user, I want the player overlay (surfer) to appear on OK press and auto-dismiss after timeout |
IONTEST-1113, IONTEST-1114, IONTEST-1064 |
Surfer behavior |
|
US-PLAYER-003 |
As a user, I want to use Start Over to begin a live or catch-up event from the beginning |
IONTEST-1075, IONTEST-1121, IONTEST-1125, IONTEST-736 |
Start Over |
|
US-PLAYER-004 |
As a user, I want to Jump to Live from Start Over or catch-up playback |
IONTEST-1122, IONTEST-1129, IONTEST-1156, IONTEST-1157 |
Jump to Live |
|
US-PLAYER-005 |
As a user, I want to see a progress bar and airing time indicators for VOD, Catch-Up, and Start Over content |
IONTEST-760, IONTEST-1069, IONTEST-1070, IONTEST-1071, IONTEST-1072, IONTEST-1073, IONTEST-1074, IONTEST-1116, IONTEST-1117 |
Progress bar |
|
US-PLAYER-006 |
As a user, I want to change audio language and subtitles during playback |
IONTEST-730, IONTEST-749, IONTEST-750, IONTEST-1128 |
Audio/subtitle |
|
US-PLAYER-007 |
As a user, I want to mute/unmute the player and have the mute state persist across sessions |
IONTEST-735, IONTEST-738, IONTEST-740, IONTEST-741, IONTEST-743 |
Mute controls |
|
US-PLAYER-008 |
As a user, I want ads to play before VOD content with player controls hidden during ad playback |
IONTEST-752, IONTEST-753, IONTEST-754, IONTEST-755, IONTEST-756, IONTEST-758 |
Ad playback |
|
US-PLAYER-009 |
As a user, I want thumbnail previews while scrubbing the progress bar |
IONTEST-722, IONTEST-729 |
Thumbnail preview |
|
US-PLAYER-010 |
As a user, I want bookmarks to be saved and resumed for catch-up and VOD content |
IONTEST-560, IONTEST-571, IONTEST-599, IONTEST-1060, IONTEST-1094, IONTEST-1095, IONTEST-1099 |
Bookmarks |
|
US-PLAYER-011 |
As a user, I want to see a Live badge on the surfer when watching a live event |
IONTEST-1133 |
Live indicator |
|
US-PLAYER-012 |
As a user, I want to open the media card info from the player |
IONTEST-1131, IONTEST-1143 |
Media card from Player |
|
US-PLAYER-013 |
As a user, I want to play encrypted channels and DRM-protected content |
IONTEST-1089, IONTEST-1098, IONTEST-595 |
Encrypted playback |
|
US-PLAYER-014 |
As a user, I want to see a Keep Watching popup after extended inactivity |
IONTEST-160, IONTEST-161 |
Inactivity timer |
|
US-PLAYER-015 |
As a user, I want trick play controls to be disabled for content configured with FF disabled |
IONTEST-671, IONTEST-672, IONTEST-673, IONTEST-674, IONTEST-675, IONTEST-676, IONTEST-677, IONTEST-678 |
Disable FF |
|
US-PLAYER-016 |
As a user, I want to cast content to a Cast device from the player |
IONTEST-1424, IONTEST-1425, IONTEST-1426 |
Cast support |
|
US-PLAYER-017 |
As a user, I want to see an error message for content not available for catchup |
IONTEST-742 |
Catchup error |
|
US-PLAYER-018 |
As a user, I want the player controls to be aligned RTL for Arabic language |
IONTEST-1066 |
RTL player |
|
US-PLAYER-019 |
As a user, I want video playback to stop when the app goes to background if STOP_BACKGROUND_PLAYBACK is configured |
IONTEST-1144 |
Background playback |
|
US-PLAYER-020 |
As a user, I want PME configured services to support all playback features including trick modes, start over, and language switching |
IONTEST-893, IONTEST-895, IONTEST-901, IONTEST-903, IONTEST-905, IONTEST-910, IONTEST-913 |
PME playback |
10. Notifications
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-NOTIF-001 |
As a user, I want to receive push notifications (IP messages) from the operator in multiple languages |
IONTEST-60, IONTEST-61, IONTEST-154, IONTEST-71 |
Multi-language notifications |
|
US-NOTIF-002 |
As an operator, I want to send targeted messages to specific devices or subscriber groups/topics |
IONTEST-62, IONTEST-63, IONTEST-64, IONTEST-65, IONTEST-66 |
Targeted messaging |
|
US-NOTIF-003 |
As a user, I want to receive notifications when the app is in the foreground, background, or logged out |
IONTEST-71, IONTEST-153, IONTEST-156 |
Delivery states |
|
US-NOTIF-004 |
As a user, I want to opt out of notifications via Allow Notifications setting |
IONTEST-68, IONTEST-155 |
Opt-out |
|
US-NOTIF-005 |
As a user, I want to view a list of received notifications in the Notification menu |
IONTEST-149, IONTEST-150, IONTEST-151 |
Notification list |
|
US-NOTIF-006 |
As a user, I want to see a popup when an IP message arrives in the foreground |
IONTEST-158 |
Foreground popup |
|
US-NOTIF-007 |
As a user, I want Firebase notifications shown only when the app is in the background |
IONTEST-148 |
Background notifications |
|
US-NOTIF-008 |
As an operator, I want the notification feature to be enabled/disabled via config per platform |
IONTEST-149 |
Operator config |
|
US-NOTIF-009 |
As a user, I want reminders to be triggered for scheduled events |
IONTEST-95, IONTEST-96 |
Reminders |
11. Parental Control
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-PARENTAL-001 |
As a user, I want to see a padlock icon on age-restricted content throughout the app |
IONTEST-1046, IONTEST-387, IONTEST-437, IONTEST-539, IONTEST-572 |
Padlock indicator |
|
US-PARENTAL-002 |
As a user, I want to be prompted to enter a PIN when accessing parentally locked content |
IONTEST-1048, IONTEST-395, IONTEST-682, IONTEST-334 |
PIN prompt |
|
US-PARENTAL-003 |
As a user, I want to create, change, or reset my parental PIN from Settings |
IONTEST-1049, IONTEST-1051, IONTEST-1052, IONTEST-943 |
PIN management |
|
US-PARENTAL-004 |
As a user, I want all devices under the same account to share a parental PIN when GLOBAL_PIN is enabled |
IONTEST-1050, IONTEST-1047 |
PIN sharing |
|
US-PARENTAL-005 |
As a user, I want locked content to remain inaccessible across event transitions |
IONTEST-1045 |
Continuous restriction |
|
US-PARENTAL-006 |
As a user, I want to see No Rating for content with invalid or missing parental ratings |
IONTEST-1092, IONTEST-1093 |
Missing rating |
|
US-PARENTAL-007 |
As an operator, I want to configure content restriction policies |
IONTEST-1399, IONTEST-942 |
Content restrictions |
12. User Profile / Account Management
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-ACCOUNT-001 |
As an operator, I want to create subscriptions with specific channels and assign them to subscriber accounts |
IONTEST-1096, IONTEST-1103, IONTEST-1104 |
Subscription management |
|
US-ACCOUNT-002 |
As an operator, I want to configure a maximum device limit per account |
IONTEST-1097 |
Device limits |
|
US-ACCOUNT-003 |
As a user, I want to see a clear error when attempting to log in with a cancelled account |
IONTEST-1100 |
Account status errors |
|
US-ACCOUNT-004 |
As an operator, I want to create pending and expired subscriptions and verify content access matches subscription status |
IONTEST-1105, IONTEST-1106, IONTEST-622, IONTEST-623, IONTEST-624, IONTEST-625, IONTEST-626 |
Subscription lifecycle |
|
US-ACCOUNT-005 |
As a user, I want my NPVR recordings, bookmarks, continue watching, and favorites available across all devices |
IONTEST-237, IONTEST-108 |
Cross-device sync |
|
US-ACCOUNT-006 |
As a user, I want to assign NPVR, SSM, In-home, and FIPS settings per account profile |
IONTEST-238 |
Per-account settings |
13. My List / Favorites
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-MYLIST-001 |
As a user, I want to favorite/unfavorite events, channels, and VOD content from any screen |
IONTEST-108, IONTEST-372, IONTEST-523, IONTEST-531, IONTEST-534, IONTEST-562, IONTEST-606 |
Favorite content |
|
US-MYLIST-002 |
As a user, I want changes to my favorites to be immediately reflected across all devices |
IONTEST-108, IONTEST-237 |
Cross-device sync |
|
US-MYLIST-003 |
As a user, I want to see favorite icon status changes in the media card and player |
IONTEST-523, IONTEST-524, IONTEST-531, IONTEST-532, IONTEST-533, IONTEST-534, IONTEST-562 |
Icon state |
|
US-MYLIST-004 |
As a user, I want to filter the EPG and Live screens by favorites |
IONTEST-1329, IONTEST-999 |
Favorite filter |
|
US-MYLIST-005 |
As a user, I want a Firebase analytics event captured when I favorite content |
IONTEST-473 |
Analytics tracking |
14. Apps & Games
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-APPS-001 |
As a user, I want to see and launch installed third-party apps and games from the Apps & Games menu |
IONTEST-887, IONTEST-890 |
App launching |
|
US-APPS-002 |
As an operator, I want to show/hide the Apps & Games menu via platform config |
IONTEST-889 |
Operator config |
|
US-APPS-003 |
As a user, I want to see games listed in the Apps & Games strip when games are available |
IONTEST-890 |
Games availability |
|
US-APPS-004 |
As a user, I want focus to return to the previously focused app when launching Apps & Games |
IONTEST-1422 |
Focus management |
15. Recents
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-RECENTS-001 |
As a user, I want to see a recently watched channels list launched by pressing the LEFT key |
IONTEST-384, IONTEST-386, IONTEST-398 |
Recents launch |
|
US-RECENTS-002 |
As a user, I want the Recents list to start empty on first launch and grow as I watch channels |
IONTEST-385, IONTEST-400 |
First launch state |
|
US-RECENTS-003 |
As a user, I want the Recents list to show padlock icons for parentally locked content |
IONTEST-387, IONTEST-395 |
Parental indicators |
|
US-RECENTS-004 |
As a user, I want the Recents list size limited by a configurable max value |
IONTEST-390 |
Size limits |
|
US-RECENTS-005 |
As a user, I want the Recents list to display in RTL mode when using Arabic |
IONTEST-391 |
RTL support |
|
US-RECENTS-006 |
As a user, I want the Recents list retained after a device reboot or token expiry |
IONTEST-393, IONTEST-401 |
Persistence |
|
US-RECENTS-007 |
As a user, I want the Recents list cleared when I log out and log in with a different account |
IONTEST-394, IONTEST-402 |
Privacy on logout |
|
US-RECENTS-008 |
As a user, I want the Recents list dismissed when I access DCE |
IONTEST-392 |
DCE interaction |
|
US-RECENTS-009 |
As a user, I want the Recents list updated when I switch channels or move from VOD to live |
IONTEST-396, IONTEST-397 |
List updates |
|
US-RECENTS-010 |
As a user, I want the Recents list to not be available in offline mode |
IONTEST-403 |
Offline handling |
|
US-RECENTS-011 |
As a user, I want to see a Live icon on live content in the Recents media card |
IONTEST-1459 |
Live indicator |
16. Timeline (Mini Guide)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-TIMELINE-001 |
As a user, I want the Timeline to appear when pressing up/down keys during live playback |
IONTEST-421 |
Timeline launch |
|
US-TIMELINE-002 |
As a user, I want to dismiss the Timeline by pressing the back key |
IONTEST-423 |
Dismiss |
|
US-TIMELINE-003 |
As a user, I want the Timeline to navigate to the forward EPG when pressing right |
IONTEST-427 |
EPG navigation |
|
US-TIMELINE-004 |
As a user, I want to tune to a different channel by selecting it from the Timeline |
IONTEST-431 |
Channel switch |
|
US-TIMELINE-005 |
As a user, I want the Timeline to display in RTL and show a favorite icon for favorited channels |
IONTEST-436 |
RTL and favorites |
|
US-TIMELINE-006 |
As a user, I want to see padlock icons for parentally locked content in the Timeline |
IONTEST-437, IONTEST-440 |
Parental indicators |
|
US-TIMELINE-007 |
As a user, I want the Timeline to auto-dismiss after a configured timeout with a visible progress bar |
IONTEST-438 |
Auto-dismiss |
|
US-TIMELINE-008 |
As a user, I want the Timeline to be unavailable during VOD or NPVR playback |
IONTEST-439 |
Context restriction |
|
US-TIMELINE-009 |
As a user, I want special keys (Menu, DCE) to work correctly when the Timeline is displayed |
IONTEST-434 |
Key handling |
17. EAS (Emergency Alert System)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-EAS-001 |
As a user, I want to be automatically switched to the EAS channel when an emergency alert is triggered |
IONTEST-17, IONTEST-23, IONTEST-19 |
EAS channel switch |
|
US-EAS-002 |
As a user, I want the EAS channel playback to stop and return me to my previous content when the EAS period ends |
IONTEST-10, IONTEST-11, IONTEST-24 |
EAS end behavior |
|
US-EAS-003 |
As a user, I want to see a static EAS message for the configured duration even without live video |
IONTEST-7, IONTEST-8, IONTEST-9, IONTEST-17 |
Static EAS message |
|
US-EAS-004 |
As a user, I want EAS to function correctly when the device wakes from standby during an active alert |
IONTEST-15, IONTEST-16 |
Standby/wake behavior |
|
US-EAS-005 |
As a user, I want the EAS notification shown after an EAS event ends and suppressed during the event |
IONTEST-13 |
EAS notifications |
|
US-EAS-006 |
As a user, I want EAS not displayed when the app is signed out or there is no network |
IONTEST-14 |
Signed out/offline |
|
US-EAS-007 |
As a user, I want EAS channel playback to recover from network fluctuations during the alert period |
IONTEST-12 |
Network resilience |
|
US-EAS-008 |
As an operator, I want to deliver EAS alerts simultaneously to multiple devices and accounts |
IONTEST-21, IONTEST-22 |
Multi-device delivery |
|
US-EAS-009 |
As an operator, I want EAS alerts to respect account status and product assignments |
IONTEST-25, IONTEST-26, IONTEST-27, IONTEST-28, IONTEST-29 |
Account eligibility |
|
US-EAS-010 |
As a user, I want UI navigation to be restricted during an EAS message so that the alert cannot be dismissed prematurely |
IONTEST-18, IONTEST-20 |
Navigation restriction |
18. Binge Watching
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-BINGE-001 |
As a user, I want the app to automatically play the next episode in a series after the current one ends |
IONTEST-38, IONTEST-39, IONTEST-40, IONTEST-41, IONTEST-57 |
Auto-play next |
|
US-BINGE-002 |
As a user, I want to see a Play Next popup before the next episode begins |
IONTEST-43, IONTEST-44, IONTEST-45 |
Play Next popup |
|
US-BINGE-003 |
As a user, I want binge watching to start from the first unwatched episode, skipping already-watched ones |
IONTEST-38 |
Watched tracking |
|
US-BINGE-004 |
As a user, I want to start binge watching from Search, EPG, and Continue Watching strips |
IONTEST-33, IONTEST-51 |
Multi-entry points |
|
US-BINGE-005 |
As a user, I want trick play controls to work correctly during binge watching |
IONTEST-34, IONTEST-35 |
Trick play |
|
US-BINGE-006 |
As a user, I want the app to tune to live TV when I cancel binge watching or when there are no more episodes |
IONTEST-36, IONTEST-41, IONTEST-57 |
Fallback to live |
|
US-BINGE-007 |
As a user, I want binge watching to show a PIN prompt for parentally locked episodes |
IONTEST-37 |
Parental control |
|
US-BINGE-008 |
As a user, I want the media card to open when pressing Back during binge watching |
IONTEST-42 |
Back behavior |
|
US-BINGE-009 |
As a user, I want binge watching to be resilient to BG/FG transitions, EAS interruptions, and IP messages |
IONTEST-47, IONTEST-48, IONTEST-49 |
Interruption resilience |
|
US-BINGE-010 |
As a user, I want binge watching to continue across seasons |
IONTEST-58 |
Multi-season binge |
|
US-BINGE-011 |
As a user, I want binge watching to work correctly when guard time, airing time, or in-home restrictions are configured |
IONTEST-53, IONTEST-54, IONTEST-55 |
Special channel configs |
19. Watch Next
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-WATCHNEXT-001 |
As a user, I want to see a Watch Next strip suggesting what to watch after current content |
IONTEST-457, IONTEST-471 |
Watch Next strip |
|
US-WATCHNEXT-002 |
As an operator, I want to configure Watch Next to prioritize Live or VOD content |
IONTEST-460, IONTEST-461, IONTEST-463, IONTEST-466 |
Content priority |
|
US-WATCHNEXT-003 |
As an operator, I want to configure the maximum items in Watch Next |
IONTEST-465 |
Item count limit |
|
US-WATCHNEXT-004 |
As an operator, I want to enable or disable the Watch Next strip via platform configuration |
IONTEST-468 |
Feature flag |
|
US-WATCHNEXT-005 |
As a user, I want Watch Next not to appear when related episodes or recommendations are already available |
IONTEST-458 |
Availability logic |
|
US-WATCHNEXT-006 |
As a user, I want to navigate Watch Next content and play parentally locked content with a PIN |
IONTEST-469 |
Navigation and parental |
|
US-WATCHNEXT-007 |
As a user, I want to see an error when trying to play unsubscribed content from Watch Next |
IONTEST-470 |
Unsubscribed error |
20. Media Card
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-MEDIACARD-001 |
As a user, I want to see a media card with full event details for any content |
IONTEST-513, IONTEST-522, IONTEST-528, IONTEST-536, IONTEST-564, IONTEST-568 |
Core media card |
|
US-MEDIACARD-002 |
As a user, I want to play Live, Catch-Up, VOD, NPVR, and LTCU content from the media card |
IONTEST-515, IONTEST-525, IONTEST-535, IONTEST-559, IONTEST-563, IONTEST-570 |
Playback |
|
US-MEDIACARD-003 |
As a user, I want to see series media cards with season and episode breakdowns |
IONTEST-529, IONTEST-547, IONTEST-548 |
Series media card |
|
US-MEDIACARD-004 |
As a user, I want the Play button on a series media card to intelligently select the right episode |
IONTEST-550, IONTEST-551, IONTEST-552, IONTEST-553, IONTEST-554, IONTEST-555, IONTEST-556, IONTEST-557, IONTEST-558, IONTEST-566 |
Smart play button |
|
US-MEDIACARD-005 |
As a user, I want to see a bookmark status bar in the media card |
IONTEST-560 |
Bookmark indicator |
|
US-MEDIACARD-006 |
As a user, I want to see Related and Episodes strips in the media card |
IONTEST-541, IONTEST-542, IONTEST-569 |
Content strips |
|
US-MEDIACARD-007 |
As a user, I want to see subscription-unavailable messages for unsubscribed content |
IONTEST-514, IONTEST-518, IONTEST-538, IONTEST-561 |
Subscription status |
|
US-MEDIACARD-008 |
As a user, I want a BTV preview playback in the media card that I can switch to full-screen |
IONTEST-545 |
BTV preview |
|
US-MEDIACARD-009 |
As a user, I want action items (favorite, reminder, record, info) available in the media card based on content type |
IONTEST-537, IONTEST-567 |
Action items |
|
US-MEDIACARD-010 |
As a user, I want the media card synopsis to display in Arabic RTL when the app is in Arabic mode |
IONTEST-526 |
RTL support |
|
US-MEDIACARD-011 |
As a user, I want padlock icons for parentally restricted content in media cards |
IONTEST-539, IONTEST-572 |
Parental indicators |
|
US-MEDIACARD-012 |
As a user, I want to launch the media card from EPG, Saved, and Search screens |
IONTEST-530, IONTEST-549, IONTEST-1242 |
Multi-screen access |
21. Guard Time
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-GUARDTIME-001 |
As a user, I want guard time to be correctly reflected in playback duration for NPVR, Catch-Up, and LTCU content |
IONTEST-171, IONTEST-172, IONTEST-173, IONTEST-174, IONTEST-661 |
Guard time display |
|
US-GUARDTIME-002 |
As a user, I want bookmark positions to correctly account for guard time |
IONTEST-660 |
Bookmark accuracy |
|
US-GUARDTIME-003 |
As an operator, I want to enable/disable guard time globally using the GUARD_TIME feature flag |
IONTEST-659 |
Feature flag |
|
US-GUARDTIME-004 |
As a user, I want the surfer Start/End time to update correctly when using Start Over and Jump to Live on guard-time-enabled content |
IONTEST-662, IONTEST-663, IONTEST-664 |
Surfer time accuracy |
|
US-GUARDTIME-005 |
As a user, I want to see a greyed-out Play icon for content within the immediate catchup guard window |
IONTEST-665 |
Immediate catchup guard |
|
US-GUARDTIME-006 |
As a user, I want promoted magazine content to play correctly with guard time |
IONTEST-666 |
Promoted content |
|
US-GUARDTIME-007 |
As a user, I want the 10s rewind control to correctly update the timeline when guard time is active |
IONTEST-668 |
Seek accuracy |
22. In-Home Detection
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-INHOME-001 |
As an operator, I want to enable/disable in-home detection at the application level |
IONTEST-628 |
Feature toggle |
|
US-INHOME-002 |
As a user, I want to play clear and encrypted content on my home network without restrictions |
IONTEST-629, IONTEST-761 |
Home network access |
|
US-INHOME-003 |
As a user, I want to see an in-home error when accessing home-restricted content from outside the home network |
IONTEST-633, IONTEST-763, IONTEST-765, IONTEST-766, IONTEST-767 |
Out-of-home restriction |
|
US-INHOME-004 |
As a user, I want to play LTCU, NPVR, and Live content from a private network when those channels have no restrictions |
IONTEST-632, IONTEST-764 |
Non-restricted content anywhere |
|
US-INHOME-005 |
As a user, I want to book recordings on my home network and play them back on a private network |
IONTEST-640, IONTEST-644, IONTEST-646 |
Remote playback |
|
US-INHOME-006 |
As a user, I want in-home detection to work correctly for SSM-enabled devices |
IONTEST-631 |
SSM interaction |
|
US-INHOME-007 |
As a user, I want to see the in-home error when accessing parentally locked content from a private network |
IONTEST-768 |
Combined restrictions |
23. LTCU (Long-Term Catch-Up)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-LTCU-001 |
As a user, I want to browse and play LTCU content from the VOD/Browse screen |
IONTEST-597, IONTEST-598 |
LTCU browsing |
|
US-LTCU-002 |
As a user, I want LTCU content to be bookmarked so that I can resume from where I left off |
IONTEST-599 |
Bookmarking |
|
US-LTCU-003 |
As a user, I want to see LTCU content correctly labeled as On Demand in Search results |
IONTEST-600, IONTEST-604 |
Search display |
|
US-LTCU-004 |
As a user, I want to see a VOD media card when accessing LTCU-enabled episodes from a series media card |
IONTEST-601 |
Media card type |
|
US-LTCU-005 |
As a user, I want the correct content type played when an episode has LTCU, STCU, and Live all enabled |
IONTEST-602 |
Priority logic |
|
US-LTCU-006 |
As a user, I want only a single episode entry when a content has LTCU enabled to avoid duplication |
IONTEST-603 |
Deduplication |
|
US-LTCU-007 |
As a user, I want to see an error when trying to play LTCU content I am not subscribed to |
IONTEST-605 |
Unsubscribed error |
|
US-LTCU-008 |
As a user, I want to use favorites with LTCU content |
IONTEST-606 |
Favorites integration |
|
US-LTCU-009 |
As a user, I want LTCU to work correctly for both single and series content |
IONTEST-608, IONTEST-609 |
Content type support |
|
US-LTCU-010 |
As a user, I want to search for LTCU content and access it via the LIVE to STCU to LTCU content flow |
IONTEST-610 |
Content flow |
|
US-LTCU-011 |
As an operator, I want to configure LTCU at channel or event level and combine with STCU settings |
IONTEST-612, IONTEST-614, IONTEST-615, IONTEST-616 |
Configuration granularity |
|
US-LTCU-012 |
As an operator, I want LTCU to support both encrypted and clear streams and have content purging work correctly |
IONTEST-617, IONTEST-618 |
Stream and purging |
24. SSM (Simultaneous Stream Management)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-SSM-001 |
As a user, I want to play encrypted content simultaneously from up to the configured number of devices |
IONTEST-576, IONTEST-579 |
Concurrent streams |
|
US-SSM-002 |
As a user, I want to see a clear error message when I exceed the concurrent stream limit |
IONTEST-577, IONTEST-583 |
Limit exceeded error |
|
US-SSM-003 |
As a user, I want to play content without SSM restrictions when the SSM flag is set to false |
IONTEST-578 |
SSM disabled |
|
US-SSM-004 |
As a user, I want to start playback once another user on the same account closes their session at the concurrent limit |
IONTEST-584 |
Slot recovery |
|
US-SSM-005 |
As a user, I want to see an error for auto-playback scenarios that exceed the concurrent limit |
IONTEST-582 |
Auto-play SSM error |
25. DeepLinking
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-DEEPLINK-001 |
As a user, I want to see Watch options with deep link targets for VOD, Catchup, Live, NPVR, and Series content |
IONTEST-986, IONTEST-989, IONTEST-990, IONTEST-993 |
Core deep linking |
|
US-DEEPLINK-002 |
As a user, I want to see a DeepLink popup to launch third-party apps for linked content |
IONTEST-987 |
Third-party app selection |
|
US-DEEPLINK-003 |
As a user, I want to return to the ION media card after exiting a third-party app opened via deep link |
IONTEST-988 |
Return to ION |
|
US-DEEPLINK-004 |
As a user, I want deep link options to display in RTL and all supported languages |
IONTEST-991 |
Localization |
|
US-DEEPLINK-005 |
As a user, I want to access deep link options from Saved and Search screens |
IONTEST-992 |
Multi-screen access |
|
US-DEEPLINK-006 |
As a user, I want to see an app not available message when a linked third-party app is not installed |
IONTEST-994 |
Missing app handling |
26. Channel Zapping & DCE
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-ZAPPING-001 |
As a user, I want to switch channels using CH+/CH- remote keys without opening the guide |
IONTEST-680, IONTEST-681 |
Channel zapping |
|
US-ZAPPING-002 |
As a user, I want CH+/CH- to work correctly after reboots, BG/FG transitions, and network disruptions |
IONTEST-686, IONTEST-687, IONTEST-688, IONTEST-689, IONTEST-692 |
Zapping resilience |
|
US-ZAPPING-003 |
As a user, I want to see a parental PIN prompt when zapping to a locked channel |
IONTEST-682 |
Parental zapping |
|
US-ZAPPING-004 |
As a user, I want to skip unsubscribed channels when using CH+/CH- |
IONTEST-683 |
Subscription-aware zapping |
|
US-ZAPPING-005 |
As a user, I want to see a network error message if there is a disruption during channel switching |
IONTEST-691 |
Network disruption |
|
US-ZAPPING-006 |
As a user, I want zapping to work correctly in RTL mode |
IONTEST-690 |
RTL support |
|
US-ZAPPING-007 |
As a user, I want to enter a DCE number to tune directly to a specific channel |
IONTEST-329, IONTEST-336, IONTEST-359 |
DCE entry |
|
US-ZAPPING-008 |
As a user, I want DCE to work from both the playback and EPG screens |
IONTEST-333, IONTEST-354 |
DCE contexts |
|
US-ZAPPING-009 |
As a user, I want to see an error popup if I enter an invalid DCE number |
IONTEST-329, IONTEST-331, IONTEST-332 |
Invalid DCE |
|
US-ZAPPING-010 |
As a user, I want to see a parental prompt when entering a restricted channel via DCE |
IONTEST-334 |
Parental DCE |
|
US-ZAPPING-011 |
As a user, I want the DCE popup to display correctly in RTL mode |
IONTEST-355 |
RTL DCE |
|
US-ZAPPING-012 |
As a user, I want to see a configurable channel loading indicator when switching channels |
IONTEST-695, IONTEST-696, IONTEST-697, IONTEST-698, IONTEST-699, IONTEST-700, IONTEST-701 |
Loading icon config |
27. Accessibility (Voice Over)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-ACCESS-001 |
As a visually impaired user, I want the screen reader to speak out channel details and event info when navigating the Timeline |
IONTEST-1008, IONTEST-1011 |
Timeline accessibility |
|
US-ACCESS-002 |
As a visually impaired user, I want the screen reader to work in all supported languages |
IONTEST-1010, IONTEST-1024 |
Multilingual screen reader |
|
US-ACCESS-003 |
As a visually impaired user, I want the first menu option to be spoken when the app launches or when exiting playback |
IONTEST-1012, IONTEST-1013 |
Focus announcement |
|
US-ACCESS-004 |
As a visually impaired user, I want settings sub-options to be spoken as I navigate through them |
IONTEST-1014, IONTEST-1025, IONTEST-1026 |
Settings accessibility |
|
US-ACCESS-005 |
As a visually impaired user, I want each digit I enter in the DCE popup to be announced |
IONTEST-1017 |
DCE accessibility |
|
US-ACCESS-006 |
As a visually impaired user, I want parental locked channel information to be announced |
IONTEST-1016 |
Parental lock announcement |
|
US-ACCESS-007 |
As a visually impaired user, I want event info, seasonal info, and current time to be spoken when navigating the EPG |
IONTEST-1021, IONTEST-1022, IONTEST-1027 |
EPG accessibility |
|
US-ACCESS-008 |
As a visually impaired user, I want player surfer action items to be announced when highlighted |
IONTEST-1028, IONTEST-1032 |
Player accessibility |
|
US-ACCESS-009 |
As a visually impaired user, I want content details announced during playback |
IONTEST-1029, IONTEST-1031 |
Playback accessibility |
|
US-ACCESS-010 |
As a visually impaired user, I want the screen reader to NOT speak when video is loading or when there is no event info |
IONTEST-1033, IONTEST-1034 |
Silent loading states |
|
US-ACCESS-011 |
As a visually impaired user, I want username/password field characters to be announced as I type |
IONTEST-1040 |
Login accessibility |
|
US-ACCESS-012 |
As a visually impaired user, I want the sign-out and sign-in flow to announce the login page |
IONTEST-1041 |
Auth accessibility |
|
US-ACCESS-013 |
As a visually impaired user, I want fast navigation in the Guide using RWND key to be announced |
IONTEST-1036 |
Fast nav accessibility |
28. Analytics (Google Analytics, UAV, Firebase)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-ANALYTICS-001 |
As an operator, I want to capture UAV playback metrics for Live, Catch-Up, VOD, Start Over, and NPVR content |
IONTEST-283, IONTEST-284, IONTEST-285, IONTEST-286, IONTEST-287, IONTEST-288, IONTEST-289, IONTEST-290, IONTEST-317 |
UAV playback metrics |
|
US-ANALYTICS-002 |
As a user, I want to enable or disable UAV reporting from Settings |
IONTEST-919, IONTEST-920, IONTEST-1468, IONTEST-1469 |
UAV settings |
|
US-ANALYTICS-003 |
As an operator, I want to capture Firebase analytics events to track user interactions |
IONTEST-473 |
Firebase events |
|
US-ANALYTICS-004 |
As an operator, I want to see app install, update, uninstall, and first launch events in dashboards |
IONTEST-1430, IONTEST-1431, IONTEST-1437 |
App lifecycle analytics |
|
US-ANALYTICS-005 |
As an operator, I want to see channel names, content types, and search keywords users engage with |
IONTEST-1434, IONTEST-1441, IONTEST-1445, IONTEST-1446 |
Content analytics |
|
US-ANALYTICS-006 |
As an operator, I want to see demographic, geographic, and device information |
IONTEST-1435, IONTEST-1438, IONTEST-1439 |
Audience analytics |
|
US-ANALYTICS-007 |
As an operator, I want to track active user trends, platform distribution, and app version adoption |
IONTEST-1440, IONTEST-1443, IONTEST-1444 |
Platform analytics |
|
US-ANALYTICS-008 |
As an operator, I want to see screen-wise usage and notification analytics |
IONTEST-1432, IONTEST-1447 |
Screen analytics |
|
US-ANALYTICS-009 |
As an operator, I want to capture playback error details for parental lock events, live events, and standby wakeups |
IONTEST-1415, IONTEST-1416, IONTEST-1418, IONTEST-1419 |
Playback error analytics |
29. TV Key (Platform-Specific)
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-TVKEY-001 |
As a user, I want to see the Install a TV service page on first launch of a TV Key device |
IONTEST-1356 |
First launch page |
|
US-TVKEY-002 |
As a user, I want to be directed to the TV Key Installer App Sign Up page when selecting Claro demo |
IONTEST-1357 |
Sign Up flow |
|
US-TVKEY-003 |
As a user, I want to see my TV Key ID on the Activation page |
IONTEST-1359 |
Device ID display |
|
US-TVKEY-004 |
As a user, I want to successfully activate my TV Key device |
IONTEST-1360 |
Device activation |
|
US-TVKEY-005 |
As a user, I want the ION app to launch by default when the TV powers on |
IONTEST-1361 |
Default app launch |
|
US-TVKEY-006 |
As a user, I want to see an Activation Failed message when network is unavailable during activation |
IONTEST-1362, IONTEST-1363 |
Activation failure |
|
US-TVKEY-007 |
As a user, I want interruptions during activation to be handled gracefully |
IONTEST-1364, IONTEST-1365, IONTEST-1366, IONTEST-1367 |
Activation interruptions |
30. Netflix Integration
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-NETFLIX-001 |
As a user, I want to see the Netflix channel in the EPG with its logo, channel number, and highlight |
IONTEST-1213 |
Netflix in EPG |
|
US-NETFLIX-002 |
As a user, I want to launch the Netflix app by pressing OK/Play on the Netflix channel in the EPG or Timeline |
IONTEST-1214, IONTEST-1219 |
Netflix app launch |
|
US-NETFLIX-003 |
As a user, I want to launch Netflix via Reverse EPG, DCE, or channel zap |
IONTEST-1215 |
Multiple launch paths |
|
US-NETFLIX-004 |
As an operator, I want to enable/disable the Netflix feature via a flag |
IONTEST-1216, IONTEST-1226 |
Feature flag |
|
US-NETFLIX-005 |
As a user, I want to see Netflix in the Discover screen with a placeholder tile |
IONTEST-1221, IONTEST-1222, IONTEST-1228 |
Netflix in Discover |
|
US-NETFLIX-006 |
As a user, I want to launch Netflix through the Apps & Games menu |
IONTEST-1225 |
Netflix in Apps & Games |
|
US-NETFLIX-007 |
As a user, I want Netflix to not appear in EPG on Mobile/Tablet/FireTV platforms |
IONTEST-1224 |
Platform-specific behavior |
|
US-NETFLIX-008 |
As a user, I want Netflix tiles to display in my selected language |
IONTEST-1230 |
Localization |
31. Search Facade / Claro Video
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-CLARO-001 |
As a user, I want to see Claro Video content in search results when Search Facade is enabled |
IONTEST-1271, IONTEST-1272 |
Claro in search |
|
US-CLARO-002 |
As a user, I want to open a media card for Claro content that launches in the Claro app |
IONTEST-1273 |
Claro media card |
|
US-CLARO-003 |
As a user, I want to see an info message when the Claro app is not installed |
IONTEST-1274 |
Missing app handling |
|
US-CLARO-004 |
As a user, I want to use Google Assist to search for Claro content and launch the Claro app |
IONTEST-1275, IONTEST-1279 |
Google Assist + Claro |
|
US-CLARO-005 |
As a user, I want Claro search terms to appear in Recent Searches in multiple languages |
IONTEST-1276 |
Recent searches |
|
US-CLARO-006 |
As a user, I want to see Claro results in Mosaic poster view when the Claro filter is selected |
IONTEST-1277 |
Mosaic view |
|
US-CLARO-007 |
As an operator, I want to independently enable/disable the Search Facade and Claro filter flags |
IONTEST-1278 |
Feature flags |
32. Long Run / Stability
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-STABILITY-001 |
As an operator, I want the ION app to remain stable with live playback in the foreground for more than 24 hours |
IONTEST-1369, IONTEST-1371, IONTEST-1372 |
Foreground stability |
|
US-STABILITY-002 |
As an operator, I want the ION app to remain stable with live playback in the background for more than 24 hours |
IONTEST-1370 |
Background stability |
|
US-STABILITY-003 |
As an operator, I want the app to remain stable on all major screens during extended use |
IONTEST-1371, IONTEST-1373, IONTEST-1374 |
Screen stability |
|
US-STABILITY-004 |
As an operator, I want the app to handle consecutive channel zapping over 1 hour without degradation |
IONTEST-1463, IONTEST-1465 |
Zap stability |
33. FireTV On-Now Strip
|
User Story ID |
User Story |
Related Test Cases |
Notes |
|---|---|---|---|
|
US-FIRETV-001 |
As a user, I want to see live channel previews in the FireTV home screen On-Now strip after logging in |
IONTEST-1186, IONTEST-1189, IONTEST-1192 |
On-Now strip display |
|
US-FIRETV-002 |
As a user, I want the On-Now strip to show a progress bar indicating how far into the current event is |
IONTEST-1188 |
Progress bar |
|
US-FIRETV-003 |
As a user, I want the On-Now strip to automatically refresh when events change or channels are added/removed |
IONTEST-1190, IONTEST-1191, IONTEST-1203 |
Auto-refresh |
|
US-FIRETV-004 |
As a user, I want the ION app to be listed in the FireTV Live TV settings |
IONTEST-1193 |
FireTV settings integration |
|
US-FIRETV-005 |
As a user, I want the On-Now strip to be retained after clearing cache or power cycling the FireTV |
IONTEST-1196, IONTEST-1414 |
Strip persistence |
|
US-FIRETV-006 |
As a user, I want to launch a media card from the On-Now strip for live and future events |
IONTEST-1197 |
Media card from On-Now |
|
US-FIRETV-007 |
As a user, I want the On-Now strip to update correctly when ION is running in the background |
IONTEST-1201 |
Background sync |
|
US-FIRETV-008 |
As a user, I want the On-Now strip to be removed when the ION app is uninstalled |
IONTEST-1195 |
Uninstall cleanup |
|
US-FIRETV-009 |
As a user, I want to launch the Guide from the On-Now strip |
IONTEST-1187 |
Guide navigation |
|
US-FIRETV-010 |
As a user, I want in-home configured channels to appear correctly in the On-Now strip |
IONTEST-1413 |
In-home channels |
Generated from ION-TEST Xray test cases — IONTEST-7 through IONTEST-1471