Unit testing application code in embedded applications is a fundamental need that embedded developers often overlook. At first, glance, getting a unit test harness up and running can seem complicated. However, developers can get a unit test harness environment up and running relatively quickly. This post will explore Cpputest and how developers can leverage existing … Continue reading Getting Started with Cpputest for Embedded Applications
Category: Testing
Embedded Software Development using Gitlab
One of my favorite tools for managing embedded DevOps is Gitlab. Embedded software teams across the globe are starting to recognize that software process modernization is critical to keeping software quality high, doing more with fewer resources, and keeping up with the competition. In order to do so, DevOps tools are necessary. In this post, … Continue reading Embedded Software Development using Gitlab
Introduction to Docker for Embedded Software Developers
Over the last several years, Docker has taken the software industry by storm. Docker provides developers an “open platform for developing, shipping, and running applications[1]”. The major advantage that docker provides developers is that it can separate the applications from the infrastructure that it is running on by building the environment in a container. The … Continue reading Introduction to Docker for Embedded Software Developers
3 Tips for Unit Testing Embedded Software
How do you know that your software is working the way that it is supposed to? You test it! The real question, though, is “How do you test it?”. In the old days, developers used to just manually test their software. Unfortunately, manual testing is not a great way to test software. The sheer number … Continue reading 3 Tips for Unit Testing Embedded Software
3 Tips for Repurposing Development Boards for Testing
Unfortunately, my embedded software development co-pilot (An original Saleae Logic probe that I’ve had for a decade) bit the dust the other night. I was working late and accidentally connected one of the channels to a 12-volt signal when the analyzer was designed for 5V with 10V overvoltage protection. (Yes, that means another article on … Continue reading 3 Tips for Repurposing Development Boards for Testing
Book Review: Test-Driven Development for Embedded C
Author: James Grenning Published: 2011 Target Audience: Any Jacob’s Rating: 5+ Stars Book Link: https://pragprog.com/titles/jgade/test-driven-development-for-embedded-c/ Test-Driven Development for Embedded C is one of those foundational books that every embedded software engineer should read. I first read the book probably back in 2013 or 2014 just as I was starting to become a full-time consultant. The … Continue reading Book Review: Test-Driven Development for Embedded C
Cyclomatic Complexity Measurements with pmccabe
A common question that I often receive is “What McCabe Cyclomatic Complexity tools should I use?” Now this is always a partially loaded question because while there are quite a few out there that I really like, most developers are really asking what free tools I can recommend to them. One of my favorite ones … Continue reading Cyclomatic Complexity Measurements with pmccabe
Where oh Where are My Test Points!
For the umpteenth time in my career, I am debugging a prototype board that has exactly zero test points. I didn’t design this board, but have inherited it from a frantic colleague who is behind schedule and is having trouble communicating with an onboard SPI device. The first step in this troubleshooting endeavor is to … Continue reading Where oh Where are My Test Points!
Hardware In-Loop Testing
Hardware In-Loop (HIL) testing runs the test case code on the target microcontroller rather than using a mocked software layer to act as the hardware. HIL testing can be extremely useful for verifying that hardware accesses from a HAL are working as expected and even test that all outputs from the system work as expected. … Continue reading Hardware In-Loop Testing