Yes, the point of TDD is to force you to think about what your requirements are—and how you will prove that they have been met—from the users' (and thus the tests') point of view before writing the code.
If you want to take a more exploratory approach and make up the requirements as you go along, fine, but that won't look anything like TDD.