Why don’t developers use TDD in practice

How to make TDD great again

Alan Tai
6 min readJul 10, 2019
Didn’t TDD promise to make developers happier?

Like everything that comes under the name of Agile, Test Driven Development (TDD) is something that sounds great in theory. In practice, it is unclear how to do it right. You are often told that if you don’t like it, you are doing it wrong. It comes as no surprise that most developers I’ve met could explain the benefits of using TDD while none of them used it in their work. Not a single one.

Lately, there have been voices against TDD, blaming it not worth the effort and not keeping many of its promises. Some even claim that TDD is dead. How could something so advantageous is so unwelcome to developers?

In this article, I want to talk about four major problems with TDD in practice that explain this phenomenon.

Where are the tests? — CommitStrip.com

Problem 1: Refactoring breaks many tests

If we make a small change to the implementation code, none of the tests would break. That is one of the promises that TDD makes. In practice, at least a thousand tests break. Something that should not happen happened. To fix that, we often rewrite, not refactor, our test code. We spend a…

--

--