Course code: SPR-001
  • Years with company: 2
  • Years programming: 26
  • Primary programming language: C/C++
  • Other programming languages: C#, python
  • Unit test harnesses: cUnity, cpputest, gtest, cxxtest
  • Something else: I've been working for 20 years with embedded systems in risk-oriented developments. Unit Testing was a game changer for me. I do not fully agree with everything TDD proposes, but I successfully integrated several approaches into my development cycle.
  • Test practice now: First unit testing, then integration tests (automatic when possible), and finally manual system level partial testing (full system level verification and validation is done by other departments).
  • Target system: Usually embedded systems (RTOS or linux), but sometimes PC
  • Dev tools: Visual Code, makefile, cmake, propietary compilers, git, QAC static analyser
  • Build time: 1-5 minutes
  • Coding standard: Primarily MISRA-C/C++, plus in-house rules for defensive programming
  • Function too long: It does too many things or you have to scroll to see all of it
  • Code reviews: Our processes include peer reviews before the feature branch is merged.
  • Code time: 30
  • Test time: 30
  • Debug time: 40
  • Favorite thing about dev: it is fun!!
  • Least favorite thing about dev: When you spend days and days looking for a bug you could have avoided
  • Tdd knowledge: I've read a few books, including "Test-Driven Development for Embedded C"
  • Why are you attending: I am not fully convinced with the TDD approach. Looking for more in deep learning.