• Course: TDD for Embedded C/C++
  • Date entered: 2023-05-18 19:54:20 UTC
  • Course rating: Very Good
  • Most useful learnings: The most useful thing I learned was how to use the tools like fakes/spies/mocks to make testing much better while you are in different stages of implementation.
  • Concepts v exercises: Not enough exercises
  • Presentation v discussion: Good balance
  • Course improvements: I think this course could be improved by having more time working on the exercises in groups. I found the pair programming to be very helpful but we were not able to complete the exercises.
  • Exercise rating: Very Good
  • Exercise improvements: The exercises were well thought out and easy to follow. One thing I think could be improved is to maybe break up the group exercises into multiple parts so that we could complete a part, discuss, then continue with the rest.
  • Instructor comments: James is very enthusiastic which makes it easy to pay attention to what he is talking about and following along. Also he was very helpful during the exercises with nudging us in the right direction and leading us onto the TDD path when we went astray.
  • Better prepared: Much better
  • Start tomorrow: No. The code we have is legacy and has a large amount of dependencies. On top of that we currently have no means to simulate the hardware for our embedded system. However this paradigm could be applied to future projects.
  • Challenges to applying: One challenge is the size and complexity of the existing code. Some parts of the code are decades old and interfaces between C++ and ADA are fragile. Another challenge the time it takes to run tests. With no way to run the code outside of the actual hardware out test feedback loop is in the realm of 10-20 minutes rather than seconds. An ever present challenge is schedule, it will be difficult to carve out enough time for the team to refactor and apply TDD to our existing code.
  • Other comments: Only other comment is that I wish the course was longer.
  • Legacy code workshop: No
  • Recommend to others: Yes
  • Quote permission: Yes