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.

  1. View current user's all albums
  2. View current user's all files 
  3. Update a file's name or thumbnail
  4. Update an album's name or thumbnail
  5. Soft-delete a file
  6. Soft-delete an album
  7. Permanently delete a file
  8. Permanently delete an album
  9. Move a file from one album to another
  10. Edit / update a file's binary data
  11. Upload a new file to an album
  12. Restore a soft-deleted file to a specific album
  13. Restore a soft-deleted album
  14. Get a thumbnail image for an album or file
  15. Get the data for a single file
  16. Get the data for a single album
  17. View current user's activities
  18. Get the detail for a single activity record

The functional tests should also cover the following failure/edge cases:

  1. The client API returns 401 HTTP response codes when the access token expires
  2. The client API returns 500 HTTP response codes when errors occur
  3. 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.

  1. 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

Existing Documents

  • Client's REST API Documentation
  • Existing iOS App
  • JavaScript Services Architecture Documents


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30045541