Course code: HP-1
  • Years with company: 31
  • Years programming: 35
  • Primary programming language: C
  • Other programming languages: C++
  • Unit test harnesses: unity, cpputest, some home grown
  • Something else: I have been in a lead role for a number of years, and do not currently do as much development as I have done in the past.
  • Test practice now: Mostly manually by interacting with the product or using some built in "shell" functionality that enables invoking operations via a serial port.
  • Target system: printer or all in one device
  • Dev tools: Products contain Linux and ThreadX RTOS running on different processors. RTOS uses green hills compiler and debugger. On Linux gcc and the green hills debugger.
  • Build time: 1-5 minutes
  • Coding standard: Our coding standard is not enforced
  • Function too long: It depends, a long linear sequence of statements may be ok. Lots of conditional statements especially nested is more problematic.
  • Code reviews: All changes must be reviewed with at least one person via gerrit
  • Code time: 50
  • Test time: 30
  • Debug time: 20
  • Favorite thing about dev: Making things
  • Least favorite thing about dev: Large organizations spend a lot more time communicating than doing things. I don't enjoy the communication so as much.
  • Tdd knowledge: I do TDD where I can apply it, but much of my work involves hardware interactions that make it difficult to apply TDD. I wrote tests for a graphics device driver I developed. But other firmware has been more challenging.
  • Why are you attending: I would like to find out how to create automated tests for the parts of our firmware that involve heavy hardware interaction.