Allan MacGregor has a post to his site with some of his thoughts on why TDD isn't dead and is still a viable option to help reduce bugs and improve software quality.
So, where does this whole TDD is DEAD thing came from? Well, it all started with let's say a provocative talk and follow up blog post by David Heinemeier Hansson (@DHH) where he expressed his frustration with testing and put into question the value of TDD. [...] TDD is not dead, not really. And it won't really ever be dead, it will change or be replaced with something better; in fact it already has, and in my Magento Extension Test Driven Development book we focus on Behavior Driven Development, an approach that emerged from the original TDD methodology.
He goes through each of the points that DHH mentions in his post and offers some of his own thoughts on the topic:
- Developers make you feel like your is dirty if you don't practice TDD
- Driving design from unit tests is not a good idea
- TDD notion of "fast tests" is shortsighted
- 100% coverage is silly.
- TDD created test-induced design damage.
He ends with the most common misconception about testing in general too: i"t's too much work/it will make my development slower." He also looks at some of these kinds of comments specifically targeted at Magento 2.