TDD is pretty well known in the software industry.
What is exactly TDD? It is a software development process where testing is added at every step to fix bugs faster.
On a standard process, testing is left until the end, when development of the main functionality has ended and the QA (Quality assurance) team is tasked with testing it and finding any abnormal behavior. This can lead to longer development times or extended costs due to bug fixing.
A great addition of TDD is unit testing. Small tests verify a single functionality of the code for predefined responses or answers. This allows a faster reaction when there’s an unexpected bug or when previously working code was updated and it stopped working, ie a regression.
Unit testing can be added to a manual process or currently there’s automated tools that run a whole suite of tests on every software release or build.
TDD ensures a better code quality overall since it has more strict quality controls.