The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Test-Driven Development doubts

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Maruis Marais

Posts: 290
Nickname: maruis
Registered: Aug, 2005

Ruby rocks, what else can I say...
Test-Driven Development doubts Posted: Aug 11, 2006 6:19 AM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Maruis Marais.
Original Post: Test-Driven Development doubts
Feed Title: exceptionz
Feed URL: http://feeds.feedburner.com/Exceptionz
Feed Description: I am an XP, TDD, OO and .NET enthusiast. Things like Design Patterns makes my pulse race, I love learning exciting new things and to share my thoughts and techniques with the world. So join me and together we can explore the awesome world of software development
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Maruis Marais
Latest Posts From exceptionz

Advertisement
Alex Bunardzic made the following comments in his post:

These contract- and test-driven development disciplines sound really good in theory, however in everyday practice they seem to offer dubious benefits.

The problem is as follows: If a software developer is deemed not sufficiently reliable when writing a program that governs the interaction inside the system, a harness called contract-driven or test-driven is placed upon that developer. What the methodology is saying to him is: “We’ve noticed that you tend to make plenty of mistakes when programming the system. In order to avoid making those glaring mistakes, we want you to stop and write a contract first. Or, alternately, stop and write a test first. That’ll make sure that the mistakes won’t happen again.”

Sounds good? Perhaps, but there is one glaring omission that had just slipped in. And the omission is: what makes us think that a person who is not competent enough to write a reliable program would all of a sudden be competent when it comes to writing a contract, or a test? If we examine those contracts and tests, we’ll see that the same omissions in logic, once found in the code, are now infesting the contracts/tests.

So we see that the only people who are capable of writing robust, reliable contracts and tests are the people who are capable of writing reliable, robust programs in the first place. And if that’s the case, what’s the point in slowing them down and forcing them to stop and write those bloody contracts/tests?

I don't agree with Alex and see the world as follows:

When you look at TDD as an XP practice in isolation then you can make many an argument against TDD. But XP as a development methodology is build-up by many levels of feedback loops (communication), which TDD is one of. Each of these feedback loops (practices) complementing each other to deliver a stunningly better result in software projects than Traditional methods (Waterfall).

On a separate note, when doing TDD and writing the test first. You are stating the problem first, then the state the solution second. In general you don't make a mistake twice.

The other interesting aspect of TDD is, as soon as you are comfortable with the TDD method of writing code. You suddenly realize that the design of your objects and components change. Your objects display better object-oriented characteristics.

In Traditional Software projects, programmers write the code and then the tester gets the software and does the testing. This time gap also means you have this disconnect between creating, finding and fixing the bugs in the code.

The other common managerial practices when the budget gets tight, is to cut some testing time. TDD tries to overcome this problem as well.

There are many more reasons I can give why TDD is good for any software development effort. In my opinion it helps you to write Quality code.

Technorati Tags:

powered by performancing firefox

Read: Test-Driven Development doubts

Topic: ASP.NET: HttpWebRequest und Timeout-Problem Previous Topic   Next Topic Topic: Agile 2.0? Agile, Orthodoxy and a Message From God

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use