What is the primary goal of TDD?
One view is the goal of TDD is specification and not validation. In other words, it’s one way to think through your requirements or design before you write your functional code (implying that TDD is both an important agile requirements and agile design technique).
Another view is that TDD is a programming technique.