Jeremy D. Miller has some really nice posts on getting started using Test Driven Development.
What has really turned me on to TDD (so to speak) is that it really forces you into a lot of good coding practices like Dependency Inversion and Low Coupling almost naturally as they are necessary for test isolation and avoidance of headbanging. Despite the fact that I’ve always known that I should write code with few dependencies, high cohesion, and low coupling, somehow when I wrote code before I stumbled on to TDD I never quite achieved these high ideals to the same degree. Now that I’ve been using test driven development techniques for awhile, I find these ideals easily incorporating themselves into my code without me thinking about it.
Jeremy’s posts show you techniques to achieve some of these practices and get you into the test driven groove.