What is Test Driven Development (TDD)?

What is Test Driven Development (TDD)?
Test Driven Development

Test driven development is a programming approach where before the developer writes any code, she first writes an automated test. This test will fail at first because no code exists. Then she writes enough code to make the test pass. After that she might want to clean up or refactor her approach, all along ensuring that the test still passes. Then she moves on and writes another test for the next piece of very small functionality she wants to add and so on. By doing this, testing no longer becomes an activity that is done at the end and instead becomes an ongoing activity throughout. In fact, when the developer is done coding she is also done testing. This approach also ensures that complex solutions are broken up into manageable pieces, the code is decoupled, concerns are separated and the application is easily testable.

Also check out the entire Agile Testing series: