TDD Debate

I have just saw the great hangout " Is TDD dead? ". The debate was inspired by blog post.

All participants in the hangout  agreed that testing is a critical practice in software development.

The disagreement were on whether TDD is useful.

1. Why should developers start their work in a state where test fails?

2. TDD require Isolation between software modules. This might cause:

  • Bad design decisions (developers might design a system which is easy to test,  but not wrong to use)

  • Extensive mocking - complex mocking is a huge effort to develop and maintain.

3. Test must be executed in reasonable time, in order to be useful. It does not matter what is the isolation and boundaries of the test as long as it is executed in reasonable time.  Test can include file system, database of services with high latency


My favorite part of the discussion was that Kent Back mentioned in the beginning of the conversation is that every software should have input and output. TDD make sure that you give focus to this basic requirement.

To sum up, my conculsion from the discussion is that TDD is here to stay. It may not be suitable for every project, but once it is - it will give great value.

Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at info@tikalk.com