QuickCheck¶
Claessen, K., & Hughes, J. (2000). QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. ACM, 35(9), 268-279.
Cited by¶
9 citations across 9 artifacts.
Each citation links to the sentence it supports in the citing article.
Domain-specific¶
- Property-Based Testing
- Originating in Haskell's QuickCheck (Koen Claessen and John Hughes, 2000)
This sourceQuickCheck's default of testing each property on 100 randomly generated arguments.
SupportedVerified against the source
- Originating in Haskell's QuickCheck (Koen Claessen and John Hughes, 2000)
Mechanisms¶
- Associativity Property Test
- Its strength is that it catches a broken law before the law is trusted at scale, and it does so on cheap synthetic inputs where a defect is reproducible and minimizable — the whole point of property-based testing
This sourceUses randomly generated tests of stated properties and shrinks a failing case toward a minimal counterexample that can be rerun.
- Its strength is that it catches a broken law before the law is trusted at scale, and it does so on cheap synthetic inputs where a defect is reproducible and minimizable — the whole point of property-based testing
- Invariant Test Suite
- Its strength is catching invariant breaks before they can be committed anywhere: property-based testing explores cases a human would never think to write down, and each discovered violation becomes a permanent regression guard against its own recurrence.
This sourceQuickCheck tests executable program properties over automatically generated random inputs rather than only manually enumerated examples.
- Its strength is catching invariant breaks before they can be committed anywhere: property-based testing explores cases a human would never think to write down, and each discovered violation becomes a permanent regression guard against its own recurrence.
- Property-Based Algebraic Test
- They wire up a property-based suite in the style of QuickCheck.
This sourceIntroduces QuickCheck as a lightweight system for testing program properties with automatically generated cases.
- They wire up a property-based suite in the style of QuickCheck.
- Property-Based Composition Testing
- The classic misuse is mistaking passing runs for a proof — property-based testing is falsification, not verification
This sourcePresents QuickCheck as randomized testing that searches for counterexamples to stated properties, not as proof that a universal property is true.
- The classic misuse is mistaking passing runs for a proof — property-based testing is falsification, not verification
- Property-Based Conformance Test
- The discipline is to derive the properties from the specification before looking at the code, and to sanity-check the generator by confirming it can kill a deliberately broken implementation.
This sourceQuickCheck tests declarative program properties against automatically generated random inputs and discusses generator quality and testing pitfalls.
- The discipline is to derive the properties from the specification before looking at the code, and to sanity-check the generator by confirming it can kill a deliberately broken implementation.
- Property-Based Testing
- Using a framework in the QuickCheck
This sourceIntroduces QuickCheck as a Haskell testing tool that checks stated properties against automatically generated random inputs.
- Using a framework in the QuickCheck
- Round-Trip Fixture Test
- To push further, they add property-based generation in the style of QuickCheck
This sourceIntroduces QuickCheck as property-based random testing with generated inputs and automatic shrinking of failures to small counterexamples.
- To push further, they add property-based generation in the style of QuickCheck
- Round-Trip Property-Test Suite
- - Generate, don't enumerate. Inputs are produced across ordinary and boundary domains automatically, including nulls, absent/unknown, precision edges, unsupported categories, reorderings, and concurrency.
This sourceIntroduces automated generation of test inputs from programmer-defined generators.
- - Generate, don't enumerate. Inputs are produced across ordinary and boundary domains automatically, including nulls, absent/unknown, precision edges, unsupported categories, reorderings, and concurrency.
Verification¶
Does it exist? Confirmed. This work's DOI resolves to a registered record, which fixes its identity. That is all it fixes.
Does it back the claim? Read against the text for 1 of 9 citations: 1 supported. Each verdict is shown under its citation below, with what in the work backs the sentence.
Was it audited? Yes. A second, independent pass read the citation against the article text and recorded a verdict.
Support is checked per citation rather than per work — the same source can be cited soundly in one article and wrongly in another. Per-citation recording began recently, so a citation with no recorded check is a gap in the record rather than evidence it went unchecked.
See how references were verified.
Links previously used in the corpus¶
Before the registry existed this work was also linked 1 other way.
Registry ID ref:bf4d7f8029d9 · see in the full table