Course code: JHAP-1
  • Years with company: 1
  • Years programming: 9
  • Primary programming language: C
  • Other programming languages: Python, MATLAB
  • Unit test harnesses: JUnit, Ceedling
  • Something else: I have some background in Machine Learning and Automated Testing, but my work is mainly focused on Firmware Development.
  • Test practice now: I mostly test my code in small steps at a time. After developing a function, I typically test it immediately. This process continues until a new feature is fully developed, where I then integrate the feature into the system and perform integration testing. Unfortunately, system-level tests become repetitive following this approach due to the incremental nature of integration. I want to develop a better way to perform system-level tests that can check if previous work still functions as intended after integrating each individual new feature into the system.
  • Target system: -
  • Dev tools: Mostly IAR Embedded Workbench
  • Build time: Under 10 seconds
  • Coding standard: We use an internal coding standard which is heavily based on the Embedded C Coding Standard published by the BARR Group.
  • Function too long: If it can be divided into smaller functions which have functionality that can be used repeatedly throughout the code, then it is too long. Otherwise, it may be too long due to unnecessary code complexity. This is likely to be determined during review
  • Code reviews: Code reviews start whenever a feature is first prototyped and continue up until it is approved for merging with the codebase.
  • Code time: 20
  • Test time: 40
  • Debug time: 40
  • Favorite thing about dev: It's satisfying to see systems that behave according to the code I write.
  • Least favorite thing about dev: It's very time-consuming, and often times testing and debugging can be stressful.
  • Tdd knowledge: You always start developing code with a failing test and you code just enough to make that test pass. This process is repeated many times while developing a codebase following TDD.
  • Why are you attending: My superiors have taken this class before and they recommend it to all junior staff.