Back to proposals-2013

Title: Test driven development on the Raspberry Pi
Proposer: willem_van_den_ende
Proposer: marc_evers
Proposer: rob_westgeest
Type: Tutorial
Duration: 90 minutes
Description:
This will be bits of presentation mixed with a prepared kata to show how we do it.

Doing test-driven development for embedded devices is possible. It has its' own set of constraints, such as:


Luckily Moore's law also applies to embedded development so we can increasingly use higher level languages, which make practices like test driven development and continuous integration feasible for embedded development as well. And with some creativity we can write end-to-end tests for the parts of our solution that defy unit testing.

In this presentation we will show how we developed a soft-drinks vending machine prototype using raspberry pi's, arduino, lego and various bits and pieces. See how we used test driven development and hexagonal architecture to keep our code clean and our minds sane.

topics: test driven development, hexagonal architecture, continuous integration, growing object oriented software guided by tests audience: developers, lead engineers

Description of the hands-on session to go with it:
Embedded TDD on the Rasbperry Pi hands-on On the one hand, 'embedded' becomes more and more software. On the other, software gets embedded in more and more things. With devices like the Raspberry Pi and Gumstix rolling your own becomes feasible. At least we can experiment with getting fast feedback cheaply. Test Driven Development (TDD) can drive your design and give fast feedback on the quality of your work. Doing this on an embedded device gives some additional challenges - it's often not so easy to talk to the device & get your software on it, while the choice of programming language is often limited (C anyone?).
Join this session to have some fun with TDD on a Raspberry Pi with a two line display and some buttons. Add a feature to our vending machine by writing some end-to-end tests and unit tests first.
If you're lucky, you can run your tests on the Raspberry Pi from our buildserver, but since like in the 'real world' 'the device' is not that often available… you'd better be lucky, or develop with discipline ;)

Jon: Note - there will be two speakers: Willem van den Ende with Marc Evers or Rob Westgeest