Member-only story
Testing: Differences between TDD, ATDD and BDD
Testing is important. Which suits you, though?
Testing, while at times decisive (the client isn’t paying for us to test!) is crucial to successful project completion. Unit testing, left to a developer, is often not enough.
A test strategy should be a carefully considered implementation with a balance between time spent and benefits received.
This particular guide is going to run through TDD, ATDD and BDD. So let us dig in!
Test-Driven Development (TDD)
Test driven development revolves around using Unit Tests to test code, decoupling dependencies from the code (using techniques such as dependency injection).
Tests should be written before the code is written.
The TDD process involves writing Unit Tests before code is written. For the developer this means you must know the behaviour of the code before any particular algorithm is written to solve a problem. TDD asserts some conditions that may be the output of some particular function.