Register
Submit a solution
The challenge is finished.

Challenge Overview

Overview:

The Hercules Player is an application that allows customers to download videos to their computer or device for offline playback, along with streaming playback of videos for online playback.

The new version of the app will be used on browser-based versions of the application, as well as wrapped in native code and used as the iOS, Android versions, leading to a single HTML5 codebase that covers all platforms. This bug hunt will test the iOS native client.

Contest Scope

The goal of this competition is to clearly identify the limitations of the provided application and ensure the functionality of the app works as expected, specifically focusing on the new search functionality, although the rest of the application is still in scope.

Things to test:

  • The functionality works on iOS devices, both phones and tablets.
  • The new side menu functionality
  • The new player screen and channel switcher for live TV
  • The new "Recent" button on the live TV player screen
The login page is not in scope, nor are tooltip or simple missing period errors. The parental controls and error logging are also out of scope. Tiny errors will also be ignored. The severity of issues is at the discretion of the copilot

Download and playback

It's VERY important that all playback and download functionality be fully tested. There are bugs there and we need to ensure that everything works in all scenarios, especially with and without an active connection.



Final Submission Guidelines

Screenshots

Note that for every bug you assign to a specific OS, you MUST provide a screenshot for that platform. This is a requirement to ensure proper test coverage on each platform. For instance, if you assign a bug to Windows and OS X, but you don't provide a screenshot for OS X, the bug will be rejected.

Searching

On the app, there is a new search button in the upper right that will allow a user to enter search terms, find movies, tv shows, episodes, and record them. For a series, a user can tap and expand to see the upcoming episodes for that series. A user can choose to either record a single episode / movie or the entire series.

Main Requirements

These are the main pieces of functionality in the app. The entire app is in scope, but please make sure to test these:

General Functionality

  • The functionality works on both phones and tablets.

Specific Functionality

  • Loading and recording from the guide tab
  • Downloading an asset works correctly and can be played back from the "Device" tab after downloading, or even while downloading
  • Download an asset, turn off all internet and attempt to play offline. It should work.
  • Playing a long asset (>2 hours) through the end (does it complete and stay playing the whole time)
  • Deleting a completed download actually deletes the files and a redownload of the same asset after the initial delete works correctly
  • The logout / idle time out is 24 hours. This should be verified
  • Wait a long period of time and then attempt to logout (Settings -> Logout). Logout should always return to the login screen.
  • Start a download and then interrupt it by killing the app. When the app is restarted, it should resume the download from when the app was killed
  • Reboot the system after a download. Do downloads show and play?
  • Queue up multiple downloads and interrupt the download process. The in-progress download should resume when the app restarts, and when that download completes, the next queued item should start and download correctly
  • Queueing in general. If multiple items are queued, there should only ever be one downloading at once, and when one completes the next one should start. You should never see two downloads at once, or a bunch of queued items with nothing downloading
  • Login with one user, download some files, and then logout and login with a different user. There should be no overlap between the two users. Downloaded files should be cleared.
  • When playing back an asset, use the play / pause / done buttons. If a user pauses and then resumes, it should start at the point where the user paused, not the beginning. If "done" is clicked, and the user plays the same asset, it should start from the point when "done" was clicked, not the beginning of the asset.
  • Downloading a large asset (>2 hours) should complete successfully

All scheduling functions, including

  • Searching for programs from the new search button
  • Scheduling a recording for an episode
  • Scheduling a recording for a series
  • Ensuring the scheduled recording shows up under the Schedule tab
  • Modifying the scheduled options for a single episode
  • Modifying the scheduled options for a series
  • Canceling a scheduled recording for an episode
  • Canceling a scheduled recording for a series

Download
Downloading a resource for local playback. Ensure that you modify the quality to download using the "Settings" tab. All local resources should playback appropriately, and the download size and speed should change based on the quality selected.

Resume points
The content should always start where the playback last ended. For instance, if you watch the first 5 minutes of a video and then quit the app, when you come back and play the video again, it should start at minute 5.

Connection Loss
Check that the loss of an internet connection is handled gracefully in the app. You should be able to open up the cloud or guide tab, remove the internet connection, and try to do something requiring a connection, like streaming a recording or setting a scheduled recording and it should gracefully handle the case where there's no connection.

Users

User details will be provided in the forum.

Format

For each report of a limitation or bug, we need the following information:

1) Steps to reproduce, including any needed information
2) Screenshots (if applicable)
3) Expected results after the bug is fixed
4) Current results, before the bug is fixed
5) OS version (6.0, 6.1, 7.0, etc...)
6) Device type and description (iPhone 4S, iPad 2, etc...)

Only actual bugs will be counted. Tickets logged for enhancements or issues that aren't bugs won't be counted.

When in doubt, always provide a screenshot. Screenshots are very helpful due to the graphical nature of the application and help clarify bugs. If you don't provide a screenshot, there's a good chance your bug will be rejected.

If you log a crash and don't provide a crash log, the bug will be rejected
If you do not properly document your bug reports, they will likely be rejected due to lack of information or documentation. Also, make sure your bug reports are reasonably general. If you submit the same bug that is seen in multiple screens, for instance, you will likely only get credit for the original bug report. The others will all be closed as duplicates.

You will log your tickets here: https://apps.topcoder.com/bugs/browse/HPBU You must select the "iOS Client" component for each logged issue or it may not get counted during review.

For scoring, the submitter with the most pints will win. The submitter with the second most points will receive second place. For submitters who submit but don't take first or second, if they submit bugs that aren't covered in the first or second place submission, they will receive $5 for each unique bug reported up to a maximum of the 2nd place prize

If two submitters submit the same bug report, the submitter who submitted the report first into JIRA will get credit for the bug. The second submitter will not.

OR Submission

You MUST submit a file with a list of your reported bugs into OR during the submission phase, for review purposes. If you do not do this, you will not get credit for any logged bugs!

 

 

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30036449