# BDD with Steve Branam

- Show: [The Pragmatic Embedded Podcast](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast)
- Published: 2025-03-26
- Length: 55m
- Page: https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam
- Listen: https://agileembeddedpodcast.com/episodes/bdd-with-steve-branam-nzUJiGj6

## Summary

Steve Branam, an embedded software veteran with 40 years of experience including work on iRobot Roombas and automotive systems, explains how Behavior Driven Development (BDD) provides a disciplined layer on top of Test Driven Development (TDD) to avoid brittle tests. He details the Given-When-Then structure, the use of spies and test doubles to handle hardware interactions off-target, and strategies for testing state machines and system-level behaviors. Branam argues that BDD is applicable at all levels of embedded development, from unit tests to system integration, by using abstraction layers to isolate business logic from hardware dependencies.

## Chapters

- [0:00](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=0) Introduction: Steve Branam and BDD Overview
- [3:15](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=195) TDD Pitfalls: Testing to Implementation and Brittle Tests
- [8:17](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=497) BDD Structure: Given-When-Then Format
- [13:34](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=814) Test Doubles and Spies for Hardware Interactions
- [20:54](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=1254) Testing State Machines and Internal States
- [26:34](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=1594) Off-Target Testing and Hardware Abstraction Layers
- [31:51](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=1911) Why BDD is Rarely Used in Embedded Systems
- [38:51](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=2331) Code Coverage as a Signal, Not a Goal
- [42:08](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam#t=2528) Learning Curve and Maintaining Discipline

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [PCB design & layout](https://hardwarepodcasts.com/topic/pcb-design)
- [Microcontrollers & dev platforms](https://hardwarepodcasts.com/topic/microcontrollers-and-platforms)

## Most relevant to

early-stage companies

## Mentioned

- iRobot Roomba (product)
- Dan North (other)
- James Grenning (other)
- Ian Cooper (other)
- Robert Martin (other)
- Michael Feathers (other)

## Related episodes from other shows

- [270: Broccoli Is Good Too](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too) (Embedded.fm)
- [30: Eventually Lightning Strikes](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes) (Embedded.fm)
- [30: Eventually Lightning Strikes (Repeat)](https://hardwarepodcasts.com/podcast/embedded-fm/2016-11-30-30-eventually-lightning-strikes-repeat) (Embedded.fm)
- [103: Tentacles Of the Kraken](https://hardwarepodcasts.com/podcast/embedded-fm/2015-06-03-103-tentacles-of-the-kraken) (Embedded.fm)
- [500: Nerding Out About the Ducks](https://hardwarepodcasts.com/podcast/embedded-fm/2025-05-02-500-nerding-out-about-the-ducks) (Embedded.fm)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to The Pragmatic Embedded Podcast.
