in reply to Testing at the right granularity

The Haskell world uses test generators like QuickCheck that makes huge numbers of random tests, so all you need to do is to declare your program's properties, and QuickCheck will prove or disprove it.

Test::LectroTest is QuickCheck ported over to Perl.