Test-Driven Development (TDD) is a methodology in software development that necessitates tests to be written before to the production code. This approach can be used in any software development paradigm that involves writing code, including Agile, Scrum, XP, and Lean. This research paper surveys the impact of TDD on software development with a specific focus on its effects on code coverage, productivity, internal and external software quality, and the affective reactions associated with TDD. The paper also identifies potential challenges and drawbacks of implementing TDD, such as increased overhead and time consumption, a learning curve for developers, and difficulty in testing certain types of code. The studies’ results suggest that TDD can improve code coverage, and code quality, reduce defects, increase productivity and developer satisfaction, improve internal and external software quality, and ultimately lead to higher customer satisfaction.