Site Logo

For the last week or so, I’ve been studying interestedly some agile / lightweight methodologies/processes of software development, with the main one being Extreme Programming (XP in short, not to be confused with Windows XP). As a result of studying, I’ve come upon the concept of Test Driven Development (TDD). Now while I know there are various pros and cons to using XP (and I’ll hold judgement on whether it’s a good thing or bad thing), I can’t seem to find any disadvantages of adopting TDD into how to develop applications.

The basic process of TDD goes like this:
- Write a test (that’s right, even before the code)
- Watch it fail
- Write code to make test pass
- Refactor if necessary
- Repeat

There are various arguments running around against TDD allowing design to grow from these tests, as opposed to doing design upfront and before any code is written. But I think that in either case, a test driven process can be used for the improvement of code. By writing tests upfront, whether with a Bid Design Up Front, minimal design or no design at all, it saves quite some time from bug hunting and fixing once the software is more complex and developed.

For me, doing a couple of examples with TDD has been exhilarating and quite enjoyable. I never ever thought I’d enjoy writing tests for applications, but to see that tests actually improve quality and even drive how an application gets built is quite amazing. I’d really recommend giving TDD a try in your next development project.

Powered By Qumana

Average Rating: 5 out of 5 based on 297 user reviews.

No comments yet. Be the first.

Leave a reply