TDD for Embedded C
2020-07-24 14:14:45 UTC
Most useful learnings:
I had tried using the CppUTest mocks before and I couldn't quite wrap my head around what I was supposed to be doing. I definitely have a better understanding of how those work and how useful they can be for drivers.
Concepts v exercises:
Presentation v discussion:
It may have been due to the remoteness of the class and the varying skillsets, but it seemed like a lot of subject matter for only 3 half days. I don't think there was anything I wanted covered that wasn't, but I couldn't tell if we were skipping things or not.
Having read the book years prior, the exercises were very familiar, a little too familiar. Although I realize that is maybe more the exception than the rule.
James was very knowledgeable on the subject matter. I don't have anything negative to say.
Yes (already have). I read the book probably 4 years ago, used it on a project where I was the only developer and don't think I would have been successful without it. After that project, I setup CI and automated unit testing which has caught many problems since then. Only myself and one other developer have attempted to actually use the tests to drive the design, which has worked out well. I have made the decision personally that whether testing is supported by the project or not, that I'll be writing tests for the code I write.
Challenges to applying:
One developer has flat out said they don't have time to write the tests as a senior developer. They will often write code, then assign someone else to write the tests after the fact, even though they have said multiple times when they have written tests that it's caught errors and they were surprised at all the mistakes they made. One other developer prefers to do things their own way, eschewing the framework in place. Bottom line, it's a cultural thing. Without everyone taking a course on it and not able to force them to read the book, there's bound to be limited acceptance.
I thought remote delivery was fine. There were some technical glitches, like the lag or slowdown in video but not audio. That didn't result in the training being any less effective though. The hardest part was just being at home with the myriad distractions that having multiple young children brings. I thought the dojo worked well for being remote, not having to setup an environment locally was really nice.
Legacy code workshop:
Recommend to others: