Slides of the presentation given at the ICRA 2013 workshop on Software Development and Integration in Robotics (SDIRIII) http://robotics.unibg.it/tcsoft/sdir2013/index.html
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Towards Test-Driven Development for Mobile Robots
1. Towards Test-Driven Development
for Mobile Robots
Luc Fabresse, Jannik Laval and Noury Bouraqadi!
http://car.mines-douai.fr!
@SDIR - ICRA - May 2013!
2. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
2!
Outline!
1. Test-driven Development (TDD)!
2. TDD for Mobile Software Robotics!
3. BoTest!
4. Report on an Experiment!
5. Summary & Future Work!
3. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
3!
CAIRE Project!
• Coodinator: Luc Fabresse!
• Partners: INRIA Lille RMoD, IEMN Telice!
• 2012-2014!
• Nord-Pas de Calais Council funding (France)!
• Indoor Exploration and Mapping!
• Agile methodology for Robotic Software !
11. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
11!
Benefits of TDD!
• Requirements as executable units: Tests!
• Ensure Software compliance with Tests !
• Short development cycles!
• Detecting regressions!
• ...!
14. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
14!
Why TDD for "
Mobile Robotics Software!
Control!
Software!
Specifications /!
Requirements!
Tests!
for one
product line !
15. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
15!
Why TDD for "
Mobile Robotics Software!
Specifications /!
Requirements!
Tests!
for one
product line !
written once! • Quality
Assurance!
• Maintenance !
Control!
Software!
16. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
16!
Challenges of TDD "
for Mobile Software Robotics!
• Hardware in the loop!
• ``identical’’ hardware in production lines!
• Physical constraints!
• ...!
18. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
18!
A Tool for Robotics TDD!
• BoTest (http://car.mines-douai.fr/software/)!
• Implemented in as an extension of SUnit"
(http://www.pharo-project.org)!
• Helps to write tests for robots!
• Support expressing dependencies between tests!
• Run tests in a specific order!
35. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
35!
Running a Test!
the robot "
should move
straight 4m with
3% of error !
at most!
Specifications /!
Requirements!
testStraightLineMotion!
36. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
36!
Running a Test!
the robot "
should move
straight 4m with
3% of error !
at most!
Specifications /!
Requirements!
testStraightLineMotion!
37. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
37!
Running a Test!
the robot "
should move
straight 4m with
3% of error !
at most!
Specifications /!
Requirements!
testStraightLineMotion!
1 run, 1 passes!
38. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
38!
Running a Test!
the robot "
should move
straight 4m with
3% of error !
at most!
Specifications /!
Requirements!
testStraightLineMotion!
1 run, 1 passes! 1 run, 0 passes,!
1 requirementFailure!
39. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
39!
Running a Test!
the robot "
should move
straight 4m with
3% of error !
at most!
Specifications /!
Requirements!
testStraightLineMotion!
1 run, 1 passes! 1 run, 0 passes,!
1 requirementFailure!
45. http://car.mines-douai.fr
May 2013, @SDIR -
ICRA
45!
Future Work!
• Automatic test dependencies extraction!
• Improve tests automation !
• Continuous integration for non-interactive tests!
• Specialized development tools!
46. Towards Test-Driven Development
for Mobile Robots
Luc Fabresse, Jannik Laval and Noury Bouraqadi!
firstName.lastName@mines-douai.fr
@SDIR - ICRA - May 2013!
Looking for a 18 months PostDoc!
http://car.mines-douai.fr/2013/03/postdoc-position/!More infos:!
Keywords: Robotics Software,Agile development, Dynamic Languages, ... !
Starting: ~Sept 2013!