Skip to main content
Test-driven development

Test-driven development

Search complete. 78 mentions across 23 episodes found for "Test-driven development".

Sep 12, 2026

speaker_5HOST
4:09
He and his team had essentially spent 18 months trying to force clumsy object oriented constructs to behave like a functional pipeline.
speaker_4HOST
4:17
But wait, I mean, if we're taught that TDD and interfaces and dependency injection are the gold standards of software engineering, why would he feel like they were clumsy? I mean, aren't those patterns the exact mechanisms that guarantee our code is robust?
speaker_5HOST
4:31
Well, yeah, but only if you assume that complex state mutation is unavoidable.
speaker_4HOST
4:35
Oh, interesting.
speaker_5HOST
4:36
Right.
speaker_5HOST
4:37
Because in OPIDO, you are constantly managing objects that hold both data and behavior, and that data can change.
speaker_5HOST
4:43
So all those patterns you mentioned, like dependency injection and massive mock libraries for TDD, they're largely just defense mechanisms.
speaker_4HOST
4:51
Defense mechanisms against the changing state.
SamHOST
15:56
What
AlexHOST
15:56
you're describing is basically TDD applied to AI prompting.
AlexHOST
15:59
In traditional TDD, you write a failing test before you write any application code, so you know exactly what success looks like.
AlexHOST
16:05
With this, you write the failing test in your head or in that one sentence before you let the AI spin up its context window.
AlexHOST
16:13
If you don't define what done looks like, the AI will just wander around your code base, hallucinating edge cases and burning tokens on features you didn't even ask for.
Ben RadyHOST
37:05
And I wonder if there's some, you know, future like this old code base, your show on PBS, where it's like, you know, we go in and we hand edit this code.
Ben RadyHOST
37:17
One of the things that I said in the presentation that I did, like I was talking about, is that I think at this point I can make the claim, and others have made this claim too, and I don't think I'm alone here, I can make the claim that TDD is for humans.
Ben RadyHOST
37:32
Not robots.
Ben RadyHOST
37:33
I have tried many, many times to build software using test-driven development with agents, and you can make them do it.
Ben RadyHOST
37:42
I don't think it makes the code any better.
Ben RadyHOST
37:45
Why do we even do TDD? What was the point of TDD? Well, it was lots of things, but one of the goals was to make sure that you didn't wind up with untestable software.
Ben RadyHOST
37:58
Because the problem with automated testing, oftentimes people are like, well, it's really hard to write the test because it just doesn't work.
Ben RadyHOST
38:05
And it's like, yeah, because you didn't design
Robert LuceroGUEST
32:03
But at the end of the day, did the task complete in the way that we expected? And did somebody sort of say yes to that? Is it correct? And I think that That's really where I think things are moving towards.
Robert LuceroGUEST
32:15
So when we talk about bugs, I see these automated tools and these automated systems, and I've seen examples of prompts being start with TDD.
Robert LuceroGUEST
32:26
Okay, if an agent doesn't know what the business outcome is of the task that you're trying to apply, it can write tests, it can write code to meet that those tests pass.
Robert LuceroGUEST
32:36
Does that achieve your end outcome? I don't know.
Brendan BuckinghamHOST
2:43
The thing that Anthropic at least points out in a lot of the things and the stuff that I've seen with them is you want your skills to be more incremental, like small, that you can plug and play.
Brendan BuckinghamHOST
2:56
So you could have, say... a code review skill that does like one part of the code review, or you could have a TDD skill maybe that is broken down into multiple skills.
Brendan BuckinghamHOST
3:08
So more modular, basically.
Brendan BuckinghamHOST
3:11
I haven't quite gotten there myself, but I like the concept because, you know, their argument is partially just if you write one skill that's like basically like a huge script, right? And it goes through and it does stuff and then you want to modify it or you want to take like part of that and use it for something else.
John CrickettGUEST
24:14
So again, the code itself isn't really that important, but there's-- the process of getting them down and organizing our thoughts was what mattered, and we've lost something in taking that away.
John CrickettGUEST
24:25
Now, you know, I'm sure you've seen there's lots of debates of whether or not test-driven development works, whether or not it's a good idea, uh, and so on.
John CrickettGUEST
24:34
I think a lot of those miss the point, because you can write really good software with TDD.
John CrickettGUEST
24:39
You can write really good software without TDD.
John CrickettGUEST
24:43
If you're, I don't know, Stephen King, you can probably write really good stories with a pen and paper or with a typewriter or with a word processor.
John CrickettGUEST
24:51
And you, and you find the right process that works for you.
John CrickettGUEST
24:53
And I don't know what his process is.
John CrickettGUEST
24:55
He's probably documented it in his own writing book.
Nathan ToupsHOST
20:17
This is typically how I write.
Nathan ToupsHOST
20:18
I'm not a TDD person.
Nathan ToupsHOST
20:20
I don't write a failing test and then write my code to the failing test and then go from there for a couple of reasons.
Nathan ToupsHOST
20:25
Number one, I think it encourages you to be a tactical tornado, to get back to Osterhout's ideas, where...
Ian JohnsonGUEST
29:51
So it was a living document as we were changing things and updating things.
Ian JohnsonGUEST
29:54
And then we also implemented each of our newer classes using TDD.
Ian JohnsonGUEST
30:00
So once we had the characterization tests in place, that allowed us to really break down and mark off sections to do TDD in order to refactor things under the hood.
Ian JohnsonGUEST
30:13
And so now things are... interface driven.
Ian JohnsonGUEST
30:18
We use ports and adapters a lot.
Mike RispoliHOST
40:02
And if you're not doing test-driven development as you get there, you're going to be in a lot of trouble because it's the same exact problem That we saw when you didn't do test-driven development on personal projects or anything or at a company, right? You would build something, something would break somewhere else and people would go, well, why did that break? And it's like, well, you didn't have a testing practice in place.
Mike RispoliHOST
40:25
So now one of the best things about...
Mike RispoliHOST
40:28
My flow now is very strict adherence to TDD.
Mike RispoliHOST
40:32
I'm very, you know, and especially with agents, you know, whereas when it was me writing the code, I might kind of know inherently, like I'm not touching this part of the app.
Mike RispoliHOST
40:41
So I'm not now I'm like, no, you need to make sure that you got every single thing.
David J. BlandHOST
40:28
I feel as if maybe this is somewhat weird to say, but like my first introduction to just iterative and agile and everything was like through XP, like extreme programming.
David J. BlandHOST
40:38
And over the years, it's like, oh, here's how you do TDD.
David J. BlandHOST
40:41
And then here's how you do BDD.
David J. BlandHOST
40:43
And of course, most people did not do these things.
David J. BlandHOST
40:45
Yeah.
David J. BlandHOST
40:46
And I feel like, are we in a place where AI is going to actually bring TDD and BDD back? Because what you're explaining is almost like, what's the acceptance criteria for this thing? And if you don't give it acceptance criteria, you are not going to get the quality you want.
David J. BlandHOST
41:02
I mean, in a weird way, are we sort of going to see AI help us be more disciplined in that? I think
Teresa TorresGUEST
41:07
we already are.

13 more episodes mention Test-driven development.

Create an account to see the whole feed, search across every transcript, and follow the entities you care about.

We value your privacy

We use cookies to understand how you use our platform and to improve your experience. Click “Accept All” to consent, or “Decline non-essential” to opt out of non-essential cookies. Read our Privacy Policy.