Well, there are plenty of literature on it (search for "Test Driven Development").
You see, in dynamic language like Ruby it is easy to break something without even knowing it.
Tests allow to eliminate such errors (at least you will know that something is broken). And it's a
great advantage that Rails provides ready-to-use testing environment.
The situation you described (write, then test) is not gonna work, because you will need to test all the pages
with all scenarios every time you make a change. If you test only one page that you currently develop,
you can break some other page without even knowing it (e.g. changing some model behaviour that will
break one of you pages).