2016
DOI: 10.1007/978-3-319-30936-1_9
|View full text |Cite
|
Sign up to set email alerts
|

Experiences with QuickCheck: Testing the Hard Stuff and Staying Sane

Abstract: Abstract. This is not a typical scientific paper. It does not present a new method, with careful experiments to evaluate it, and detailed references to related work. Rather, it recounts some of my experiences over the last 15 years, working with QuickCheck, and its purpose is as much to entertain as to inform. QuickCheck is a random testing tool that Koen Claessen and I invented, which has since become the testing tool of choice in the Haskell community. In 2006 I co-founded Quviq, to develop and market an Erl… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
18
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 25 publications
(18 citation statements)
references
References 12 publications
0
18
0
Order By: Relevance
“…While this way of expressing optionality can look a bit cumbersome compared to, for example, simply flagging an output as optional via a dedicated construct, it is far more expressive since the set we can give there is rather arbitrary. For example, we could allow the programs, for whatever reason, to output exactly any multiple of the result of some value computation 4 .…”
Section: Describing Behaviormentioning
confidence: 99%
See 1 more Smart Citation
“…While this way of expressing optionality can look a bit cumbersome compared to, for example, simply flagging an output as optional via a dedicated construct, it is far more expressive since the set we can give there is rather arbitrary. For example, we could allow the programs, for whatever reason, to output exactly any multiple of the result of some value computation 4 .…”
Section: Describing Behaviormentioning
confidence: 99%
“…Another testing approach that deals with stateful computations is Quviq QuickCheck [3,4] for Erlang 7 . Instead of testing specific programs, like we do, they test stateful APIs.…”
Section: Related Workmentioning
confidence: 99%
“…They must make sure that their unit tests are thorough and pass. In addition, students must use random testing to further validate their machines following current trends to generate tests instead of (just) writing tests [8]. Random testing is a rather important step as it gives students confidence in their design.…”
Section: Designing Deterministic Finite-state Automatamentioning
confidence: 99%
“…Since then, the approach has been ported to numerous other programming languages, both statically and dynamically typed. The approach has also been extended beyond functional programming to test imperative (stateful) code [] and has had a number of successes, eg, using the commercial Erlang QuickCheck port to test and find numerous issues in automotive software []. For the remainder of this paper, we use the qcheck implementation of QuickCheck in OCaml.…”
Section: Introductionmentioning
confidence: 99%