TDD for Embedded C++
2018-08-31 14:24:42 UTC
Most useful learnings:
What TDD actually is, some practice with CppUTest, specifics about what should be tested, restructuring code to aid in testing, thinking ahead about how to structure new code to facilitate testing.
Concepts v exercises:
Presentation v discussion:
It felt like it was easy to lose the audience, particularly the last 2 days. Many people weren't paying attention, there were a lot of side conversations going on, people playing with their phones. Maybe those days aren't as helpful or engaging.
When the side conversations got out of hand, it would have been nice to remind everyone that at least of few of the attendees were trying to pay attention to the instructor.
Some of what I'm working on is build infrastructure, and the like, so not actual code. The code I am working on is itself a test harness.
Challenges to applying:
The code is in use in mission critical activities, and so there is high risk in refactoring things to be testable. There are dependencies on things outside our control - 3rd party libraries or code that has some things written in stone. We have to consider not only the risks in the code as it is, but the risks of making a change.
The 3rd and 4th days, it felt like we were struggling to fill the time. I would have been as satisfied with a shorter training.
Legacy code workshop:
Recommend to others: