Site Information

 Loading... Please wait...

Blog

Applying Test Driven Development (TDD) to Embedded C

Posted by Technical Literature on

Test Driven Development for Embedded C by James Greening

Another day without Test-Driven Development (TDD) results in time wasted with chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not; it's for you, the embedded C programmer. TDD helps you prevent defects and effectively build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.

TDD is a modern programming practice any embedded C developer needs to know. It is definitely a different way to program; unit tests are written in a tight feedback loop with the production code, assuring the code does what it is expected to do. There will be frequent, valuable feedback regarding the coding progress and its validity. Mistakes are being found before they become bugs. There will be early warnings in case of design problems. Furthermore, there are immediate notifications of side effect defects. The embedded programmer will spend more time adding valuable features to the product.

James W. Grenning is one of the few experts in applying TDD to embedded C. With his 15+ years of training, coaching, and practicing TDD in C, C++, Java, and C#, he will lead the programmer from being a novice in TDD to using the techniques that few have mastered.

This book is full of code written for embedded C programmers. You don't just see the end product, you see code and tests evolve. The author leads you through the thought process and decisions made each step of the way. You will learn techniques for test-driving code right next to the hardware, and you will learn design principles and how to apply them to C keeping your code clean and flexible.

To run the examples in this book, you will need a C/C++ development environment on your machine, and the GNU GCC tool chain or Microsoft Visual Studio for C++ (some project conversion may be needed).

=> More Information...