Challenge Overview
Hercules PCDVR HTML App - Services Testing Scenarios Specification
Overview
The Hercules PCDVR project allows users to upload their media to the Hercules cloud servers, including photos, videos, and music, along with other files. The client already has working iOS and Android apps that work with the client services. A set of contests is kicking off the HTML5 application that allows users to do the same thing they can with the mobile apps.
This challenge will specify a set of testing scenarios for the Javascript services.
Objective
The goal of this challenge is to develop a quality assurance plan and detailed test scenarios to ensure that Hercules MyMedia App Services work correctly and efficiently. The test scenarios should include functional, performance test and browser compatibility scenarios. The plan and scenarios should test the REST API access for both positive and negative cases.
Functional Test
The following is breakdown of general user operations in the HTML5 app, which involve the JavaScript services, please use them as the starting point for designing the functional testing scenarios, you may also refer to the existing iOS app and the client's REST API documentation.
- View current user's all albums
- View current user's all files
- Update a file's name or thumbnail
- Update an album's name or thumbnail
- Soft-delete a file
- Soft-delete an album
- Permanently delete a file
- Permanently delete an album
- Move a file from one album to another
- Edit / update a file's binary data
- Upload a new file to an album
- Restore a soft-deleted file to a specific album
- Restore a soft-deleted album
- Get a thumbnail image for an album or file
- Get the data for a single file
- Get the data for a single album
- View current user's activities
- Get the detail for a single activity record
The functional tests should also cover the following failure/edge cases:
- The client API returns 401 HTTP response codes when the access token expires
- The client API returns 500 HTTP response codes when errors occur
- The client API returns error responses that are in XML or plain-text format instead of JSON
Performance Test
You need to provide a plan to test the performance of the JavaScript services, in particular to test the response time and memory/CPU utilization.
Browser Compatibility Test
You need to provide a plan to test browser compatibility of the JavaScript services, and the following browsers must be supported:
- IE 10+
- Chrome 4+
- Firefox 3.5+
- Safari 4+
JavaScript Testing Framework
The testing scenarios produced from this challenge will be implemented in a downstream Unit Tests challenge, and mocha will be used as the testing framework so please keep this in mind. You are welcome to recommend other testing frameworks as you see fit, but please include justifications in your submission.
- Deliverables
- Test Scenarios Document: word document, must be compatible with Microsoft Word
- QA Plan Document: spread sheet, must be compatible with Microsoft Excel
Technology overview
- JavaScript
- HTTP
- REST
- HTML5
- AJAX
- reqwest 1.1.2
- loglevel 1.1.0
- mocha 1.21.4
Existing Documents
- Client's REST API Documentation
- Existing iOS App
- JavaScript Services Architecture Documents
Final Submission Guidelines
Please see above