QuickCheck

From Wikipedia, the free encyclopedia

QuickCheck
Developer: Koen Claessen, John Hughes
Latest release: 1.0-3
OS: Unix-like, Microsoft Windows
Use: Software testing
License: BSD-style
Website: [4]

QuickCheck is a combinator library written in Haskell, designed to assist in software testing by generating test cases for test suites. It is compatible with the GHC compiler and the Hugs interpreter. The author of the program being tested makes certain assertions about logical properties that a function fulfills; these tests are specifically generated to test and attempt to falsify these assertions. It was begun in 2001. Besides being used to test regular programs, QuickCheck is also useful for building up a functional specification, for documenting what functions should be doing, and for testing compiler implementations[1]. Re-implementations of QuickCheck exist for Erlang[2], Scheme[3], Common Lisp[4], and Python[4].

[edit] References

  1. ^ For such a test suite, see [1].
  2. ^ See Arts 2006
  3. ^ "Scheme-Check is a module that implements randomized unit testing in PLT Scheme. With Scheme-Check, instead of creating lots of individual tests, you specify properties of your code and Scheme-Check generates a large amount of random data sets to test those properties. Scheme-Check is basically a Scheme port of QuickCheck" [2] -(Internet Archive copy).
  4. ^ a b "Libraries for automatic specification-based testing. They're both incomplete compared to the original QuickCheck (the Lisp comes closer than the Python)." [3]

[edit] External links

Wikibooks
Wikibooks has a book on the topic of