Test-driven development (TDD) is a software development process where unit tests are written before code to define desired functionality. The TDD cycle involves writing a failing test, then code to pass the test, and refactoring code. TDD encourages simple code design and inspires confidence through automated testing. It helps ensure code meets requirements and is testable from the start.