Aller au contenu

E10 TDD and AI

6 mars 2026 · 53 min

Notes de l’épisode

Is test-driven development still relevant when AI can generate thousands of lines of code from a prompt? Ryan argues TDD was designed for human limitations -- if AI can generate complete systems, why write tests first? Luca pushes back: tests are your only defense against AI assumptions. Five lines of prompt becoming 10,000 lines of code means 9,995 lines of hidden assumptions that need to be made explicit and verifiable.

Luca presents a systematic approach: start with test ideas (behaviors to verify), progress to test outlines (properties and steps in comments), then implement test code before letting AI write production code. This isn't about micromanaging class hierarchies -- it's about maintaining engineering responsibility. TDD becomes even more crucial in the AI era: it's how you communicate intent, capture assumptions, and keep AI-generated code on track.

Key Topics:

  • [02:30] Is TDD obsolete in the age of AI?
  • [05:45] Ryan's argument: TDD was designed for human limitations
  • [08:20] Tests as defense against AI assumptions and 'success theater'
  • [12:15] Hidden assumptions: 5 lines of prompt becoming 10,000 lines of code
  • [16:40] Agentic AI coding and the Swiss cheese model of reliability
  • [21:30] Systematic approach: Test ideas, test outlines, test implementation
  • [28:45] Spec-driven development (SDD) and PRDs in AI-assisted coding
  • [35:20] Unit tests vs. BDD in the AI context
  • [42:10] Why you shouldn't fight the AI over class hierarchies
  • [48:30] Weekend projects that become production systems
  • [52:45] Building features in an unfamiliar language (Kotlin) using TDD

Notable Quotes:

"The AI writing tests for me is the last thing that I want, because that is my only line of defense against the AI doing stupid things." -- Luca Ingianni

"To go from five lines of prompt to 10,000 lines of code means there are 9,995 lines worth of assumptions in there. And sometimes they are correct and sometimes they are not." -- Luca Ingianni

"The problem is that weekend projects turn into airplanes. Prototypes always live on." -- Ryan Torvik

"You are responsible for this code no matter whether you type the curly brackets or the LLM." -- Luca Ingianni

Resources Mentioned:

  • Spec-driven Development (SDD) -- systematic AI-assisted development with three layers: requirements, plan, and tasks
  • Behavior-Driven Development (BDD) -- system-level testing through executable specifications (Gherkin language)
  • Unciv -- open-source Civilization clone in Kotlin, used as example project for TDD with AI
  • Agile Embedded Podcast -- Luca's podcast on agile practices and TDD in embedded systems

Tous les épisodes de Embedded AI Podcast

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.