Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 QuickCheck: An Automatic Testing Tool for Haskell
QuickCheck is a tool for testing Haskell programs automatically. The
programmer provides a specification of the program, in the form of
properties which functions should satisfy, and QuickCheck then tests that the
properties hold in a large number of randomly generated cases. Specifications
are expressed in Haskell, using combinators defined in the QuickCheck
library. QuickCheck provides combinators to define properties, observe the
distribution of test data, and define test data generators.
QuickCheckM, which extends
QuickCheck with monadic property combinators. This module uses the
ST monad, so is not pure Haskell 98. It is the version which our
Haskell workshop paper describes.
User Experiences
Read Tom Moertel's entertaining story about his ICFP Programming Contest
entry, including his experiences with QuickCheck.
Current Developments
We currently have several experimental versions of QuickCheck,
including one integrated with the Hat tracing tool. The next job is to
merge them all back together again!
Other Languages
Several people have implemented similar libraries in other
languages. There are versions for Erlang, Scheme, Common Lisp, Python, and ML.