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