Course code: UBL-1
  • Years with company: 6
  • Years programming: 15
  • Primary programming language: C/C++
  • Other programming languages: a bit of python
  • Unit test harnesses: CppUTest in-house test framework
  • Something else: I do a bit of athletics in my spare time.
  • Test practice now: I write unit tests for each component I write. Then run some manual tests on the system build. We have an inhouse tools where we can trigger tests in the regression system with our current change. We have regression tests for component tests and system tests that run overnight.
  • Target system: The target system is an LTE catM1 chip with multiple ARM CPUs (M7 and M3).
  • Dev tools: Perforce for version control Jenkins Eclipse as editor/debugger (builds in terminal) CMake/Ctest pclint lcov (sometimes) gcc, msvc and arm compilers
  • Build time: 1-5 minutes
  • Coding standard: We have a coding guideline document in the team, with rules for instance for use of parenthesis, space/tab,... It's not very strict
  • Function too long: We don't really have strict rules for this. I think I start to think about splitting the function when I have to scroll multiple times to follow the logic.
  • Code reviews: we do code reviews via online tool (Swarm) before each commit.
  • Code time: 40
  • Test time: 40
  • Debug time: 20
  • Favorite thing about dev: I like getting something to work, seeing something coming out of a chip. And I like trying to get it done neatly (or at least what seems neat to me).
  • Least favorite thing about dev: Frustration sometimes when requirement change. Time pressure.
  • Tdd knowledge: What I've read from "Test Driven Development for Embedded C" book.
  • Why are you attending: Clarify some things from the book to try to improve my test/code, sometimes my tests can be a bit hard to maintain I think. See if we can test things more consistently as a team, maybe increase the coverage so that changes are less risky.