Course:
TDD for Embedded C
Date entered:
2015-04-16 21:52:35 UTC
Course rating:
Fair
Most useful learnings:
Concepts v exercises:
Too many exercises
Presentation v discussion:
Too much presentation
Course improvements:
Needs to focus more on _embedded_ use of TDD. We all know how to do TDD and unit-testing on simple code as was shown in the exercises. We were hoping to take away novel ways of doing things with Unit-testing such as how to cover actual threading models (not just fake them out).
Exercise rating:
Fair
Exercise improvements:
The exercises were too easy and seemed to be catered towards the slowest of the packs (the non C developers of the group). The more advanced C-programmers in the class had the feeling this was more a C-training class than a TDD class
Instructor comments:
Actually, pretty good!
Better prepared:
Not at all
Start tomorrow:
no. main reasons:
1. Build infrastructure requires extensive changes to allow for new unit-testing
2. We already have a (poor) unit-test framework in place but I refuse to use it (because it is just really poor)
3. TDD will not give extra bang for the buck in this environment
Challenges to applying:
The kind of bugs CppUnit or TDD can find for us, are simply not the ones we ever have to spend time on debugging. I cannot remember one instance where CppUnit or TDD could have saved us time. The vast majority of debugging we spend as real embedded engineers (not those pseudo-embedded engineers working on a raspberry pi beginner thing) is in debugging and characterizing undocumented behavior of custom made hardware.
Other comments:
This could have been condensed into 1 day max, preferably 4 hours at most. Less tedious exercises and more talk about the concepts. More focus on TDD, less focus on how to write code.
Legacy code workshop:
No
Recommend to others:
No
Quote permission:
Yes