Specification Based Testing with QuickCheck