› History
The general idea of testing before coding dates back to the 1960s when programs were written on punch cards. Because programmers would wait a long time before getting an output, one earlier practice is to write the expected output before inserting the punch cards into the machine. When the output is finally given by the machine, the programmer would compare it to the expected output that was written earlier.
However, the methodology of Test-Driven development that we know today is discovered or more accurately “rediscovered” by Kent Beck as a common practice of Extreme Programming development life cycle that was also invented by him. The main difference between modern TDD and its earlier version is that modern TDD develop automated tests that get run automatically by a testing framework.