Key Information

Register
Submit
Status: ‌Cancelled zero submissions

Challenge Overview

The Hercules Personal Content DVR application will be used to expand the Hercules Player app, allowing users to upload their own video content they recorded on their iPhone or iPad camera into their DVR for playback on their TV and syncing with other devices.

This competition will implement Kif tests for the standalone version of the app.

This is the first test case competition for this particular application, so it will lay the groundwork for future competitions.

Test scenarios

The forum contains test scenarios and an ARS.  We are going to implement functional test cases listed below.

Note that the test cases must cover iPhone / iPad

https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/UnitTestYourApp/UnitTestYourApp.html

Simulator testing

These test scenarios need to run in the simulator.  The problem is that the client's player library won't work in the simulator, which is what we use for login / authentication.  To get around this, you will make a few changes to the code:

  1. Add switches to the code to detect the PCDVR build flag and the app running in the simulator
  2. Instead of using the real login, change the login screen to expect mock credentials, allowing for both successful and failed login
  3. Use a configurable value, read from the Configure.plist for the "Authguid" header field in BackendService.mm
  4. Disable the call to [[DrmFacade sharedInstance] loadConfiguration]; in the QuantumAppDelegate didFinishLaunchingWithOptions

These changes should allow the app to function normally in the simulator.

It's important that these changes ONLY affect the app running in the simulator, not on a device.  We want to be able to test in the simulator, but have the app work normally, without these mocks, on a device.

Required test cases

  • 10 (ignore CAPTCHA)
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 24
  • 25
  • 27
  • 29
  • 30
  • 31
  • 32
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

 

Versions

Please target OS X server 10.9 and XCode 5.

KIF

We use the KIF framework for the tests:

https://github.com/kif-framework/KIF

Naming convention

Please make sure the name of the test includes the test scenarios number and a short description so we can easily see and reference what scenario exactly is failing during regression testing.

Conflicts

If there are any test scenarios that conflict with the existing code, we will follow the existing code, not the scenario.  Note that the login process has changed dramatically since the test scenarios were completed.  The app now has a native login screen and there are no longer the 3 welcome screens referenced in the scenarios.

Code modifications

You are allowed to modify the code to include accessibility elements to make unit tests easier, but you are *not* allowed to edit any functionality without approval in the forum.

Documentation

Step by step deployment documentation is critical for this application.  Your deployment documentation must be thorough and include clear setup information to aid the copilot and reviewers.

 



Final Submission Guidelines

Technology overview

* XCode 5
* iOS 6+
* iPad 2+
* KIF


Existing Documents

  • Existing code - in the forum
  • Test scenarios - in the forum
  • ARS - in the forum

 

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30040887