My "Best Practices for Testing Tests"
- use Test::Tester
- use Test::Tester::Builder::Color during development if you have an output mismatch that you can't track down
- make liberal use of Test::* modules like Test::Warn, Test::NoWarnings
- use Devel::Cover to make sure that your testing modules have complete coverage
- if your code use]s [=strict, your tests should as well
Now go play.