Samiksha Jaiswal (Editor)

QuickCheck

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Initial release
  
1999

Type
  
Software testing

Available in
  
Haskell

Developer(s)
  
Koen Claessen, John Hughes

Stable release
  
2.6 / 7 March 2013; 4 years ago (2013-03-07)

Operating system
  
Unix-like, Microsoft Windows

QuickCheck is a combinator library originally 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.

In QuickCheck the programmer writes assertions about logical properties that a function should fulfill. Then QuickCheck attempts to generate a test case that falsifies these assertions. Once such a test case is found, QuickCheck tries to reduce it to a minimal failing subset by removing or simplifying input data that are not needed to make the test fail.

The project was started in 1999. 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.

Re-implementations of QuickCheck exist for a number of languages:

  • C
  • C++
  • Chicken Scheme
  • Clojure
  • Common Lisp
  • D
  • Elm
  • Erlang
  • F# (and C#, VB.NET),
  • Factor
  • Go
  • Io
  • Java
  • JavaScript
  • Julia
  • Logtalk
  • Lua
  • Node.js
  • Objective-C
  • OCaml
  • Perl
  • Prolog
  • PHP
  • Python
  • R
  • Racket
  • Ruby
  • Rust
  • Scala
  • Scheme
  • Smalltalk
  • Standard ML
  • Swift.
  • References

    QuickCheck Wikipedia