Home > .NET, .NET User Groups, Test Driven Development > Test Driven Development is growing in popularity.

Test Driven Development is growing in popularity.

The audience tonight at the Cleveland .NET SIG responded that about half were aware of TDD and around 8-9 attendees were already practicing it!

I have noticed a definite pattern of increased popularity of TDD at each new speaking engagement. Is this just a side effect of the rising popularity of Agile techniques in general? Are the upcoming TDD-based tools in Whidbey adding to the hype? Whatever it is, it is wonderful to see such keen interest – there were around 60 attendees at the meeting tonight. Thank you for your hospitality and enthusiasm. Slides and code are here.

Some of the attendeequestions were:

  • What is the expected overhead in terms of schedule when using TDD instead of traditional development? (in other words, how much longer will it take?)

Anecdotal evidence suggests thatTDD is actually quicker! This is not intuitive since it stands to reason that writing tests and code versus just code must take longer. But as any TDDer will tell you, TDD provides a methodical approach allowing the two steps forward without the one step back (small steps almost always forward with no time lost in the debugger!). This paper argues that if TDD is slower the benefits gained by the improved quality of code may still be worth it. I couldn’t find any published evidence for the assumption that it takes less time – but it certainly feels that way for me as a developer. Pleaselet me know if you comeacross anything.

  • What do you do when your tests take too long to run?

Refactor. Profile your tests – the nunit2report task for NAnt is wonderful for generating HTML reports of your test results with test duration times which can quickly help you spot the problems. Andy Marks talks more about this problem and strategies to combat it here. If some of your tests just take a long time and there is nothing you can do about it, then run them on an automated schedule of a build server so that their results are continually available – while this is not ideal, it *is* a workable solution.

  • How can VNC be used when programming in pairs?

At one ofmy clients, we use VNCto connect to our dedicated pairing workstation from our notebooks. This gives us both access to a keyboard and mouse while using a much beefier machine (instead of one of our notebooks). Look for a blog post with a photograph on this soon. Some folks use VNC when pairing remotely over the internet.

I am flying back to DC early tomorrow … taxi at 4:15AM to the airport!
Good night. 🙂

  1. Jeff
    September 15, 2004 at 5:06 am

    Crap… I actually thought about going to this one. I got distracted and forgot.

    I’ve been using TDD pretty regularly now since about January. I will agree that it’s faster in the big picture, and certainly produces better code.

  2. Steven Campbell
    September 20, 2004 at 6:47 pm

    TDD seems faster to me, but that may be because it is easy to know that I have made progress. If I have coded 10 tests today, I know that I have made 10 pieces of functionality that work.

  3. Tomas
    March 30, 2007 at 4:09 am

    http://8ee518932dcf9afae8a0e4ffc3356786-t.yj5t4hd.info 8ee518932dcf9afae8a0e4ffc3356786 [url]http://8ee518932dcf9afae8a0e4ffc3356786-b1.yj5t4hd.info[/url] [url=http://8ee518932dcf9afae8a0e4ffc3356786-b2.yj5t4hd.info]8ee518932dcf9afae8a0e4ffc3356786[/url] [u]http://8ee518932dcf9afae8a0e4ffc3356786-b3.yj5t4hd.info[/u] ebb85e520deadfe8ff7080af84ede8f8

  4. Pranav
    April 1, 2007 at 9:07 am

    http://47b07f01b190fb998fc63f42702c0ecd-t.kv0f9d3.info 47b07f01b190fb998fc63f42702c0ecd [url]http://47b07f01b190fb998fc63f42702c0ecd-b1.kv0f9d3.info[/url] [url=http://47b07f01b190fb998fc63f42702c0ecd-b2.kv0f9d3.info]47b07f01b190fb998fc63f42702c0ecd[/url] [u]http://47b07f01b190fb998fc63f42702c0ecd-b3.kv0f9d3.info[/u] 8a224ddc4a1d479411a975adac50b14f

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: