Course code: WEB-28
  • Years with company: 1
  • Years programming: 35
  • Primary programming language: C
  • Other programming languages: C++, Java
  • Unit test harnesses: CppUTest
  • Something else: Past experience included embedded software for large devices like routers as well as IOT with the IOT devices being my introduction to CppUTest. CppUTest is also used at my current job. Since I started this year I am spending more time writing code and less time debugging code on existing projects than usual.
  • Test practice now: I start debugging and testing by loading the code on the hardware, running it with CLI commands or instrumented code that exercises the new features. After that we use CppUTest for unit test and also lint the code. The unit tests and lint are run automatically when a feature branch is pushed to the git server.
  • Target system: Typically a fairly small MCU ranging from an 8051 to single core ARM with integrated peripherals as well as external SPI or IC2 devices.
  • Dev tools: IAR, Kiel, GNU toolchains. RTOS varies from bare metal to Yocto Linux with small or no RTOS being more common.
  • Build time: Under 10 seconds
  • Coding standard: A combination of Barr and MISRA rules enforced by Lint.
  • Function too long: When I lose track of what the function is doing part way through it. It is hard to assign a LOC number since that depends on coding standards and how the function is structured.
  • Code reviews: Two approvals are required before code can be merged. The reviews are typically very through.
  • Code time: 50
  • Test time: 20
  • Debug time: 30
  • Favorite thing about dev: Solving problems and challenges due to the complex nature of the task itself or hardware limitations. Figuring out why a piece of code is not behaving as expected.
  • Least favorite thing about dev: Time consuming and rigid procedures and processes.
  • Tdd knowledge: I have used unit test both at my current and previous job. Typically as a way to thoroughly test code once it has been debugged or to make sure it is not broken in the future, not as a way to debug it.
  • Why are you attending: While I have used and am using unit test I feel I am not taking advantage of all it can do. The other developers here have taken this class and I want to make sure I am on the same page.