E10 TDD and AI
No se pudo agregar al carrito
Add to Cart failed.
Error al Agregar a Lista de Deseos.
Error al eliminar de la lista de deseos.
Error al añadir a tu biblioteca
Error al seguir el podcast
Error al dejar de seguir el podcast
-
Narrado por:
-
De:
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