Course code: CISCO-25
  • Years with company: 0
  • Years programming: 10
  • Primary programming language: C++
  • Other programming languages: Python, C
  • Unit test harnesses: personal (C++): doctest, Google Test
  • Something else: .
  • Test practice now: Lua-based injection into the event loop for most apps, integration testing with expect-based programming for automation. Personal projects: various C++ unit test frameworks, integration testing. Not much TDD, TBH :(
  • Target system: A large set of applications based on the event loop model, all running on a Linux hardware. Apps communicate through shared memory.
  • Dev tools: At work: Emacs, Make, Clang, Static analysis
  • Build time: 2-4 hours
  • Coding standard: Very old-style C: top-declaring all variables, gotos, lots of duplicated code. Not much adherence, no forced linters or things like clang-tidy. Tons of whitespace errors, random indentation strategies. The wild west of legacy code.
  • Function too long: When it has multiple "phases", especially if they repeat themselves.
  • Code reviews: Many automated tests, lots of internal style things.
  • Code time: 20
  • Test time: 30
  • Debug time: 50
  • Favorite thing about dev: Creativity and learning new techniques to increase efficiency, in terms of performance and amount of code needed to be written.
  • Least favorite thing about dev: Dealing with legacy code.
  • Tdd knowledge: I've done it for higher-level applications (e.g. web apps), but not for native languages. I'm curious how it will be done.
  • Why are you attending: I'd like to know how to effectively test native software, as many of the tricks for high-level languages seem to be much more difficult to apply.