Practicing TDD in C is different than in Object Oriented languages. Specifically inserting test-doubles into your code and tests cannot rely on subclassing. You need to be proficient on using every stage of the build to sneak in the test doubles. Embedded developers often face the largest challenges, as they are likely to be wed to non-standard silicon-specific compiler tool chains.

In this class we'll see the latest using the linker, preprocessor, and function pointers to break problem dependencies. We'll also look at some of the tools available like CppUMock and the Fake Function Framework to avoid the tedium of creating all your test doubles and wiring by hand.

Additional Resources

About the Speaker(s)

James Grenning’s trains, coaches and consults worldwide. James’ mission is to bring modern technical and management practices to product development teams, especially embedded systems development team. He is the author of Test-Driven Development for Embedded C (http://wingman-sw.com/tddec). He is a co-author of CppUTest, a popular unit test harness for embedded C and C++. He invented Planning Poker, an estimating technique used around the world, and participated in the creation of the Manifesto for Agile Software Development.