Recently, for a small project, I decided to try out 'test driven development', first write the tests, then write the code, tweaking it till all tests pass.
There was a hairy section of code - after writing it, I ran it. Some of the corresponding tests failed, and I changed the code. Run it again, and voila, the tests passed. After finishing the rest of the code, Devel::Cover gave me a 100% coverage, and Test::More gave me 100% success. So, I handed it over for some in the field testing.
The code came quickly back to me. Remember the hairy code I changed to pass the tests? Well, it was correct after all, and I broke it. The tests turned out to be wrong.
Someone write me a Test::Test.
Edit by castaway - closed tt tag