Course code: WEB-33
  • Years with company: 1
  • Years programming: 1
  • Primary programming language: C
  • Other programming languages: Python
  • Unit test harnesses: Unity: http://www.throwtheswitch.org/unity fff: https://github.com/meekrosoft/fff
  • Something else: I did a 6 months internship in Astrocast and one of my objectives was to add unit test to our codebase. It has been 1 year now that I work for this company and I try my best to make the most relevant tests when I add a new feature.
  • Test practice now: We are doing two "types" of tests. Unit tests and Continuous integration tests. Unit tests are done by the Software Engineers when we add some code. Continuous integration tests are done by our Test Engineer.
  • Target system: Our application runs on a STM32L5 MCU. We also ported it to x86_64 to facilitate the unit tests.
  • Dev tools: Visual Studio Code on Ubuntu STM32CubeIDE STM32CubeProgrammer Azure DevOps
  • Build time: 31-60 seconds
  • Coding standard: We have in our team a file that describes the coding conventions we have. When writing this paper we tried to follow well known standard like: SEI CERT C Coding Standard NASA - C Style Guide Google C++ Style Guide
  • Function too long: A function is too long when I have to scroll to see everything.
  • Code reviews: Usually we do a PR with several code reviews. We put comments where we want discuss something and when we agree on everything, we accept the PR.
  • Code time: 55
  • Test time: 15
  • Debug time: 30
  • Favorite thing about dev: I like the challenge I have sometimes when I am adding a new feature. Also I like to see the product evolving and getting closer to what we will release.
  • Least favorite thing about dev: I don't like settings up new tools. I feel like it is hard for me to discover something new and be efficient with it. I usually take time to get used to something.
  • Tdd knowledge: At the beginning of my internship I was not familiar with tdd, so I read as much as possible on this subject. I tried to follow those principles but I failed because I was not feeling very productive and it was not very natural to me.
  • Why are you attending: I hope I can improve the way I am writing my test currently and maybe learn how to use tdd in an efficient way.