Test Driven Development (TDD) is a software development process where tests are written before writing the actual code. In TDD, the developer writes a failing test, then writes the code necessary to pass that test, and then refactors the code to improve it. This process is repeated for each new feature or change. The goal of TDD is to ensure that code is thoroughly tested and reliable, and to catch and fix errors early in the development process. TDD is commonly used in Agile development methodologies.