RAPP Platform Wiki  v0.6.0
RAPP Platform is a collection of ROS nodes and back-end processes that aim to deliver ready-to-use generic services to robots
 All Files Pages
RAPP-Testing-Tools

Testing tools used for RAPP Platform integration tests.

The RAPP Testing Tools have been developed in consideration of providing to RAPP developers, a system integration suite. While developing independent RIC modules, Web Services, Platform Agents, Robot Agents, the rapp_testing_tools package provides a way to test the functionality, system-wide.

All tests use the Python implementation of the RAPP Platform API,rapp-platform-api/python, to request for .

A test, written under the RAPP testing tools framework, is composed of, at-least, the following ingredients:

  • The source code of the test class.
  • (Optional) Data files used as a part of the test, if any are used. Data files can be, for example, image data files that will be transmitted to the RAPP Platform in order to perform image processing algorithms on those.

The implementation of a test is splitted into the following:

  • The RAPP Platform Service call(s).
  • The validation of the response.

Test classes inherit from Python unit testing framework, unittest

At least one test, for each module located under the RAPP Improvement Center, has been developed. Integration test are used to check on the integration functionality, of the independent components which constitute the RAPP system. Those are developed in a way to also test the functionality of the interface layers between a client-side process and the RAPP Services.

Executing integration tests

The rapp_run_test.py script is used in order to execute developed tests. This script accepts the following arguments passed by the cli:

  • [ **-i** ] : Test filepath, to execute. If empty, all tests under the default_tests directory will be executed.

```bash $ ./rapp_run_test_.py -i default_tests/face_detection_tests.py ```

  • [ **-n** ] : Number of times of test(s) execution.

```bash $ ./rapp_run_test.py -i default_tests/face_detection_tests.py -n 10 ```

  • [ **-t** ] : Run the test in threaded mode. Multible invocations can be done, simultaneous. Each test execution is handled by a single thread.

```bash $ ./rapp_run_test.py -i default_tests/face_detection_tests.py -n 10 -t ```

Note: If no test_name is provided as argument, all tests are executed!!

Developing integration tests

A template_test.py is located under the default_tests directory of the rapp_testing_tools package.

```bash $ <path_to_rapp_testing_tools_package>/scripts/default_tests/ ```

Also, several tests have already been developed, located under the default_tests directory. Those can be used as a reference/examples for developing new tests.

A Section in the Wiki exists that guides through developing integration tests for the RAPP Platform.