Unit Testing vs HIL Testing

The Pragmatic Embedded Podcast · 2 Jun 2022 · 37m

What this episode covers

Jeff Gable and Luca engineer discuss a listener's question on whether to prioritize unit testing or Hardware-in-the-Loop (HIL) testing for embedded systems. They argue that while HIL tests are crucial for validating system-level requirements and subsystem interactions, unit tests are essential for rapid feedback, refactoring safety, and catching low-level faults early. The hosts conclude that a hybrid approach is necessary, recommending that teams start with unit tests while simultaneously building the infrastructure for system-level testing to avoid technical debt.

Most relevant to

established companies

Topics

Mentioned

Companies
Agile Embedded Academy
Products
Embedded AI Podcast
Also
Pragmatic Embedded Slack

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 22m

    508: Descartes' Demon

    William Griffin, co-founder of Spark Embedded, explains the distinction between hardware-in-the-loop (HIL) and model-in-the-loop (MIL) testing, emphasizing that HIL involves a closed loop where the controller's output affects the simulated plant model. He discusses the value of model-based system design (MBSD) using tools like Simulink for off-highway vehicles and robotics, noting the trade-offs between high-fidelity simulation and cost. Griffin also shares insights on learning complex topics through repetition and creating safe environments for engineering teams to experiment and fail.

  • Embedded.fm · 1h 23m

    440: Condemned to Being Perfect

    Elecia White and Chris White host a crossover episode with Jeff Gable and Luca Ingianni of the Agile Embedded podcast to debate the application of Agile principles to embedded systems. The group discusses redefining Agile as 'risk management through feedback loops' rather than rigid Scrum, and explores the challenges of scaling these practices in large enterprises versus small teams. They also tackle specific technical debates, including the role of unit testing, the definition of Minimum Viable Products (MVPs) for hardware, and the necessity of documentation in regulated industries like medical devices.

  • Embedded.fm · 1h 08m

    413: Puppy-Like Glee

    Elecia White and Christopher White discuss the psychology of self-directed learning, using Christopher's drum practice and Elecia's embedded systems teaching as parallel examples. They debate the practical application of software quality practices, arguing that compiler warnings and linters are essential for catching errors, while unit tests and complexity metrics must be applied with context and risk assessment. The conversation concludes with advice on managing unmotivated team members, emphasizing empathy, communication, and understanding external constraints over assuming incompetence or malice.

  • Embedded.fm · 1h 07m

    500: Nerding Out About the Ducks

    Komathi Sundaram, a principal test engineer at Cruise, discusses her career transition from software development to embedded testing and her philosophy on automation. She details the architecture of hardware-in-the-loop (HIL) test benches, explaining how to orchestrate real-world scenarios like NFC taps and audio loops for devices under test. Sundaram emphasizes the importance of continuous integration, using Docker for environment consistency, and designing 'brick test beds' to safely allow developers to break systems during innovation.

  • Embedded.fm · 1h 03m

    53: Being a Grownup Engineer

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and long-time embedded industry expert, argues that firmware engineers must adopt disciplined engineering practices rather than relying on 'heroic' hacking. He discusses the necessity of requirements gathering, design reviews, code inspections, and rigorous testing to ensure safety and reliability, citing the Toyota unintended acceleration case as a failure of process. Ganssle advocates for measuring metrics like bug rates and lines of code to benchmark performance, and critiques the misuse of Linux in deeply embedded systems and the confusion between the maker movement and professional engineering.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by The Pragmatic Embedded Podcast. The episode itself belongs to its publisher.