Automated unit testing is considered a key practice for delivering quality software in many software development circles. But it’s a practice that’s been slow to gain traction in the embedded software space. That slow uptake is partly due to the unique challenges of writing software that may be tightly bound to the underlying hardware, and partly due to the lack of unit testing tools aimed at the C programming language most commonly used for embedded development.
Despite those hurdles, Syncroness has been experimenting with unit testing embedded software for roughly a decade, and we’ve learned a lot about what works and what doesn’t. In a new article on embedded.com, Syncroness Staff Software Engineer Matt Chernosky describes his personal journey towards applying unit testing and test-driven development to embedded software development, and explains the tools and practices that he has found most useful in employing modern unit testing techniques to produce high-quality embedded software.