Home » Uncategorized

TDD is the same thing as TFD

16 July 2004 2,409 Views One Comment

Pragmatic Programmer, Dave Thomas, argues that Test-Driven Development and Test-First Development are different. What he calls “Test-Driven Development”, I would call “Test-Friendly Development”.

Here is how Kent Beck, the guy who wrote the book on Test-Driven Development (and who I believe came up with the names for both TDD and TFD) defines TDD:

“Without taking too much counsel of our fears, here’s what we do: we drive development with automated tests, a style of development called Test-Driven Development (TDD). In Test-Driven Development, we write new code only if an automated test has failed…”

Sorry Dave, I disagree with your disagreement. :)

One Comment »

  • Levi said:

    Hey Javid — I just came across your blog today; Glad to see your speaking up. It’s interesting how quickly blogs propogate discussion topics. I posted the following comment on crazybob.org in response to yet another purity argument over whether you’re “doing it right”.

    Later,
    Levi

    —————————————————-

    I’m not convinced it matters one way or the other. More to the point, I don’t think test driven and test first are the same thing.

    If you’re writing tests and paying attention to what they’re telling you, then you’re doing TDD.

    Consider how rock climbers make their way up a wall. Sometimes they’re pushing, other times they’re pulling. Deciding whether it’s time to push or pull is a moment to moment decision.

    I say the same applies to testing and coding. Sometimes, you’re looking at the code and see exactly what you want to do–so you forge ahead without a test. The key is that you don’t go too long. Like the climber you need to notice when you’ve been pushing too much. Unfortunately, over doing “code-first” doesn’t manifest itself as obviously as ultra-tired legs….

    - Levi

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.