Towards Test-Driven Development for Mobile Robots

976 views
880 views

Published on

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

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
976
On SlideShare
0
From Embeds
0
Number of Embeds
523
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Towards Test-Driven Development for Mobile Robots

  1. 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. 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. 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 !
  4. 4. http://car.mines-douai.fr May 2013, @SDIR - ICRA 4! Software Development! Specifications /! Requirements! Software!
  5. 5. http://car.mines-douai.fr May 2013, @SDIR - ICRA 5! Software Development! Specifications /! Requirements! Software!
  6. 6. http://car.mines-douai.fr May 2013, @SDIR - ICRA 6! Software Development! Specifications /! Requirements! Software! complies with?!
  7. 7. http://car.mines-douai.fr May 2013, @SDIR - ICRA 7! Test-driven Development! Specifications /! Requirements! Software!
  8. 8. http://car.mines-douai.fr May 2013, @SDIR - ICRA 8! Test-driven Development! Specifications /! Requirements! Software! Tests!
  9. 9. http://car.mines-douai.fr May 2013, @SDIR - ICRA 9! Test-driven Development! Specifications /! Requirements! Software! Tests!
  10. 10. http://car.mines-douai.fr May 2013, @SDIR - ICRA 10! Test-driven Development! Specifications /! Requirements! Software! Tests! complies ! with?!
  11. 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! • ...!
  12. 12. http://car.mines-douai.fr May 2013, @SDIR - ICRA 12! TDD for Mobile Robotics " Software Development ! Control! Software! Specifications /! Requirements! Tests!
  13. 13. http://car.mines-douai.fr May 2013, @SDIR - ICRA 13! Why TDD for " Mobile Robotics Software! Control! Software! Specifications /! Requirements! Tests!
  14. 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. 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. 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! • ...!
  17. 17. http://car.mines-douai.fr May 2013, @SDIR - ICRA 17! Requirements " for Robot Test! • Repeatability! • Reuse! • Safety! • Automation!
  18. 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!
  19. 19. http://car.mines-douai.fr May 2013, @SDIR - ICRA 19! Example! the robot should move straight 4m with 3% of error ! at most!Specifications /! Requirements!
  20. 20. http://car.mines-douai.fr May 2013, @SDIR - ICRA 20! A Motion Test! Test!
  21. 21. http://car.mines-douai.fr May 2013, @SDIR - ICRA 21! Test! A Motion Test! Test name!
  22. 22. http://car.mines-douai.fr May 2013, @SDIR - ICRA 22! Test! A Motion Test! Tester action requested ! to setup the robot name!
  23. 23. http://car.mines-douai.fr May 2013, @SDIR - ICRA 23! Test! A Motion Test! Tested code!
  24. 24. http://car.mines-douai.fr May 2013, @SDIR - ICRA 24! Test! A Motion Test! Assertion verified! by the tester!
  25. 25. http://car.mines-douai.fr May 2013, @SDIR - ICRA 25! A Motion Test! But the robot ! should not hit walls !!
  26. 26. http://car.mines-douai.fr May 2013, @SDIR - ICRA 26! A Motion Test! Add collision detection using Laser! But the robot ! should not hit walls !!
  27. 27. http://car.mines-douai.fr May 2013, @SDIR - ICRA 27! A Motion Test! Collision detection using Laser!
  28. 28. http://car.mines-douai.fr May 2013, @SDIR - ICRA 28! A Motion Test! Add required Tests !
  29. 29. http://car.mines-douai.fr May 2013, @SDIR - ICRA 29! A Motion Test!
  30. 30. http://car.mines-douai.fr May 2013, @SDIR - ICRA 30! Laser Tests! PBLaserTest!
  31. 31. http://car.mines-douai.fr May 2013, @SDIR - ICRA 31! Laser Tests!
  32. 32. http://car.mines-douai.fr May 2013, @SDIR - ICRA 32! Laser Tests!
  33. 33. http://car.mines-douai.fr May 2013, @SDIR - ICRA 33! Laser Tests!
  34. 34. http://car.mines-douai.fr May 2013, @SDIR - ICRA 34! Laser Tests!
  35. 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. 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. 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. 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. 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!
  40. 40. http://car.mines-douai.fr May 2013, @SDIR - ICRA 40! Running a Test! Requirements ! are executed! first!
  41. 41. http://car.mines-douai.fr May 2013, @SDIR - ICRA 41! Running a Test!
  42. 42. http://car.mines-douai.fr May 2013, @SDIR - ICRA 42! Running a Test! 1 run, 0 passes,! 1 requirementFailure!
  43. 43. http://car.mines-douai.fr May 2013, @SDIR - ICRA 43! Summary!
  44. 44. http://car.mines-douai.fr May 2013, @SDIR - ICRA 44! Summary!
  45. 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. 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!

×