Most embedded teams run unit tests on the host and integration tests on real hardware (possibly manually), with very little in between. Marie Meyer and Joel Schulz-Andres founded OnMCU to fill that gap, and we talk with them about what belongs there. Joel's approach begins with "on-target unit tests" on bare dev boards, which catch clock misconfigurations and peripheral errata before your own board exists, and we look at what changes once it does.
Most embedded teams run unit tests on the host and integration tests on real hardware (possibly manually), with very little in between. Marie Meyer and Joel Schulz-Andres founded OnMCU to fill that gap, and we talk with them about what belongs there. Joel's approach begins with "on-target unit tests" on bare dev boards, which catch clock misconfigurations and peripheral errata before your own board exists, and we look at what changes once it does.
Fault injection is the kind of testing most teams never get to, because the rig for it is effectively a second embedded product built alongside the first. We talk about how much of that work you can avoid. Luca suggests injecting faults further up the software stack, wherever your architecture has a seam for it. Joel's rule is to move a test up the hierarchy wherever you can afford the latency. We also discuss the point at which cloud boards stop being enough and the test hardware has to sit next to your own boards.
If you've ever built a test rig yourself, some of what went wrong for them will sound familiar. They bought USB hubs that claim per-port power switching and don't have it, rack drawers that waste half the space, and looked for a cable chain that doesn't exist. And quite apart from technology, there's the quintessentially German pushback OnMCU has to overcome when selling their cloud-based HILs: "If you don't want a dev board on your desk, you shouldn't have studied electrical engineering."
"There's a blog post from 1999 about daily builds being essential - that was 27 years ago, and in embedded, some companies are not doing daily builds today. There's really this continuity of testing that's missing." — Joel Schulz-Andres
"Whenever we had to build something from scratch, it felt great. Whenever we had to depend on others - we're standing on the shoulders of giants, but a lot of times you have to really work around it to get something working." — Joel Schulz-Andres
"Testing in the cloud is really a mindset shift, especially in Germany. People told us: if you don't want to have a dev board on your table, you shouldn't study electrical engineering." — Marie Meyer