High Level Requirements and Requested Features

For the first phase,

  1. Functionality of current player
  2. Functionality of current server
  3. Runs on Windows 7 or Linux
  4. Demonstrate the primary use case.

The features in the following list are not currently supported by DvrExerciser.  Many may be added without updates to Rx.  Later phases will add these features.  The point is that the design of Rx should not make it hard to add these features using other tools such as ant, FitNesse, TestLink, svn, Chainsaw, etc.

Automation for continuous integration
  1. Start a test run, stop  it, and evaluate results from an ant script
  2. Preload a  CDS containing recordings and live streams
  3. Archive test results 
Minimize the work to create test procedures
  1. Build new tests with a simple editing tool, such as a spreadsheet
  2. Provide simple looping constructs and control structures to minimize script coding
  3. Coordination of events between player and server is reliable and visible
  4. Tests may be organized into suites
  5. Test procedure events are parameterised (e.g. the number of seconds for a recording)
Capture information to analyze results, make it readily available, and automate the expected result
  1. Isolate certain dialogs between UPnP messages, like wireshark does
  2. Assertion mechanism, like JUnit or AutoXlet
Provide "Guide" Type OCAP Xlet and extensible structure for development testing

 Allow software developers to have an OCAP Xlet available which can be extended to test new features at a functional/application level. 

Provide a collection of code which demonstrates possible methods of implementing functionality in an OCAP Xlet.
Provide a framework that as new functionality is added, it is provided through an interface that can be used by both a automated test script and a GUI.
Maintenance
  1. Adding major new functions and features to Rx does not murder existing test cases