Testing is more than verifying a set of requirements, in my view it is also a tool for having the code ready for change and new requirements. But it is also possible to end up down the wrong path, where tests works against change, by breaking all the time. Choosing the right tools and using them correctly is key when you want to embrace change.
At this years JavaZone I held a presentation about efficient testing. If you didn’t get to see me live you could check it out here (in norwegian).