• 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