Behavior Driven Development

The Pragmatic Embedded Podcast · 12 Oct 2021 · 46m

What this episode covers

Jeff Gable and Luca engineer discuss Behavior Driven Development (BDD) as a method for automated acceptance testing in embedded systems. They explain how Gherkin syntax allows teams to write specifications in natural language that are then executed by frameworks like Cucumber or Behave. The conversation covers implementation strategies for embedded targets, including simulation, communication hooks, and hardware-in-the-loop testing, while highlighting the benefits of traceability and the pitfalls of natural language ambiguity.

Mentioned

Companies
QRA Corp
Tools
Cucumber, Behave
Also
Gherkin, EARS

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 10m

    270: Broccoli Is Good Too

    James Grenning, author of 'Test Driven Development for Embedded C' and founder of Wingman Software, discusses the philosophy and practice of Test Driven Development (TDD) for embedded systems. He explains how TDD reduces debugging time by enforcing small, verifiable steps and using techniques like 'ZOMBIES' to defer complex decisions. Grenning also shares insights from a recent side project involving a Synapse Wireless mesh network for industrial water pressure monitoring, illustrating how to handle hardware uncertainty through experimentation and loose coupling.

  • OnTrack · 56m

    Embedded Systems Engineer Discusses AI-Driven Testing Revolution

    Ari Mahpour, an Embedded Systems Engineer at Rivian with prior experience at NASA JPL and Virgin Hyperloop, discusses the integration of AI and DevOps into embedded hardware development. He demonstrates 'vibe coding' with an Arduino using voice commands and LLMs, explaining how AI agents can autonomously write, compile, and test firmware. Mahpour also covers the challenges of managing hardware revisions, the importance of Model Context Protocol (MCP) for tool guardrails, and the future of AI in automated PCB design and testing.

  • Embedded.fm · 1h 09m

    103: Tentacles Of the Kraken

    Mark VanderVoord, lead maintainer of the open source testing frameworks Unity and CMock, explains how test-driven development (TDD) and mocking help embedded engineers design better code without needing full hardware simulators. He details the workflow of using CMock to generate fake interfaces for hardware drivers like I2C, allowing developers to test logic in a native host environment. VanderVoord also discusses the challenges of maintaining these tools, his new online course on ThrowTheSwitch.org, and the business model of supporting free open source projects through books and classes.

  • 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 · 57m

    109: Resurrection of Extreme Programming (Repeat)

    James Grenning, founder of Wingman Software and author of 'TDD for Embedded C', discusses the resurgence of Extreme Programming and Test-Driven Development (TDD) for embedded engineers. He explains how TDD prevents bugs and improves code quality, contrasting it with the micromanagement often associated with modern Scrum. Grenning also details his methods for teaching TDD, including the use of CyberDojo for remote training and 'Training from the Back of the Room' techniques to engage students.

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.