FREEDOM251

Freedom251 › Property-Based Testing Tools

QuickCheck

Free plan Linux

Visit QuickCheck Alternatives Pricing

QuickCheck's own site

What QuickCheck is

QuickCheck is a free Haskell library for testing program properties against randomly generated cases. Developers express specifications with QuickCheck combinators and can use combinators to define test-data generators and examine the distribution of generated data. The Test.QuickCheck.Monadic module provides monadic property testing; the library also supports stateful testing, shrinking failing cases and reproducible failures. The package README describes adding QuickCheck to project dependencies for use in tests or a REPL. A companion package, quickcheck-instances, supplies instances for types in Haskell Platform packages, with additional dependencies. QuickCheck is licensed under BSD-3-Clause and lists dependencies including base, containers, random, splitmix, template-haskell and transformers. Hackage reports testing with GHC versions from 8.10 up to but not including 9.15, as well as Hugs. A make-hugs script creates a Hugs-compatible version and may be useful with other non-GHC implementations. Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package.

Who it suits

QuickCheck suits Haskell developers who want to check program properties using generated inputs. Its generator and distribution combinators can support testing that requires custom test data.

What it does well

  • Specifications and generators use Haskell combinators
  • Supports shrinking failing cases
  • Supports stateful and monadic property testing
  • Licensed under BSD-3-Clause

What to know first

  • Requires Haskell project dependencies
  • Companion package adds dependencies
  • Reported GHC testing is below version 9.15

Plans

PlanBilled and limitsPrice
QuickCheckHaskell library for random testing of program propertiesFree

As hackage.haskell.org lists them, read 2 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit the Hackage QuickCheck package page.
  2. Add QuickCheck to your package dependencies.
  3. Use it in tests or a REPL.
  4. Use the Test.QuickCheck.Monadic module for monadic property testing when needed.

Verdict

QuickCheck provides property-testing tools for Haskell, including generators, shrinking and stateful tests. Review its dependency list and reported compiler compatibility before adding it to a project.

Questions

How much does QuickCheck cost?

The listed QuickCheck plan is free, and the pricing model is free.

Which language does QuickCheck support?

QuickCheck supports Haskell.

Which compiler implementations are reported as tested?

Hackage reports testing with GHC versions at least 8.10 and below 9.15, as well as Hugs.

Is QuickCheck open source?

The package is licensed under BSD-3-Clause.

Does QuickCheck support shrinking and reproducible failures?

Yes. Failing-case shrinking and reproducible failures are supported.

What does quickcheck-instances provide?

It provides instances for types in Haskell Platform packages and has additional dependencies.

Facts from QuickCheck's own pages

Companion package
The quickcheck-instances companion package provides instances for types in Haskell Platform packages, with additional dependencies. · hackage.haskell.org, 2 Oct 2026
Compiler compatibility
Hackage reports the package tested with GHC versions at least 8.10 and below 9.15, and Hugs. · hackage.haskell.org, 2 Oct 2026
Data distribution
QuickCheck provides combinators to observe the distribution of test data. · hackage.haskell.org, 2 Oct 2026
Dependencies
The package lists dependencies including base, containers, random, splitmix, template-haskell, and transformers. · hackage.haskell.org, 2 Oct 2026
Download
Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package. · hackage.haskell.org, 2 Oct 2026
Generators
QuickCheck provides combinators for defining test data generators. · hackage.haskell.org, 2 Oct 2026
Hugs compatibility
The make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations. · github.com, 2 Oct 2026
License
The package is licensed under BSD-3-Clause. · hackage.haskell.org, 2 Oct 2026
Monadic testing
The monadic property testing library is provided in the Test.QuickCheck.Monadic module. · hackage.haskell.org, 2 Oct 2026
Property specifications
Program specifications are expressed in Haskell using QuickCheck combinators. · hackage.haskell.org, 2 Oct 2026
Purpose
QuickCheck is a Haskell library for random testing of program properties by checking specifications against randomly generated cases. · hackage.haskell.org, 2 Oct 2026
Use
The package README says to add QuickCheck to package dependencies to use it in tests or a REPL. · hackage.haskell.org, 2 Oct 2026

Where QuickCheck stands on Freedom251

Look at these too