Skip to content
SPECIFICTION
Get listed

QCheck vs QuickTheories

QCheck

github.com

QuickTheories

github.com

Side by side

FigureQCheckQuickTheories
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYes—
API—Yes
Self-hosted—Yes
Plans published11
Spec score · Property-Based Testing Tools7.9 (#9)7.7 (#10)
GeneratorsQCheck includes combinators for constructing random generators, including generators for lists, arrays, recursive types, algebraic types, and tuples.Its generator DSL can create common Java types, constrain generated values, and combine or convert generators for custom types.
LicenseThe repository identifies its license as BSD-2-Clause and says the code is released under the BSD license.The repository identifies its license as Apache-2.0.
PurposeQCheck is a QuickCheck-inspired property-based testing library for OCaml.QuickTheories is a property based testing library for Java 8, described as a Java version of QuickCheck.

Plans

QCheck

  • QCheckFree

QCheck pricing →

QuickTheories

  • QuickTheoriesFree

QuickTheories pricing →

In their own words

QCheck

QCheck is a property-based testing library for OCaml, inspired by QuickCheck. Rather than relying only on hand-picked examples, it provides combinators to generate values such as lists, arrays, tuples, recursive types, and algebraic types for checking properties. When a check fails, generators can be paired with printers and shrinkers to show and reduce counterexamples. QCheck2 builds shrinking into its generators, though the project describes that API as less battle-tested than QCheck. The package family includes qcheck-core, qcheck-ounit, qcheck-alcotest, qcheck, and ppx_deriving_qcheck; the last can derive generators from type declarations. Runner options include QCheck_base_runner in qcheck-core and QCheck_runner with OUnit compatibility in qcheck, with integration layers for OUnit and Alcotest. The project also points to qcheck-stm for sequential and parallel model-based tests and qcheck-lin for sequential consistency testing. Installation is available through opam, and the source can be built with make. The minimal qcheck-core package depends only on unix and dune. QCheck is free and licensed under BSD-2-Clause.

Visit github.com

QuickTheories

QuickTheories is a free, open-source property-based testing library for Java 8. It checks general properties and invariants by generating random valid inputs, then automatically searches for smaller or simpler values that still fail a property. The library reports the seed for a falsified property, and tests can use fixed seeds for deterministic runs. Its generator DSL creates common Java types, constrains values, and combines or converts generators for custom types. QuickTheories works with JUnit, TestNG, and other test frameworks; `checkAssert` supports assertion libraries such as AssertJ and Hamcrest. The `forAll` API handles theories over one to four generated values. System properties configure seeds, example counts, and shrink attempts, while named profiles can reuse settings. An experimental coverage feature targets new code paths, but may reduce performance by about 10% and interfere with JaCoCo or other coverage systems. The project uses the Apache-2.0 license.

Visit github.com