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.
This is a long article. If you’re in a hurry, this is the 5 minutes version:
Continue reading “What Is Really TDD?”
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?”
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”