A Generic Testing Framework for Test Driven Development of Robotic Systems

  • Ali Paikan
  • Silvio Traversaro
  • Francesco Nori
  • Lorenzo Natale
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9055)


This paper proposes a generic framework for test driven development of robotic systems. The framework provides functionalities for developing and running unit tests in a language and middleware independent manner. Tests are developed as independent plug-ins to be loaded and executed by an automated tool. Moreover, a fixture manager prepares the setup (e.g., running robot drivers or simulator) and actively monitors that all the required resources are available before and during the execution of the tests. These functionalities effectively accelerate the development process and cover different levels of robotic system testing. The paper describes the framework and provides realistic examples to show how it has been used to support software development on our robotic platform.


Robot testing framework Unit testing Test-driven development Software engineering Robotics 



The research leading to these results has received funding from the European FP7 ICT project No. 611832 (WALK-MAN) and No. 600716 (CoDyCo).


  1. 1.
    Abran, A., Bourque, P., Dupuis, R., Moore, J.W.: Guide to the Software Engineering Body of Knowledge-SWEBOK. IEEE Press, Piscataway (2001)Google Scholar
  2. 2.
    AdaCore: Ada unit testing framework (2012).
  3. 3.
    Beck, K.: Test-driven Development: by Example. Addison-Wesley Professional, Boston (2003)Google Scholar
  4. 4.
    Bruyninckx, H.: Open robot control software: the OROCOS project. In: IEEE International Conference on Robotics and Automation. vol. 3, pp. 2523–2528. IEEE (2001)Google Scholar
  5. 5.
    freedesktop: cppUnit test framework (2013).
  6. 6.
    Garrett, J.J., et al.: Ajax: A new approach to web applications (2005)Google Scholar
  7. 7.
    Google: Google C++ Testing Framework (2013).
  8. 8.
    Ierusalimschy, R., De Figueiredo, L.H., Celes Filho, W.: Lua-an extensible extension language. Softw. Pract. Experience 26(6), 635–652 (1996)CrossRefGoogle Scholar
  9. 9.
    Janzen, D., Saiedian, H.: Test-driven development: concepts, taxonomy, and future direction. Computer 9, 43–50 (2005)CrossRefGoogle Scholar
  10. 10.
    Link, J.: Unit testing in Java: How Tests Drive the Code. Morgan Kaufmann, San Francisco (2003)Google Scholar
  11. 11.
    Meszaros, G.: xUnit Test Patterns: Refactoring Test Code. Pearson Education, Boston (2007)Google Scholar
  12. 12.
    Metta, G., Fitzpatrick, P., Natale, L.: Towards Long-Lived Robot Genes. Elsevier, Amsterdam (2007)Google Scholar
  13. 13.
    Metta, G., Sandini, G., Vernon, D.: The iCub humanoid robot: an open platform for research in embodied cognition. In: Proceedings of the 8th Workshop on Performance Metrics for Intelligent Systems, pp. 50–56 (2008)Google Scholar
  14. 14.
    Paikan, A.: yarpmanager: a way of running and managing multiple programs on a set of machines (2011).
  15. 15.
    Quigley, M., Conley, K., Gerkey, B.P., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: Ros: an open-source robot operating system. In: ICRA Workshop on Open Source Software (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Ali Paikan
    • 1
  • Silvio Traversaro
    • 1
  • Francesco Nori
    • 1
  • Lorenzo Natale
    • 1
  1. 1.Istituto Italiano di Tecnologia (IIT)GenovaItaly

Personalised recommendations