Automatic testing is an important part of any programming project. It's always good to know that your application works correctly, but it's tedious to manually click through your application's interface every time you change something. Automatic testing transfers this burden onto the computer; after you've written the tests, the application will test itself whenever necessary. Thus, adding new features becomes a low risk operation because your tests will start failing as soon as you break something; you'll be able to fix the problem immediately, and you won't have to worry about the fix breaking something else. If your tests are well written, you can spend your time adding features, rather than tracking down obscure bugs at 3 A.M.
While this book doesn't intend to push any development methodology, there are a few schools of thinking on when to write tests. One is called test-driven development (TDD), which suggests that you always write tests before you write any code...