I'm a beginner with TDD; I've just read TDD by example and now I can't seem to stop writing code in a TDD fashion. I've noticed that a lot of the time I'm writing a test, see it fail, correct it, and refactor. And then after some tests I see that there was actually a better way to write the interface all-along which leads me to want to change some of the previous tests.
It obviously makes a lot of code I write a waste of time, so I'm wondering if it is a good practice to write all of the tests at once (or at least try to) in-order to save time? I'm asking because I know it's not the standard way, but is it wrong?