Depending on the project, either with Ceedling or GoogleTest for unit tests and Python for tests that interface with hardware. |
Usually a microcontroller that's either running FreeRTOS or a custom Linux image built with Yocto. |
Atmel/Microchip Studio, VS Code, PuTTY, CMake, hardware JTAG debuggers, GitHub Copilot or ChatGPT |
We create pull requests and if a reviewer flags an issue we discuss it, though issues are rare. |
1-5 minutes |
25 |
25 |
50 |
Show
|
Manually |
Various |
Various IDE |
DevOps Pull Request |
30-60 minutes |
50 |
10 |
40 |
Show
|
Unity |
The next target I know of is called the Platform Development project. |
IAR, Codewarrior, MPLab |
Done online through DevOps |
Under 10 seconds |
30 |
30 |
40 |
Show
|
TDD |
ARM cortex-M3/M4 |
Keil IAR e2-studio |
DevOps |
31-60 seconds |
30 |
30 |
40 |
Show
|
right now its non existent |
arm32 bit embedded systems running linux |
vscode, make, scripts for upload |
very informal, usually a small amount of discussion and a pull request soliciting teammates comments |
1-5 minutes |
10 |
10 |
80 |
Show
|
Just look to see if what I wrote does what I want it to do. |
I'm not sure |
Visual Studio
E^2
IAR
Arduino IDE
Unity3D |
Not what they should be. |
1-5 minutes |
45 |
5 |
50 |
Show
|
using debugger |
temperature controller pcb with ARM microcontroller |
Renesas E2 Studio |
Code reviews are done using DevOps. |
1-5 minutes |
50 |
25 |
25 |
Show
|
unit tests around Cunit framework |
embedded linux device running on beagle bone type hardware |
VSCode with gcc toolchain |
code is peer reviewed through git Pull Request from dev branch into feature branch for testing |
1-5 minutes |
40 |
30 |
30 |
Show
|
Using framework-less unit tests. |
Telematics device for transport refrigeration systems |
VS Code, Git, CMAKE, MAKE. |
reviews based on logic, best functions, comments, variable types, magic numbers, use of enums, etc |
5-30 minutes |
70 |
10 |
20 |
Show
|
Yes, but not unit tests. |
Generalized I/O systems, capable of running various peripherals. |
VS Code, some kind of Terminal, some Eclipse-based IDEs for platform-specific development. |
We don't conduct code reviews. |
31-60 seconds |
20 |
20 |
60 |
Show
|
CUnit |
arm |
VSCode, git |
2 approvals/reviwers per merge request |
11-30 seconds |
40 |
30 |
30 |
Show
|
Ceedling |
Bare-metal ARM |
Vendor provided tools |
Conducted during PR review |
1-5 minutes |
60% |
15% |
25% |
Show
|
Code first, unit and integration tests later. |
Mainly an ARM Cortex M processor from STM32 |
VIM for writing code, VSCode for debugging. VM and Docker environment for building and unit testing. |
Find potential bugs, suggestions for cleaner code, tests run in CI |
Under 10 seconds |
50 |
20 |
30 |
Show
|
Unit tests running on target using ucunit framework, and partially the same tests on PC with the same framework. Also there's obviously debugging and manual inspection. |
TI C2000 |
Code Composer Studio, Visual Studio Code, LDRA. |
What can I say, they are performed by other team members. They are OK I guess? |
1-5 minutes |
50% |
10% |
40% |
Show
|
unit and integration test |
embedded systems for automotive and aerospace
|
lauterbach gcc eclipse beyond compare |
we have |
1-5 minutes |
10 |
70 |
20 |
Show
|
zephyr ztest, unit, integration and system test |
Lock platform. |
python, zephyr, jlink, VSCode, docker, and others. |
Review all code that is ready for contribution. |
5-30 minutes |
60% |
20% |
20% |
Show
|
Unit tests with ztest / fff. Integration and system level testing on real hardware with Robot. |
Locks, readers, door automatics |
Tools provided by the Zephyr platform |
Every change is reviewed in merge request using Gitlab. Each merge request needs 2 approvals |
Under 10 seconds |
40 |
50 |
10 |
Show
|
I started strictly programming through test driven techniques 5 or 6 years ago. Before that, I used to write some tests or partially going through something like BDD. Making many common testing mistakes though. |
My job is about web environments, and part of a personal project is about microcontrollers and comm. |
From many years ago I have the personal license for all Jetbrains tools. CLion for C/C++ |
I'm a bit strict but at the same time I understand that there is not only one way to do things right |
Under 10 seconds |
40% |
50% |
10% |
Show
|
Debug |
x86 microprocessor. 48K RAM. 4K ROM |
Visual C |
Happen when an engineer expresses difficulty or requests a review. Also when a debugging. |
1-5 minutes |
40 |
20 |
40 |
Show
|
TDD until it breaks down because we were not doing it right. |
Mostly water heater controls |
Eclipsed based IDE (KDS, MCUXpresso, starting Renasas E2Studio). Used others. |
We have used several tools most recently DevOps for pull requests. |
Under 10 seconds |
20 |
20 |
60 |
Show
|
Unit tests and integration tests. |
ARM processors in general. |
VS Code |
We have a classical merge request/review/approval process. We need at least one approval to merge. |
31-60 seconds |
50 |
20 |
30 |
Show
|
unit tests using the unity framework |
stm32 M4 core, AM335x beaglebone |
VS Code and platformio, and Buildroot |
A pull request is made on the repo, then all developers view and comment in the code in Github. |
30-60 minutes |
4 |
2 |
3 |
Show
|
Debug |
Embedded software on MCU's for the medical market and certain tools for testing on Visual studio |
IAR, Visual studio, LabWindowsCVI |
done through PR's on GitHub |
1-5 minutes |
50% |
25% |
25% |
Show
|
We write unit Tests for new code or sometimes modified code. We test our robot software in the lab, where we have a robot emulation or we simulate it in a docker container. These tests are defined in Azure DevOps testplans |
Industrial PC with Debian Linux |
Docker Containers VS Code, CMake, |
Pull Request in Azure DevOps. Often it is not completely asynchronously but we have a call |
Under 10 seconds |
50 |
10 |
40 |
Show
|
On my current python project (3D camera calibration analysis software) I use a combination of unit tests and manual testing. For the camera side we develop Linux drivers and c++ demo and test applications, and this is tested by developers. |
Nvidia Jetson with Ubuntu Linux, but also other similar SoC Linux platforms (NXP, TI ...). |
Visual Studio Code, Git, RhodeCode |
They are informal if any, we have been exploring making it part of the process but no consensus yet. |
1-5 minutes |
33% |
33% |
33% |
Show
|
unit testing/googletest |
ARM A53 |
buildroot |
We go through a robust review process with experienced reviewers. |
5-30 minutes |
3 |
3 |
4 |
Show
|
Test after programming. |
Microcontrollers (32 bit Arm Cortex) |
IAR, MPLABX |
We have reviews after the delivery of the code. Any review items are corrected accordingly. |
31-60 seconds |
70 |
10 |
20 |
Show
|
I recently tried to have a TDD approach. (lower effort)
For long I did "custom main test".
Tests with hardware, simulating components to validate the system (higher effort) |
ARM cortex M4
|
ARM gcc toolchain
Makefile "build systems"
IDE: VSCode
Gitlab CI with Docker
Debugger: Segger
|
We do merge reviews (enforced by Gitlab workflow). |
1-5 minutes |
50 |
25 |
25 |
Show
|
Google Test |
Linux, bare metal |
VS Code, Vim |
We use PR (push request) review on Github. |
1-5 minutes |
30 |
40 |
30 |
Show
|
The python script executes commands on the controller via serial terminal. I check the return code and if execution is incomplete, it throws an error and stops further execution. |
High performance controller. It is for supporting industrial automation. |
Visual Studio Code, VxWorks OS, Eclipse IDE. |
Check for code readability(comments, variable and function names)
Edge test cases are covered |
1-5 minutes |
30 |
20 |
50 |
Show
|
Manual test cases |
Sensor data collector 32bit ARM microcontroller |
vscode, gcc, python, debug probes, logic analyzers |
Through, spanning from 1 day to a couple of weeks depending on the size, complexity and impacts. |
31-60 seconds |
30% |
30% |
40% |
Show
|
pytest |
arm64 board |
cmake, gcc, g++, make |
none |
Under 10 seconds |
33 |
33 |
33 |
Show
|
Manually |
Embedded. Typically 8 or 32 bit. |
Usually just a syntax highlighting editor. Vendor tools if needed. |
I'm usually solo on any one module. For anyone affected I usually review over screen share. |
Under 10 seconds |
33 |
33 |
33 |
Show
|
We design code that tries to traverse all the functionalities of the code that make up a SW module. A main() program is designed to try to test the functionality and its outcome is recorded for comparison with a template. |
Embedded systems and microcontrollers |
Autotools, Make |
Code is double checked by two reviewers and a Gitlab CI/CD pipeline checks compialtion,run tests... |
1-5 minutes |
9 |
1 |
9 |
Show
|
informal, started unit testing recently |
QP State Machine Code Generator in C++ on Linux with QT/QML |
pcs, scopes, logic analyzers, power supplies, protocol analyzers, ides, compilers, cmake (many more) |
depends on project, mostly informal |
1-5 minutes |
40 |
40 |
20 |
Show
|
in each commit gitlab executes developed tests in the project |
get a coverage of 80%. but it is not always done |
we use internal tools. we generate test reports or show test coverage |
Must be reviewed by two reviewers. (since 2 years ago) |
31-60 seconds |
6 |
1 |
3 |
Show
|
Manually. Sometimes I also implement code aside aimed to test specific functions within the main app. |
Final product are protective relays placed all along the electricity distribution network. |
Virtual Machine with Linux. Visual Studio Code. Gitlab. |
Every feature/bug is reviewed by 2 reviewers. We leave comments in Gitlab. |
1-5 minutes |
3 |
4 |
3 |
Show
|
Attempting to get started with TDD. Prior testing has mostly been manual (with debugger, etc). |
Embedded control system |
MPLABX
Segger JLink
CMake
Lab equipment |
Not yet |
1-5 minutes |
50 |
10 |
40 |
Show
|
automated integration tests + manual functional tests |
Battery powered tracking device with a lifetime of multiple years, without easy way to update. |
J-Link, VS Code extensions |
Almost none, currently only firmware developer in the company |
1-5 minutes |
30 |
40 |
30 |
Show
|
Function test, module test |
Embedded, not mobile, control system and user interface |
IAR, SonarQube, |
min 2 devs
remarks written down in Excel template and graded on severity
follow up according |
1-5 minutes |
30 |
10 |
60 |
Show
|
with MStest |
Linux with Windows emulated |
VSCode and Visual Studio |
I work alone |
Under 10 seconds |
6 |
2 |
2 |
Show
|
With our company tool. |
Embedded systems programed in C languaje. |
gcc |
Other programmers review my code and I review others code. |
1-5 minutes |
50 |
20 |
30 |
Show
|
Currently with a self made Unit Test |
Its a Debian linux system. |
Using C++, QP,QT/QML and Redis. |
N/A |
31-60 seconds |
7 |
2 |
1 |
Show
|
Automated java test |
JBOSS |
Eclipse |
Peer review and external review |
31-60 seconds |
30 |
30 |
40 |
Show
|
We have unit tests that were set by a previous developer |
a machine that runs on C |
vs code and gitlab |
I need to work on that |
11-30 seconds |
20 |
30 |
50 |
Show
|
Sometimes, I extract some pieces of code testable and generate some new C files to test them with some framework like cpputest.
Most of the times, I need to upload the FW of the device and test the application with traces, files or I/O and oscillo. |
I don't understand well. Arch? Tests? I want to test small SW pieces in PC (unit-testing). |
IDE:VSCode
Linux system
Docker
Doc: Markdown
Style:clang-format
Code complexity:lizard
VC: Git |
I usually use cppcheck, flawfinder and lizard.
We also have a human peer review in our process. |
1-5 minutes |
30 |
30 |
40 |
Show
|
I usually just debug and make sure the code is operating as it should. |
I am not sure what a target system is |
Debugger |
Code reviews usually consist of renaming variables |
1-5 minutes |
30 |
30 |
40 |
Show
|
No unit testing, only behavioral. |
ARM v7 |
IAR, Clang-Format |
Review by peers using pull requests |
5-30 minutes |
30 |
40 |
30 |
Show
|
Will be using cpputest very soon |
stm32H745 controlled PCBs |
STM32CubeIDE and later VS Code, but hopefully it will become VisualGDB on Full Visual Studio 2022 |
Have not participated in one yet |
11-30 seconds |
23 |
10 |
7 |
Show
|
With external windows program |
I maintain test software for aircraft systems. |
Visual Studio |
Quick and not very thorough |
1-5 minutes |
2 |
3 |
5 |
Show
|
Very new to this so nothing as of now |
Not familiar |
GitHub |
Just started |
11-30 seconds |
20 |
30 |
50 |
Show
|
For C++: using dependency injection, passing in mocks and monitoring behavior
For c#: using dependency injection, passing in mocks using a mocking framework (Moq) |
N/A |
Visual Studio |
Not done often enough due to shortage of people |
11-30 seconds |
50 |
25 |
25 |
Show
|
Unit tests, Integration Tests, End-to-End Tests |
N/A |
Git, Docker, Gradle, Jenkins |
N/A |
1-5 minutes |
30% |
40% |
40% |
Show
|
Manual Tests, Some unit tests |
C++/C# |
Visual Studio Code |
Have others test/review code for things that I write and vice versa. |
1-5 minutes |
40 |
20 |
40 |
Show
|
There is an option in the software to run in debug mode where hardware calls are simulated.
Test cases are performed during run time. They first run in debug mode, then in real mode. |
Target operating system is Windows |
Visual Studios 2008 |
Change existing code as needed:
* errors found
* new crucial functionality needed to old classes |
31-60 seconds |
50% |
25% |
25% |
Show
|
number of complexities (n**2) - 1 |
different companies have different target systems. |
IDE, database (object & relational), UML tool, JavaScript, JavaFx. |
I do code review but not very strict. Most coworkers do not because there is no process about it. |
Under 10 seconds |
45 |
45 |
10 |
Show
|
I don't test my code, other than seeing at run-time if it performs the operations i want it to do |
NA |
Visual Studio |
NA |
1-2 hours |
40 |
10 |
50 |
Show
|
Trial and error. |
What do you want to know? |
Visual Studio |
No one wants to do them. |
1-5 minutes |
20 |
0 |
80 |
Show
|
Running the code |
Windows |
Visual Studios 2022 |
little to none |
11-30 seconds |
40 |
20 |
40 |
Show
|
trial and error |
test equipment |
visio |
pier reviews |
31-60 seconds |
2 |
2 |
8 |
Show
|
1) Running real tests that were written
2) Manual execution |
Windows 11 laptop & desktop |
Visual Studio, Linux clang/gcc toolchains, git |
CR done through Gerrit. Team members provide feedback. An official reviewer has to approve |
1-5 minutes |
50 |
25 |
25 |
Show
|
LogEvents, Prints, if reasonable google unit test |
Multiple targets, intel architecture primarily |
VS Code, SmartGit, SmartSVN, Jenkins, GitHub |
Small groups of Developers review and test before a push to development software is allowed |
31-60 seconds |
10% |
40% |
50% |
Show
|
Manual testing with hardware on my bench or in a product |
Embedded system of several microcontrollers used to control commercial cooking equipment |
STM32Cube, IAR |
Code reviews are done prior to merging any focused branch into the main branch in a repository. |
5-30 minutes |
35% |
45% |
20% |
Show
|
Manual testing with hardware on my bench or in a product |
Embedded system of several microcontrollers used to control commercial cooking equipment |
STM32Cube, IAR |
Code reviews are done prior to merging any focused branch into the main branch in a repository. |
5-30 minutes |
35% |
45% |
20% |
Show
|
Unit tests, some integration tests, end-to-end |
Secure website. React front-end, Java Spring back-end |
VsCode, Intellij |
Pair programming for real-time review, 1 or 2 person review before merge |
31-60 seconds |
50 |
40 |
10 |
Show
|
Test Classes |
Windows |
Visual Studios Code |
Our code is goes through a review process through our coding architect |
31-60 seconds |
20% |
20% |
60% |
Show
|
Basic functionality tests |
Embedded System written mostly in C++ and ADA |
Visual Studio, Windriver Workbench |
Only done for merges into development. Review by at least 1 other person. |
30-60 minutes |
20% |
60% |
20% |
Show
|
By making test to ensure coverage |
To have full coverage with little to no vulnerabilities |
VSCode |
We usually bring in another team member to examine the work as we explain why we implemented it. |
1-5 minutes |
6 |
2 |
2 |
Show
|
NUnit,GoogleTest,Manual |
Embedded C++, Desktop C# |
VSCode |
Done via Gitlab Merge Requests. Sometimes async via the website. Sometimes sync over Teams |
5-30 minutes |
50 |
25 |
25 |
Show
|
I run the Java tests on VSCode and I use "npm test" command to run the React tests |
AWS Linux |
VSCode |
We review code every two weeks |
Under 10 seconds |
60 |
20 |
20 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method and class functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
Write unit tests to test for correct method functionality |
Not sure |
VSCode and Visual Studio 2019 |
All code is reviewed by our lead before getting merged in |
1-5 minutes |
25 |
25 |
50 |
Show
|
I use TDD. |
Currently using Java |
VS Code, Git |
My code reviews look for any errors in the way the code was written. |
5-30 minutes |
50 |
20 |
30 |
Show
|
NUnit |
Windows |
VSCode, Visual Studios |
Lead reviews our code |
31-60 seconds |
70 |
15 |
15 |
Show
|
NUnit |
Windows |
Visual Studio, VS Code, Gitlab |
A reviewer review our code and provides feedback. I update my code resubmit for another review. |
11-30 seconds |
50 |
25 |
25 |
Show
|
Most recent projects have been completed with Python. Current technique is to describe a class and methods, it's inputs and outputs. Write unit tests for it then write the code blocks. Adjust testing if new methods or functionality are added. |
For our C++ code the target system will be an embedded system. |
VS Code (primarily), Visual Studio, TI Code Composer. |
Currently code review is done by person marked as approver of the open pull request. |
31-60 seconds |
30 |
55 |
15 |
Show
|
N/A |
N/A |
VS Code |
Pair Programming |
1-5 minutes |
4 |
2 |
4 |
Show
|
NUnit |
Windows and Embedded System |
Visual Studios and Visual Studios Code |
We push onto GitLab and have our main architect review it. |
31-60 seconds |
50 |
40 |
10 |
Show
|
unit and e2e tests using jest and junit |
Linux and Window OSs. |
bitbucket, jenkins, AWS, SCA tools |
Conducted at the end of each sprint, any needed changes made and approve before story marked done. |
1-5 minutes |
60% |
20% |
20% |
Show
|
Running the code on hardware (or a dev board if no hardware) and observing the behaviour. If I encounter a problem as the device runs I will single out a function or functions and maybe write some code to explicitly test them. Very much test-after. |
STM32 micros, typically for IoT style devices. |
STM32CubeIDE, Git. |
We have a rough procedure for performing code reviews but it isn't really done. |
31-60 seconds |
49 |
2 |
49 |
Show
|
Bench testing on hardware. |
STM32F205 processor with attached ADCs, EEPROMs, etc communicated with via SPI. |
VSCode, STM32CubeIDE, JLink, Git |
Also loose code reviews on merge requests. |
11-30 seconds |
70 |
10 |
20 |
Show
|
N/A |
N/A |
N/A |
N/A |
31-60 seconds |
60% |
10% |
30% |
Show
|
Application testing and bench top testing. |
Multiple boards with STM32H745 |
STM32CudeIDE and VisualGDB |
In the past there were in frequent the aim forward is to have code review before pull request. |
31-60 seconds |
40 |
30 |
30 |
Show
|
N/A |
N/A |
N/A |
N/A |
1 day or more |
0 |
0 |
0 |
Show
|
Manually running test cases. |
Most recently, ARM core micro-controllers (M4) in a Body Control Module (BCM.) |
Eclipse, target-specific tools (MANY are Eclipse-based), Visual Studio Code, MathWorks tool chain |
Manual inspection of individual code components against design and prior version, static analysis. |
5-30 minutes |
50% |
35% |
15% |
Show
|
Mostly run-time testing by developer, using real hardware and IDE breakpoints, watch windows, etc. Subsequent end-user type testing in our labs before official release. |
Mostly ARM Cortex M3 (STM32). |
For ARM: STMCubeIDE, Atollic, some legacy IAR projects |
Largely non-existent on existing projects. Often self-reviewed and approved. |
11-30 seconds |
60% |
10% |
10% |
Show
|
Ad hoc developer testing |
STM microprocessors - Platform will also create libraries of tools for future development |
VS Code
Cube IDE (eclipse) |
Henny Penny has traditionally been a single developer per product line company, so they were minimal |
1-5 minutes |
33 |
33 |
33 |
Show
|
N/A |
Its a fryer or simulated fryer |
Eclipse, Bitbucket, Jira |
N/A |
Under 10 seconds |
0 |
100 |
0 |
Show
|
Manual checking. |
Controls a fryer (RTD ADC input, switch input, Relay outputs, etc.) |
STM32CubeIDE |
NA |
31-60 seconds |
20 |
50 |
30 |
Show
|
I don't, I fix bugs. |
I work primarily with Nordic Semiconductor MCUs and NCS/Zephyr Rtos |
Vscode, Jlink |
Generally, no code review unless my company pays for outside review. |
11-30 seconds |
60 |
20 |
20 |
Show
|
I am too new to Henny Penny to fully know the testing process. |
Embedded Development |
Jenkins, Visual Studio Code, Cpplint, Clang-format, Cppcheck... |
I am too new to fully know the code review process. |
1-5 minutes |
30 |
50 |
20 |
Show
|
- Minor unit tests
- Unit tests generally are done as CLI commands |
- Various embedded nodes
-- STM32, NXP Kx Family
- Various SoMs + SBCs running linux
|
- STMCubeIDE
- MCUXpresso
- VSCode
- Segger J-Link
- Saleae Pro 16 Channel |
PRs in BitBucket; conventionally informal, but trying to change that. |
1-5 minutes |
25 |
10 |
65 |
Show
|
- Minor unit tests
- Unit tests generally are done as CLI commands |
- Various embedded nodes
-- STM32, NXP Kx Family
- Various SoMs + SBCs running linux
|
- STMCubeIDE
- MCUXpresso
- VSCode
- Segger J-Link
- Saleae Pro 16 Channel |
PRs in BitBucket; conventionally informal, but trying to change that. |
1-5 minutes |
25 |
10 |
65 |
Show
|
traditional debug and uart console |
stm32 esp32 |
cube ide
vscode
jlink |
mainly we dont do review we do functional testing |
1-5 minutes |
30 |
0 |
70 |
Show
|