Most people think that writing unit tests for a robot is too hard or just plain impossible. We will spend the first part of the session explaining how to create an architectural boundary around the hardware and keep it separate from the rest of the software. Once the boundary has been established we will demonstrate creating mock objects as a substitute hardware layer.
The attendees will be given an API and explanation of its methods which control the robot. Everyone will be asked to pair up and then given the same programming assignment for the robot. The assignment could be something like: run a maze, follow the line, or pick up sticks.
The second half of the session is for writing unit tests and code for the assignment. Each pair can only connect to the robot when they have sufficient unit tests demonstrating their solution, simulating typical hardware development limitations. They will be asked to share their architectural and testing strategies.
Question and Answers will be fielded throughout the session.