What Is Really TDD?

Every once in a while, I have conversations with people about what really is TDD. Since I built a certain knowledge on the topic in time not only by using it but also by explaining it to others, I decided to write this article that details my definite view on what TDD is. I hope you’ll find it useful.

Short Version

This is a long article. If you’re in a hurry,  this is the 5 minutes version:

Continue reading “What Is Really TDD?”

Does TDD Really Work?

Since TDD gained exposure in the industry, lots of people ask:

Does TDD really work?

This is a perfectly valid question and many TDD-ers I know tend to avoid it, probably because they don’t know or because they fear the answer. TDD is wonderful at personal level; it makes you feel very good about yourself because of the continuous reward system that’s ingrained in the practice. It’s hard to let it go.

But does it really work?

I think this isn’t the correct question. I think that we should ask:

Can TDD produce more value than other techniques?

Under what circumstances TDD will fail?

Let’s take them one by one.

Continue reading “Does TDD Really Work?”

Unit Testing, Automatic Testing, TDD – Pros and Cons

I had a lot of recurrent conversations over why we should use automatic testing, unit testing or TDD. Through these conversations, I’ve heard a lot of arguments pro and con to these techniques, so I decided to summarize them.

To be honest, I am very passionate about TDD. I believe this technique is a must know for every developer who’s serious about his or her craft. Despite my personal preference, I will do my best to present both sides of the arguments as clear, pragmatic and even as I can. If you spot any mistakes or errors please let me know and I will update the article.

I will split the discussion in a few parts because I feel the arguments can be separated from general to specific.

Continue reading “Unit Testing, Automatic Testing, TDD – Pros and Cons”