The software development methodology, test-driven development (TDD), sometimes known as test-driven design, integrates unit testing, programming, and source code rewriting.