Course code:
WEB-20
Years with company:
2
Years programming:
15
Primary programming language:
C
Other programming languages:
C++, Python
Unit test harnesses:
CppUTest, ceedling/unity
Something else:
I am currently working my way through the "TDD for Embedded C" book. I want to learn more about how we can use TDD to streamline our regression testing process. I would like to know more about embedded C++, so I'd appreciate recommendations you have for good resources on the subject.
Test practice now:
Manual regression tests; bench-top testing using the debugger; manually-written test programs that run on my PC
Target system:
We use MSP430 microcontrollers and are transitioning to ARM.
Dev tools:
We use IAR Embedded Workbench, SurroundSCM, and HelixALM.
Build time:
31-60 seconds
Coding standard:
I just try to match the coding style of the preexisting code.
Function too long:
If there is a lot of unrelated logic grouped together, I try to break it down into helper functions and use those helpers inside the original function to clarify intent.
Code reviews:
Code reviews are performed separately using SurroundSCM.
Code time:
20%
Test time:
50%
Debug time:
30%
Favorite thing about dev:
I like building systems that interact with the real world. I also enjoy refactoring code into something that is easier to understand and less complex.
Least favorite thing about dev:
I don't like reading code that is convoluted or uses too many abbreviations
Tdd knowledge:
You try to develop code by thinking about the responsibilities of a module first. Then you think of the tests needed to confirm those responsibilities, and then you write the code needed to pass those tests.
Why are you attending:
I want to learn more about TDD; I was the one who pushed for this training because I think it can make our lives easier at work. I really hope this is the case.