7. Conclusions#

This paper shows one way how Reactis can be used within a Jenkins-controlled build/test process to automatically test a software system under development. There are many different ways in which Reactis can be used:

  • To generate tests which attempt to maximize model/code coverage. Reactis continuously analyzes the model/code structure throughout a test, intelligently selecting inputs at every step which cover targets that have not been covered yet.

  • To generate tests which test requirements using Reactis Validator. Reactis will track assertions and user-defined targets which are expressed as annotations to the model/code (this is done without modifying the model/code under test).

  • To perform regression testing. Test suites from previous testing sessions can be saved and re-executed, so that any changes to the system behavior can be easily detected.

  • To perform back-to-back testing. When using a model-based development process, Reactis can be used to test model vs. code behavior to ensure that the code and model behave identically.

Overall, the process of integrating Reactis into a Jenkins-controlled automatic build is not too hard when using the methodology outlined in this paper. The most difficult part is writing the .m script which uses the Reactis API to perform the actual testing. On the plus side, it’s possible to do basic testing using just a few calls to the Reactis API, as demonstrated by the MATLAB script (which is a complete and working script). Once the testing script has been developed, the other steps are pretty simple.



Reactive Systems logo