In this episode of the Agile Embedded Podcast, we are joined by Mark VanderVoord and Michael Karlesky, creators of the open-source tools Unity, CMock, and Ceedling, which help developers unit test C code. Mark and Michael share their journey of creating these tools, their experiences as open-source maintainers, and insights into the evolving landscape of embedded systems testing.
The discussion covers the origins of their tools, the challenges of maintaining open-source projects, and the different needs of various embedded development communities. We also explore the gaps in current testing tools, particularly in system and integration testing for embedded systems. The episode concludes with exciting news about the upcoming Ceedling 1.0 release and the launch of Ceedling Pro, a new commercial support offering.
Key Topics Discussed:
- Origins of Unity, CMock, and Ceedling (3:00)
- Challenges of open-source maintenance (14:30)
- Barriers to entry for test-driven development in embedded systems (9:15)
- System and integration testing tools for embedded systems (28:00)
- Use of simulators and emulators in testing (37:30)
- Changes in embedded development communities over time (41:30)
- Upcoming Ceedling 1.0 release and Ceedling Pro launch (52:00)
Notable Quotes:
"The tools were really easy to develop in the first place. Unity is a very simple thing, and some people just use that without any of the rest of our tools. So the tool concept is not that hard. The thing that's hard, I think, for people getting into test-driven development or even test after is, more conceptual, like what do you test and how do you test it and what's worth doing and what's not." - Mark VanderVoord (10:15)
"GitHub as a tool is amazing. And also there's a couple, I love that they have all these metrics for like contributing to projects and stuff like that. And that really motivates some people, but also that occasionally gets in our way because as Mike said, the easiest path isn't always directly merging something and then they don't get credit for." - Mark VanderVoord (21:30)
"Arduino actually cured me of my hatred for C++. I, for a long time, despised C++. I just, it was just so stupidly complicated and arcane and just a junk drawer of software concepts." - Michael Karlesky (47:30)
Timestamps:
0:00 - Introduction and guest introductions
3:00 - Origins of Unity, CMock, and Ceedling
9:15 - Barriers to entry for test-driven development in embedded systems
14:30 - Challenges of open-source maintenance
28:00 - Discussion on system and integration testing tools
37:30 - Thoughts on simulators and emulators in testing
41:30 - Changes observed in embedded development communities
47:30 - Arduino and its impact on C++ perception
52:00 - Upcoming Ceedling 1.0 release and Ceedling Pro launch
55:30 - Closing remarks and contact information
For more information about the topics discussed, visit throwtheswitch.org or reach out to Mark and Michael directly.
https://www.linkedin.com/company/100875285/
mark.vandervoord@thingamabyte.com
michael.karlesky@thingamabyte.com
www.throwtheswitch.org
www.github.com/ThrowTheSwitch/Ceedling
You can find Jeff at https://jeffgable.com.
You can find Luca at https://luca.engineer.
Want to join the agile Embedded Slack? Click here