Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The source code and documentation of the RTF can be accessed on-line at http://robotology.github.io/robot-testing/index.html.
- 2.
In YARP data from generic sensors are published and read from Port objects. BufferedPort is a specialization of Port that support streaming operations.
- 3.
Please refer to http://wiki.icub.org/yarpdoc/yarpmanager.html for the structure and syntax of the YARP application description file.
- 4.
Please refer to http://robotology.github.io/robot-testing/documentation/testrunner.html for the documentation of the test runner.
References
Abran, A., Bourque, P., Dupuis, R., Moore, J.W.: Guide to the Software Engineering Body of Knowledge-SWEBOK. IEEE Press, Piscataway (2001)
AdaCore: Ada unit testing framework (2012). http://libre.adacore.com/tools/aunit
Beck, K.: Test-driven Development: by Example. Addison-Wesley Professional, Boston (2003)
Bruyninckx, H.: Open robot control software: the OROCOS project. In: IEEE International Conference on Robotics and Automation. vol. 3, pp. 2523–2528. IEEE (2001)
freedesktop: cppUnit test framework (2013). http://freedesktop.org/wiki/Software/cppunit
Garrett, J.J., et al.: Ajax: A new approach to web applications (2005)
Google: Google C++ Testing Framework (2013). http://code.google.com/p/googletest
Ierusalimschy, R., De Figueiredo, L.H., Celes Filho, W.: Lua-an extensible extension language. Softw. Pract. Experience 26(6), 635–652 (1996)
Janzen, D., Saiedian, H.: Test-driven development: concepts, taxonomy, and future direction. Computer 9, 43–50 (2005)
Link, J.: Unit testing in Java: How Tests Drive the Code. Morgan Kaufmann, San Francisco (2003)
Meszaros, G.: xUnit Test Patterns: Refactoring Test Code. Pearson Education, Boston (2007)
Metta, G., Fitzpatrick, P., Natale, L.: Towards Long-Lived Robot Genes. Elsevier, Amsterdam (2007)
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)
Paikan, A.: yarpmanager: a way of running and managing multiple programs on a set of machines (2011). http://wiki.icub.org/yarpdoc/yarpmanager.html
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)
Acknowledgments
The research leading to these results has received funding from the European FP7 ICT project No. 611832 (WALK-MAN) and No. 600716 (CoDyCo).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Paikan, A., Traversaro, S., Nori, F., Natale, L. (2015). A Generic Testing Framework for Test Driven Development of Robotic Systems. In: Hodicky, J. (eds) Modelling and Simulation for Autonomous Systems. MESAS 2015. Lecture Notes in Computer Science(), vol 9055. Springer, Cham. https://doi.org/10.1007/978-3-319-22383-4_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-22383-4_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-22382-7
Online ISBN: 978-3-319-22383-4
eBook Packages: Computer ScienceComputer Science (R0)