# Test Driven Development

Test driven development (TDD) is the process of writing tests for software's requirements which will fail until the software is developed to meet those requirements. Once those tests pass, then the cycle repeats to refactor code or develop another feature/requirement. In theory, this ensures that software is written to meet requirements in the simplest form, and avoids code defects.

<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/test-driven-development.html'>What is Test Driven Development (TDD)?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.ibm.com/garage/method/practices/code/practice_test_driven_development/'>Test-driven development</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/uGaNkTahrIw'>Agile in Practice: Test Driven Development</BadgeLink>
