Test Driven Development (TDD) is a software development process that is based on the repetition of a very short development cycle: first, the developer writes an automated test case (which initially fails) that defines a desired improvement or a new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.
The goal is to introduce developers to agile development methodologies and some of the tools that support them, especially version control and software testing, so that they can continuously develop, maintain, and deliver applications and services in collaboration with other developers.
It is aimed at people who write tests frequently. It is an introductory course to Test-Driven Development. The course is intense and we cover from the most basic parts, such as unit tests, to more complex topics, such as the different types of test doubles and common problems when writing tests.