Task

Every student will be assigned one configurable system and will produce a test suite adequate for specific test requirements.

 

Test Requirements

  1. For every method that directly accesses a feature variable, there needs to be a test dynamically covering it.
    Remark: There need Not be a separate test for every such method.

  2. For every feature variable there needs to be a test that dynamically covers that variable without explicitly setting its value in the test code.
    Remark: Do not set feature variable values unless absolutely required to satisfy some requirement.

  3. The assertions in a test should validate the functionality of the methods invoked in the test (specifically those that have not already been validated in another test).
    Remark: If there is a specific behavior enabled by the feature variables covered by the methods, the assertions should check this behavior.

 

Example

GPL.zip

The following figure illustrates the test suite produced in order to cover the test requirements, considering feature variables BFS and SEARCH, for GPL.

 

 

 

 

This test and the GPL source code are available at: GPL.zip