Skip to content

Test suite

Rui Zhao edited this page Mar 13, 2020 · 7 revisions

Test suite

Test creation

This test is used to verify:

  • The creation of the XMPP client of the SOO on the XMPP server
  • The creation of the XMPP client of the Dummy Simulation Manager used for the test
  • The creation of the rosters of the two components used to receive the presences

The test checks that the manager has been successfully added to the roster of the SOO after been created

Test run simulation

This test is used to verify:

  • The start of the SOO with a set of requirements for the simulation to be run (dimensions, number of agents)
  • The ability to match the requirements with the features provided by the Dummy Simulation Manager
  • The ability to select the Simulation Manager and to send the RunSimulation message

The test checks that the Dummy Manager receives the correct XMPP message and reply with the SimulationResult message

Test run optimization

This test is used to verify:

  • The start of the SOO with a set of requirements for the simulation to be run (dimensions, number of agents) and the request to do optimization.
  • The ability to match the requirements with the features provided by the Dummy Simulation Manager
  • The creation of the XMPP client of the Dummy Optimization Tool used for the test
  • The ability to test if the SOO can transfer the configuration files(e.g. fitness script) and configure the Simulation Manager as an available one to be recognized by Dummy Optimization Tool
  • The ability to send a StartOptimization message to the Dummy Optimization Tool
  • The interaction between the SOO, Optimization Tool and Simulation Manager during the optimization
  • The ability for SOO to receive correctly the result of the optimization, when it is finished

The test checks that the optimization is correctly finished

Test kubernetes

This test is used to verify:

  • The possibility to use the Kubernetes client embedded in the SOO to connect to a Kubernetes Master. Indeed, the SOO can also be used to automatically deploy the needed Simulation Managers in a Kubernetes cluster, to do this, it must be able to successfully connect to the Master node of an already existing Kubernets cluster.

The test checks that the SOO is able to connect to a master node and that the client can send a command to query the API.

Test add a new SimulationManager

  • All Tests included in above Test run optimization with only one Dummy Simulation Manager available at the beginning of the optimization

  • The ability for SOO to detect a second new Dummy Simulation Manager and configure it to be used also in optimization at runtime

  • The ability for Dummy Optimization Tool to make use of a second new Dummy Simulation Manager in the optimization at runtime

Test Dummy Optimization Tool error recovery

  • All Tests included in above Test run optimization with only one available Dummy Simulation Manager

  • The ability for Dummy Optimization Tool to report the errors to SOO during the optimization

  • The ability for SOO to backup the current optimization status and to restart the optimization from the breakpoint at runtime

Test create ROS package

This test is used to verify:

  • that the SOO is able to generate the simulation ROS package to be used to run the simulation in one of the supported simulators

The test checks that the package is actually created at the end of the process.

Test create ROS package with existing directory

This test is used to verify:

  • that the SOO is able to generate the simulation ROS package updating one package already generated

The test checks that the package is actually updated at the end of the process.

Test generate

This test is used to verify:

  • that the SOO is able to generate the code to be inserted in the simulation package

The test checks that the code is actually generated at the end of the process.

Test validate generated files

This test is used to verify:

  • that the SOO is able to generate the code to be inserted in the simulation package
  • that the code generated is valid

The test checks that the code generated is valid code to be used in the simulation package.