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
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:
- Add switches to the code to detect the PCDVR build flag and the app running in the simulator
- Instead of using the real login, change the login screen to expect mock credentials, allowing for both successful and failed login
- Use a configurable value, read from the Configure.plist for the "Authguid" header field in BackendService.mm
- 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