π»
TDD (Test Driven Development)is asoftware development processwhere thetestsmay be written before theproduction codes.
TDD was introduced following the 'test first' principle from the eXtreme Programming (XP) of the Agile methodology.
TDD involves three cycles in large:
π΄ Red - Write Tests
π’ Green - Write Code
π΅ Refactor - Refactor Code
where these cycles can be further split into overall 5 steps as described below.

IBM Available here
TDD varies from the conventional life cycle of software development, where the testing may be placed just before the deployment and maintenance stage, the final stage.

Geeks for Geeks Available here
TDD can be introduced as:
π compels developers to follow the requirements
leading to clean and maintainable codes.
lowers the risk of over-engineering.
π§ mitigates the fear of sequential updates or refactoring
β° mitigates the debugging time
π increases the test coverages
TDD however:
πΌ incurs an overhead for writing tests
leading to lower productivity.
may not be suitable for very highly dynamic environments.