Test Driven Development in Embedded Software

We (my company - Atomic Object) got challenged by a customer a while back that Agile Methodologies can't possibly work in embedded software. At first we agreed. Then we took it as a challenge as we're very big into Agile methods. We started by concentrating just on Test Driven Development and how to make it work well in tiny systems using C or even assembly.

Embedded projects seem less volatile in terms of requirements and feature changes - especially if there's little or no user interface. Thus, that of Agile that helps the customer manage changing needs seems to be less important in embedded software than in other systems. Now, of course, we've only been working in pretty small systems; something like consumer electronics or home theater components might be an entirely different story. So while we're still getting our arms wrapped around Agile in embedded software in a broad sense, we have been making good strides in TDD.

We feel like we're starting to make headway with some very interesting work so we want to share. Links to what we've developed and learned are below. We see ourselves doing more embedded work in the future because it's the wild frontier for developing good process. We're certainly curious to hear the thoughts of hard core embedded system developers. We haven't been finding a lot of movement in the Agile + embedded space though that seems to be changing. We think there's gains to be had. Though our work below might seem to carry with it lots of overhead, we're finding that's actually not the case. Process and convention are proving fruitful for us and really increasing quality for our customers.

Mike Karlesky Atomic Object

TDD in Embedded Software using Model-Conductor-Hardware design pattern: an IEEE paper

CMock - (Ruby based) mock tools for C

A small collection of embedded software posts and resources on our blog

Our Agile Software Development/Testing Custom Search Engine (just launched)

Reply to
Loading thread data ...

ROFL! What do you feed your marketing guys, and where can I buy some of it? I've seen a sensor project with no user interface, as such, get delayed by more than four years by changing marketing requirements.

Reply to


Karl, you have a disciplined team.

Tim Wescott
Wescott Design Services
 Click to see the full signature
Reply to
Tim Wescott

Thanks! All that was hilarious.


Reply to
John Larkin

Where is the Unity test framework mentioned in the paper "Effective Test Driven Development for Embedded Software"?

Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.