SmallCheck is a testing library that allows to verify properties for all test cases up to some depth. The test cases are generated automatically by SmallCheck.
Usefulness of such an approach to testing is based on the following observation:
If a program fails to meet its specification in some cases, it almost always fails in some simple case.
To get started with SmallCheck:
cabal update; cabal install smallcheck