Training Preparation -- Current Practices of 100 Attendees

How do you test your code? What is your target system? What development tools do you use? What is your code review practice? How much time does it take to do an incremental build, load, and start running your code so you can start to test it? What percentage of your development time is spent coding? What percentage of your development time is spent testing? What percentage of your development time is spent debugging?
GoogleTest - I have unit tests integrated in some parts of some projects, but an uphill battle to incorporate it int Mostly XMOS MCUs or embedded Linux targets. gcc, vim, CMake Upsource - we have a language-agnostic set of acceptance criteria 1-5 minutes 30 30 40 Show
There are a number of ways and it varies. New code is generally developed along with unit tests - these run as part of the build on the CI system. The unit tests either run the code natively on Windows/macOS or use a simulator for hardware specific functionality. There is an automated test harness using real hardware for end-to-end/integration tests. We have some great QA engineers who do manual testing and who develop automated tests. I do some manual testing while developing the code. I work with a legacy codebase and some of these testing methods have been relatively recently adopted - a lot of code is not under test... USB, XMOS processor, audio, real-time. VSCode, git, XMOS toolchain (including XGDB), xTag debugger, GoogleTest, lots of bash, Beagle USB analyser, Jenkins, Artifactory, YouTrack, make, cmake Code reviews vary from meetings to discuss the approach taken to fix a particular issue to using UpSource or using merge requests in GitLab. They vary from project to project and the availability of appropriate reviewers. 31-60 seconds 20% 20% 50% Show
Run scripts through Jenkins each night. N/A Eclipse Usually one on one meetings stepping through the code. Sometimes we have larger groups (around 5 people) stepping through each line. 1-5 minutes 4 2 4 Show
There is an existing unit test structure in the C code, but nothing implemented in Matlab. My target is an autopilot. Matlab, Visual Studio Code They are good-natured and useful. Sometimes the points are pedantic but I would say they are useful more often than not. 1-5 minutes 50 10 40 Show
Verifying behaviour using memory-watching while stepping through (with code running on the target), logging trace events, and functional system testing on the hardware. STM32 Cortex-M devices (M0 through to M7). Starting to work with Espressif ESP32 devices (Xtensa core). IAR Embedded Workbench, VS Code and CLion for IDE / text editing etc. GCC and IAR compilers. Segger J-Link, IAR I-Jet hardware debuggers. We peer-review design documents as part of our process. Code reviews are initiated by the code author when they feel its needed (which happens for maybe 10-25% of the code). 11-30 seconds 40 10 50 Show
I haven't I don't have one Visual Studio Code, the Internet n/a Under 10 seconds 0 0 0 Show
We test using manual device and system tests. It's a small portable embedded IoT device built with a commercial RTOS on an ARM M0+ chip. It senses the world and reports data periodically to a server. Low-cost hardware is a primary project driver. a tailored eclipse with gcc-arm-embedded toolchain, plus Msys2 and Gcc on dev box for unit test. GitLab Runner. nada 1-5 minutes 25 25 50 Show
Self-constructed test wrappers. Linux PCs, embedded Linux, bare metal git, make, vi, ssh, llvm/lldb Line-by-line, three or four participants, over audio chat. Alternatively done through GitLab. 31-60 seconds 40% 20% 40% Show
New to company, they use CPPUnit. Past company we tested per requirements on a hardware rig, then we had a validation/test group that did formal testing, using custom scripting / hardware to exercise the software. It was for aviation related equipment; so we had to have a validation group certify the code and package it up to get sent to the FAA for approval. Lots of custom tools used to test that stuff. ARM Cortex M3 chip. IAR compiler, Cygwin, CppUnit Done using Jira and Bitbucket. 11-30 seconds 60 20 20 Show
Using a custom embedded unit test harness, after the code is written (I'd like to change that!) Embedded, size constraints Eclipse We've been having working meetings over video conferencing SW where the SME goes over the code with those less experienced and also makes changes. Also, we're looking at tools that integrate w/ our ALM tool for more traditional, reviews. 1-5 minutes 10 80 10 Show
CI testing using Jenkins. General unit tests for non hardware dependent code. Hardware unit tests running on hardware with PC commanding the tests using python scripts. Integration tests running on hardware as well. Several embedded systems communicating and performing various different functions. It is a high reliability environment. Visual Studio Code, Green Hills Software We use Gitflow and require at least one other team member to review and approve pull requests before they are merged into the develop branch. 11-30 seconds 20 40 40 Show
this will vary based on what I am testing, but usually with our test suite. mostly custom Green Hills Vivado code reviews are typically done with Git pull-requests reviewed by other team members 31-60 seconds 40 30 30 Show
I almost (99%) always use XP style TDD sometimes use ATDD (depending on the project and tools available) Mostly web, some XR devices and mobile JetBrains IDEs mostly Pairs > Code Reviews Under 10 seconds 45 55 0 Show
I know how my code should react given a certain input so i simply input the causes i already know the answer to and verify that the outputs received are what i expect I typically deal with low power and resource embedded systems So far i just use and IDE to assist with coding styles but other than that i do not use any other tools. (Compiling and other tools are used by senior members of my team.) I haven't been a part of an official code review yet in my position. Any code reviews I did in school were more focused on getting code working than making it more efficient or better overall. 1-5 minutes 50 20 30 Show
current project has continuous testing; previously with unit test, integration, verification, validation; incremental development and integration Zynq based with no OS and with Linux Green Hills, Linux, Xilinx SDK, git, Jenkins, Visual Studio Code, Tera Term, Beyond Compare, PuTTY informally review code before integrating into development branch; formal reviews later 1-5 minutes 30 30 10 Show
C/C++ homegrown unit tests NA Visual Studio Peer reviews conducting via tool capture 11-30 seconds 5 5 1 Show
With CppUtest, automatically run on compile and every pull request. Bare-metal ARM, Embedded Linux on ARM, x86_64 Linux desktop-class Vim, CMake, CppUTest, Jenkins, Bitbucket, Fisheye/Crucible, VSCode Uses Crucible or a Bitbucket PR, usually goes on for too long, or no activity Under 10 seconds 30 40 30 Show
by doing my own little small tests, pass and fail tests. N/A Momentics IDE Eclipse IDE BitBucket Github i have participated in one code review session. it was as a group with 6 or 7 people. good discussions happened on how/ or why a piece of code was done 31-60 seconds 65 20 15 Show
Outside of work I try to use a unit test framework and I try and employ TDD. I have done the most TDD with Java and Junit, but try to use it when I can. Professionally I try to encourage our org to move in that direction more when possible but I am not directly coding very much as all there. Professionally our organization see's a wide variety of targets from enterprise servers to low level micro controllers of various types. Outside work: various microcontrollers from 8-bit atmels to 32bit arm and regular x86 architecture, Cortex-M0 tend towards lighter weight tools and command line, IDE wise I have used various including eclipse but trying vscode these days, jtag tools and compilers variants depending on specific controllers, mostly gcc based. Professionally it can vary by project, generally a developer reviews offline with guidance on hat to review, some tooling such as bitbucket and to make them more tool based. ideally trying to apply more continuous integration based. 1-5 minutes 40 40 20 Show
Unit test, integration tests, system tests, stress tests ARM 9 GreenHills code reviews on pull request Under 10 seconds 45 45 10 Show
I start debugging and testing by loading the code on the hardware, running it with CLI commands or instrumented code that exercises the new features. After that we use CppUTest for unit test and also lint the code. The unit tests and lint are run automatically when a feature branch is pushed to the git server. Typically a fairly small MCU ranging from an 8051 to single core ARM with integrated peripherals as well as external SPI or IC2 devices. IAR, Kiel, GNU toolchains. RTOS varies from bare metal to Yocto Linux with small or no RTOS being more common. Two approvals are required before code can be merged. The reviews are typically very through. Under 10 seconds 50 20 30 Show
I start debugging and testing by loading the code on the hardware, running it with CLI commands or instrumented code that exercises the new features. After that we use CppUTest for unit test and also lint the code. The unit tests and lint are run automatically when a feature branch is pushed to the git server. Typically a fairly small MCU ranging from an 8051 to single core ARM with integrated peripherals as well as external SPI or IC2 devices. IAR, Kiel, GNU toolchains. RTOS varies from bare metal to Yocto Linux with small or no RTOS being more common. Two approvals are required before code can be merged. The reviews are typically very through. 11-30 seconds 50 20 30 Show
Typically I start debugging and testing by loading the code on the hardware, running it with CLI commands or instrumented code that exercises the new features. After that we use CppUTest for unit test and also lint the code. The unit tests and lint are run automatically when a feature branch is pushed to the git server. Typically a fairly small MCU ranging from an 8051 to single core ARM with integrated peripherals as well as external SPI or IC2 devices. IAR, Kiel, GNU toolchains. RTOS varies from bare metal to Yocto Linux with small or no RTOS being more common. Two approvals are required before code can be merged. The reviews are typically very through. 11-30 seconds 50 20 30 Show
Run unit tests and acceptance tests. My main target systems are mobile printers. VMare Player, PyCharm, QNX Momentics, Notepad++, TortoiseSVN I haven't done much code reviews yet. My projects either have not been code intensive or have been developed in a pair programming manner that did not require a code review. 1-5 minutes 10% 20% 80% Show
Using Jest to perform unit testing Embedded devices running Linux for streaming applications, commonly using C/C++ Visual Studio Code, Bitbucket, Node.js, Jira, Azure IoT Hub First I pull the code and try to compile it. If the compilation finished successfully, I review the implementation and look for border cases. 1-5 minutes 70% 20% 10% Show
using system and module level Testbenches Communication systems, Wireless comms, Video and image processing, Cybersecurity Vivado, Quartus, Keil, Visual studio, Workbench, ARM and TI tools as and when needed. between 30 minutes to and hour. 5-30 minutes 50 20 30 Show
My dat-to-day role involves software integration, I depend on integration tests. But I would like to learn Unit testing and I think that is the right way to do. Linux based System on Chip. Our development is in Userspace Middleware. GCC Python Behave Gherkin tests We use gerrit 30-60 minutes 15 10 75 Show
We are using google test for unit testing and a proprietary system for integration testing Set-top-box I'm personally using VSCode We use gerrit 5-30 minutes 30 30 40 Show
unittesting using Cpputest/googletest and DMS testing which tests the whole code base. Linux embedded system built on Set Top Boxes Visual Studio Code review using gerrit. 1-5 minutes 20 60 20 Show
Currently I use several test tracks There are several different targets depending on the region and Visual studio code, putty, build server. Our code reviews are done via gerrit 5-30 minutes 30 30 40 Show
unit tests, integration tests and some times fullstack Set top box We use a whole lot of custom tools mostly lunix based. Git for version control, gerrit for review, jenkins for dev-ops use gerrit Under 10 seconds 30 50 20 Show
Test at module/component/multi-component levels. Embedded linux Coverity static analysis Vim Neoclide/coc (clang completion) vim ccls We use gerrit - code from a team member is viewed by all, but only 1 person is required for sign-off. A bot also performs checks on the change. 1-5 minutes 10 55 35 Show
N/a N/a N/a N/a 1-5 minutes N/a N/a N/a Show
I have just started to unit test. Very new. Previously manual. Embedded processors CppUTest, IAR Mostly line by line, peer review. 11-30 seconds 30 30 40 Show
functional tests Gas detectors using STM-ARM cores and SiLabs 8051s Eclipse based or IAR Every member of the team reviews code and makes comments on compliance with the standard and business logic. 31-60 seconds 30 30 40 Show
ATDD, TDD, Exploring manual test. web app, ios-app jet brain IDEs. face2face every 1 hour Under 10 seconds 50 40 10 Show
Debug later Embedded C running either bare metal or FreeRTOS on an MSP430 IAR and CCS Peer review 11-30 seconds 30 30 40 Show
Starting to use cpputest, but sometimes difficult. Our main way of testing is flashing to the target unit and running automated tests with real stimulus. It takes tens of minutes to hours to complete a test. ST Micro, low power, arm IAR None 1-5 minutes 3 2 5 Show
Jenkins Continuous Integration, bench top and functionality testing STM32L4+ microcontroller with various communications interfaces and SAM4L microcontroller RF system IAR Embedded Workbench Informal 1-5 minutes 50 25 25 Show
On the fly, how it seems appropriate at the time. (hoping to improve this :) ) Low power custom embedded board (variety of ARM Cortex-M micro controllers) IAR EW, Ozone Fairly informal, conference room, go function by function. 11-30 seconds 30 30 40 Show
We build test in python and run the in Jenkins. Hard to cover all corner cases when building the test. Our CI systems is something like this: get code from repo, compile code, lint code, flash hardware with new code, run test then email results to developers. I would rather not say. IAR,QP, Git, and Vault When software gets to a point we feel at a good state, we schedule a code review and invite our peers. We try to give people plenty of time review. We highlight pieces of code that we might have questions about ourselves so that others can help. 1-5 minutes 25 50 25 Show
Collection of unit test cases, tested on development boards. ARM Cortex M3/4 microcontrollers, low-power environments, baremetal software GCC, Cygwin, Eclipse, IAR Code reviews aren't often used, getting started using Gitlab's review feature. 31-60 seconds 30% 30% 40% Show
end-to-end testing using CI embedded C for micro-controllers only, cannot use C++ due to project restrictions (not even for unit testing) IDE GitLab Merge Requests or Fagan depending on project type 31-60 seconds 60 10 30 Show
using continuous integration mcu gcc, make, iar, what are those? 5-30 minutes 60 20 20 Show
I write some short functional tests and try to capture the different use cases. n/a IAR, Eclipse. n/a 31-60 seconds 50 25 25 Show
in production i have different targets vi does it compile? 1-5 minutes 1 1 98 Show
breakpoint debugging instrumentation test gpio Watch windows Memory windows Cypress PSoC 5LP, PSoC 6, Microchip PIC18s, dsPics, SAME family, other processors over the years. IDEs, Programmer/Debuggers, Logic Analyzers seldom, working to incorporate into new designs 1-5 minutes 20 30 50 Show
Before ceedling I'd often test code using print statements or toggle pins if testing on hardware. For timing critical testing I might throw test data into an array and print it all at the end. But that took a bit of extra work and system overhead. I really like Notepad++ My team only just formed and hammered out our code standard. We haven't had any code reviews yet, but plan to. 11-30 seconds 40% 40% 20% Show
Testing scripts which attach to the target via debug UART. These use python and Q_SPY Cortex M0/M3/M4 and Xilinx Zynq IAR/GCC SEGGER JTrace/Ozone for tracing Depending on the speed of the project, code reviews and architecture meetings are held with varying frequency. 11-30 seconds 20 30 50 Show
Unit test, system-level test ARM Cortex M4/A5/A9, TI MSP430, TI DSP IAR, gcc Sparse 1-5 minutes ? ? ? Show
Most important is to design code as separate testable modules. I can then write a test program that pumps data through the modules and checks the outputs. ARM processor, battery powered, lots of sensors, radio communications. IAR (maybe Green Hills also) Project dependent. Some have none. Others have full up reviews in TeamForge + Gerrit. 1-5 minutes 70w/design 20 10 Show
Manual unit tests; full unit testing over time, sometimes with the aid of continuous integration with the embedded systems in the loop Various custom boards with mostly various ARM Cortex-M3/M4-based microcontrollers; FreeRTOS, bare metal, or QP, depending on project; mostly C, but sometimes C++ IAR or GCC Usually small sections get reviewed line-by-line 11-30 seconds 10% 60% 30% Show
unit tests, functional tests, performance tests c++, python xcode, visual studio, pycharm etc. Each code change is reviewed by reviewers of that code area. 31-60 seconds 70 15 15 Show
I write tons of runtime asserts, step through the code, then manual verification. This is followed up with black box testing. It's a cross platform (Windows, Mac, iOS, and Android) video editor. I work on the Win and Mac UI and a library that's shared across all platforms. Visual Studio, Xcode We use browser-based tool called Code Collaborator. It's not a good tool, and is downright hostile for reviews that end up having multiple revisions to any file. 1-5 minutes 40 30 30 Show
manual app testing, Unit Testing Rush Android application Android Studio, Perforce, gradle our reviews are fairly good 5-30 minutes 30 10 60 Show
blackbox Win/Mac VisualStudio, XCode it's required 1-5 minutes 60 10 30 Show
Most testing is done by walkthroughs of the actual app (no formal testing infrastructure). Since my work has a strong focus on custom UI implementation, and less focus on data models or computational engines, unit tests have less immediate relevance, and I haven't yet seen a UI testing framework that was worth the hassle. iOS 12 and 13, both compact and regular layout. I work on a cross platform app team (Mac/Win/Android/iOS); my work is almost exclusively in iOS, though I do deal with much code that is shared between the platforms. Xcode, Perforce (soon to be git), macOS command line. Python scripts which generate the Xcode projects. Collaborator by SmartBear for code reviews. All submission are reviewed by at least one other person, using Collaborator (by SmartBear). Check in comments must include the review URL. 1-5 minutes 30 10 60 Show
mainly use target PCBA build and use with debug interface based on product features target is product PCBA with debug interface SWD IRA and SEGGER STUDIO Bitbucket code review with Pull request 11-30 seconds 30% 40% 30% Show
n/a n/a I used to use emacs, ant, Eclipse. I started learning IntelliJ. n/a 11-30 seconds 0 0 0 Show
Functional testing. Write a bunch of code to do something, then test all the code as a whole. Nordic nRF52 platforms ST platforms Atmel platforms Sensors, switches, relays 802.15.4 (BLE and 6Lo) VS Code, IAR, Sublime Peer reviews in Bitbucket 31-60 seconds 60 20 20 Show
Regression/Unit Contiki based firmware running on Nordic NRF52 built using Gcc for Commercial Lighting Control applications IAR Visual Studio Segger Embedded Studio Segger j-link Peer Review though BitBucket Pull Requests requiring at least 2-3 sign-off depending on the code base 1-2 hours 33 33 34 Show
We manual test the code with gdb and evaluate the quality of the data. For logic we use small catch2 based tests that only run on development laptops so not on the target. A build pipeline checks if the code compiles It's a nrf52 with no uart clang-format, gcc, sonarcloud (for static code analysis), vim, jlink, gdb, cppcheck At least one person should have a look at the code and mark it as ready for merge in github. 31-60 seconds 2 3 5 Show
Before reading your book I was writing code, building the code, pushing the code on the target and verifying in debug mode that the code I just wrote was working as intended. After reading your book I started to use ceedling to unit test my code. So now I'm coding and testing my code on the computer and when a bunch of module are ready to work together I to the same as previously but with less step by step debugging and more global verification like verifying the outputs with oscilloscope or logic analyser. I'm currently using STM32F3 and F4 microcontroller families. Eclipse + gcc for arm + openocd. We don't have code review as we are a small team. 11-30 seconds 50 10 40 Show
Quantum leaps QUTest, custom framework for automating on target tests, VectorCast and remaining adhoc/manual tests on legacy code My team develops FW for medical feeding pumps - the project I work on has 2 embedded Stm32L4 MCUs IAR, Visual Studio, Surround SCM/Helix for version control and requirement management, Jira/Confluence for planning/tracking, Quantum Leaps QM for state-machine modeling Required. We do them every "story" - present company has a longer turn around than I am used to. 1-5 minutes 80 10 10 Show
Code reviews, system testing, pre- deployment testing (code then test) ARM-M, MSP430 IAR The are painful, long, and don’t catch the bugs that matter the most. 31-60 seconds 20 10 70 Show
A large part of our code is tested manually as part or a larger system. We're starting to adapt unit testing and a small portion of our code is unit tested. Embedded systems. Gcc, PC simulators, VS code. Code reviews are done before every patch is submitted. A developer isn't allowed to review their own patches. 1-5 minutes 30 30 40 Show
We mainly use manual system level testing. We've recently started developing automated unit tests using the Google test suite. Fitness devices. vscode, jenkins Each commit is reviewed by the team before it can be pushed to any remote branch. 31-60 seconds 4 2 4 Show
Using CTest and CI via github, bitbucket, travis, gitlab. Manual validation. Typically ARM microcontrollers, Atmel AVR, PIC Microship, and others, usually bare metal, sometimes with RTOS. Some target systems are Linux or embedded Linux. Some target systems are Windows PC. GCC, Make, IAR, Rowley Crossworks, Segger Embedded Studio, Atmel Studio, STM32 Cube IDE, MPLab X, and others. Pull request or merge request online via bitbucket (or gitlab or github). Typically check for adhering to coding standard, and adhering to high-cohesion low-couple architecture for code placement. 1-5 minutes 50 25 25 Show
Manual testing mostly. Most target systems are embedded STM32 based devices although it varies from project to project. Mostly Arm Cortex-M processors. A wide range. IAR, KEIL, STM32CubeIDE as the primary toolchains. It varies project to project based on the client I am working with. I often have a colleague review code that I write if possible. Many times I'm reviewing client and other developers code. 31-60 seconds 75 10 15 Show
I don't. ARM & AVR uCs sublime, GCC, AVRDude, Weekly, peers outside the company, using zoom. 1-5 minutes 20 30 50 Show
combination of printf(...), and running on target and seeing if things break. Some 32-bit micros, a QNX 4.25 based RTOS system, and hopefully soon, a more modern custom linux image. Micro development in NXP Studio (Eclipse-based, uses gcc). QNX development with VS Code IDE, and on-board Watcom 10.6 C/C++ compiler/debugger. Boss and I do high-level structure overview, and then go through more thoroughly as we deem necessary. 1-5 minutes 60 5 35 Show
Unit tests where possible, running off target. I've tried using drivers, and test doubles, but found it difficult in C. I'm not normally doing embedded outside of hobby projects. Most of the embedded programming I've done is AVR ATMega based using the gcc-avr toolchain. I've tinkered a bit with STM32. In this context, gcc CLion, CMake. Ad hoc. 31-60 seconds 50 30 20 Show
When working from a spec, often there is an official test vector set that can be used for validation. Sometimes there is an alternative implementation for a different piece of hardware that can be used for reference. If neither is the case, Various hardware security modules (HSM's) programmed in C or C++. We develop code in MSVS, but each target has its own proprietary C compiler, usually building in a Linux Docker image. Compiled binaries are then hand-loaded onto the target platform. MSVS IntelliJ In my opinion, code review is more about sharing knowledge than anything else. You can have great discussions about architecture and style, but it is uncommon for bugs to be found in the review process. 1-5 minutes 30 50 20 Show
Apllication code: Simple intergration test, but nothing automated. In the present team we are 3 embedded developers and 4 PC application developers. Two testers, one manager, a PO and a SW project manager Platform code: cppunit test of some parts of the code base Embedded system for Food analysis NXP LPC4357 with multiple modules internal CAN communication 480*800 touch display SQLite database Data upload to a Foss Cloud solution Green Hills Multi 7.1.6 compiler and debugger Visaul Studio 2017 as IDE and simulator Ues "Rant" for building All code is reviewed, since last summer. The current project has run since late 2017 :-/ We use Azure Devops and I am quite happy with the this 5-30 minutes 30 40 30 Show
Manual Mostly ARM ATMEL Studio, Keil, MATLAB and Simulink The design is reviewed with the software architect. I use sonarCube to verify the code 31-60 seconds 3/10 2/10 5/10 Show
Manually updating impute values for a function and compare the output values with the expected ones. Confidential Eclipse, Keil, IAR Code review by senior developers 1-5 minutes 40 20 40 Show
I incrementally add functionality to the target code base, then submit customer programming to the code under development Printers big and small momentics and GNU compiler chain They're fair but until one has been through a couple it's really hard to do much more than try to write code like everyone else wrote something similar 1-5 minutes 20 20 60 Show
The tests are partly unit tests and partly functional tests. Unit tests are run off-target. Functional tests on target. Test of algorithmic code and code integrating with the libraries offered by the vendor is tested on target. This approach has been chosen to ensure that differences in endianness, size of basic data types etc are sufficiently covered by tests. The target systems are based on a number of different architectures. In general, debugging support is lacking - commonly reduced to output only when execution of the code returns 'nicely'. Mainly Microsoft Visual Studio, gcc & IntelliJ Code is reviewed by a colleague - sometimes by the colleague sole - othertimes as show-and-tell seances. 5-30 minutes 3/10 3/10 2/10 Show
* TDD unit testing for small well defined functionality. * Using a software implementation of the hardware abstraction layer. Hardware Security Modules of various brands and different CPU architectures with down to 1MB RAM. The same code has to work on all platforms, therefore all code is written in C. Visual Studio, IntelliJ IDEA Code reviews should make sure: * The intended task has been done and that nothing is missing * Relevant tests are present * The code is: - Secure and follows guidelines - Easy to understand - In the right place - Better than it was before 5-30 minutes 70% 20% 10% Show
Automatic unit tests, integration tests and functional tests. Test code mostly in C and C++. Embedded C code on HSM (Hardware Security Module). Focus on security, correct functionality and performance. Visual Studio, IntelliJ IDEA, QT Creator All code is reviewed by a peer programmer. 5-30 minutes 40 50 10 Show
I'm just starting to use CppUTest and TDD, moving away from the 'Debug later' approach. It has a wide range of peripherals: an LCD, Ethernet, SD card, etc. GCC, GDB, VIM, MPLAB X, Eclipse I haven't had much experience with code reviews, I've primarily been a solo developer. Under 10 seconds 40 5 55 Show
We have a test actor that can work as the sending and receiving end of each code execution. This can be scaled from single events to full features. We leave #ifdef-ed in case we ever need to reverify code that we make changes to. Embedded Atmel microprocessor Keil IDE with the Keil ULink Pro Our initial code drafts were brought in without much review because of time constraints, we're working on cleaning up now. Anytime we merged new code we used BeyondCompare to see exactly which code has changed. Under 10 seconds 65% 15% 20% Show
Progressive debug, usually confirming HW simultaneously as FW, and extending the FW to full feature MCU based RTOS Keil MDK UlinkPro Delta comparison in BeyondCompare with verbal intention walkthrough on each item 11-30 seconds 30 40 30 Show
Functional testing Consumer electronics IAR, Vendor Specific IDEs Informal Under 10 seconds 60 10 30 Show
Using CppUTest Aircraft PFD in C++ running on a raspberry pi VSCode, CMake, Git I put out pull requests when I'm done working on a feature and wait for my coworkers to comment on it. Its the same thing when my other coworkers submit PRs too. 1-5 minutes 7 1 2 Show
Run it and see if it works. linux based eclipse Have not done any code reviews yet 11-30 seconds 30 40 30 Show
I test my code using basic principles of TDD, but I would like to learn more It's a vacuum cleaner robot that runs on an OS based on Linux Yocto Eclipse IDE, Atlassian Stash We do the code reviews using Atlassian Stash git platform Under 10 seconds 30 30 40 Show
Mostly functional testing w/ hardware. Occasionally I will write a short test program that will fully exercise inputs of a function, etc. I design Lithium Ion Battery packs for power tools. I also design some tools for use on the packs occasionally. IAR is my preferred compiler and debugger. Also, all the normal EE bench tools, Osc, DMM, etc. Lately been using Parasoft for static analysis. Coding reviews are not "mandated" by our procedures. When we do have them, many times they get caught up in the minute details on a particular portion of code and become less effective. 11-30 seconds 45 35 20 Show
Umm.. use a lot of printf, and simulator Most projects on Xilinx ZynqMP SoC, most of them are baremetal, then Linux and VxWorks. gcc, clang, make, Simics, QEMU peer review on an ad-hoc basis 11-30 seconds 20 40 40 Show
Purely system testing PIC32 MPLABX Completed by a small software team 11-30 seconds 4 1 5 Show
unit testing, and run time testing with hardware embedded 32bit ARM and 8 bit IAR, eclipse, notepad++, visual studios It is currently up to the engineer of a project to start a review. the are starting to become a requirement 11-30 seconds 40 30 30 Show
Barely Smart meters Eclipse, use, visualstudio When there is time to 1-5 minutes 30 5 65 Show
We do functional tests with Ctest I develop code for both a Renesas RX65 MCU and the ZON M3 and P3, embedded in a smart meter. I also code for PC. CrossStudio for MAXQ30, IAR Embedded Workbench and Visual Studio Code We don't have standarized code reviews Under 10 seconds 40 40 20 Show
Good question... In every company I have worked for, testion is a recurrent word that appears but, because of the tight delivery times the testing has been always avoided. Here, in ACLARA, our team leader is trying to change this. I had the chance to use CPPTEST but not in production. Only about one? Right now the Renesas IC is a bit unknown. I now it is a 32 bits system, its endianess, some aspects of its configuration using its registers, peripherals... But all this, or most of all, is handled using a HAL layer. Here in ACLARA we use IAR compiler for the target and MinGW for the tests using CMAKE to handle the tests and to build each of them. I like to code using vim (using cygwin now, because the use of Windows is mandatory) or VS CODE. There are not code reviews right now. I have worked before using pair programming method and it worked well. 5-30 minutes 10 60 30 Show
I try to make new functionalities as isolated as possible so that we can then make unit testing on them. Thanks to Cmake we are able to launch our libraries and check if new changes in code have broken other modules. We make Smart meters => embedded system IAR embedded, Cmake, mingw I try reviewing every little time what I am coding. Performing unit test helps. 5-30 minutes 30 20 50 Show
IAR Under 10 seconds 2 3 5 Show
PC testing and testing in target device. Renesas microcontroller and ZON P3S IAR EW for Renesas and CrossStudio for MAXQ30 DK/DA 5-30 minutes 30% 50% 20% Show
Creating tests on PC. I usually create single unit tests (when possible) and sometimes I create more complex test that involves more than one component and tests complex behaviours (entire module). This forces me to abstract hardware pieces and let me create single components(C modules) that works indendently each other. This also allow me to debug on a PC that is much easer than the embedded system. Actually is a Renesas Chip (Rx651). Its a 32bits CPU at 120Mhz with 1.5MB of internal Flash, 640KB of RAM and 16MB of external Flash. IAR embedded workbench (forced by company policy) VIM as my favorite editor We seldom perform code reviews. 5-30 minutes 3 6 1 Show
PC and platform testing. Smart energy meters. Visual Studio Code IAR EW for Renesas dk-da 5-30 minutes 20% 40% 40% Show
PC testing and in the hardware directly Electric meters IAR Embedded Workbench IDE Visual Studio Code I do not know what is this 5-30 minutes 40% 30% 30% Show
The tag cloud words are from attendees 'Current test practice'

Make this into a word cloud

Select text below (triple click), copy, then try one of these tag cloud generators
jasondavies word cloud generator - colorful
tagcrowd - lets you show counts