# TDD for UI

- Show: [The Pragmatic Embedded Podcast](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast)
- Published: 2023-06-23
- Length: 42m
- Page: https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui
- Listen: https://agileembeddedpodcast.com/episodes/tdd-for-ui-jPTTsbBh

## Summary

Jeff Gable and Luca discuss how to apply Test Driven Development (TDD) to user interfaces for embedded systems, specifically addressing a listener's struggle with the GTKmm framework in a medical device context. They argue that UI frameworks should be treated like hardware—abstracted away via thin shim layers—so that business logic remains unit-testable. The hosts advise against automating UI tests due to brittleness, recommending instead a combination of rigorous unit testing for logic, automated integration tests via serial interfaces, and periodic manual exploratory testing for the UI.

## Chapters

- [0:00](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui#t=0) Introduction: Listener Question on GTKmm UI Testing
- [4:31](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui#t=271) Abstracting UI Frameworks Like Hardware
- [13:07](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui#t=787) The Case Against Automated UI Testing
- [16:36](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui#t=996) Testing Strategy for Safety-Critical Medical Devices
- [21:07](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui#t=1267) Exploratory Testing and TDD Philosophy
- [34:21](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-06-23-tdd-for-ui#t=2061) Prototyping Techniques and Communication

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Prototyping & iteration](https://hardwarepodcasts.com/topic/prototyping)
- [Medical & health devices](https://hardwarepodcasts.com/topic/medical-devices)

## Most relevant to

early-stage companies

## Mentioned

- GTKmm (tool)
- Qt (tool)
- Bluefruit Software (company)
- Paul Massey (other)
- Balsamiq (tool)
- Figma (tool)

## Related episodes from other shows

- [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)
- [270: Broccoli Is Good Too](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too) (Embedded.fm)
- [16: Democracy Is the Worst Form of Government](https://hardwarepodcasts.com/podcast/embedded-fm/2013-08-28-16-democracy-is-the-worst-form-of-government) (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/2023-06-23-tdd-for-ui. 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.
