QuickCheck
Template:Short description Script error: No such module "For". Template:DMCA
Page Module:Infobox/styles.css has no content.
| QuickCheck | |
|---|---|
| [[Programmer|DeveloperTemplate:Pluralize from text]] | Koen Claessen, John Hughes |
| Initial release | 1999 |
| Written in | Haskell |
| Engine | Page Template:Plainlist/styles.css has no content.Template:EditAtWikidata |
| Operating system | Unix-like, Windows |
| Available in | English |
| Type | Software testing |
| License | BSD-style |
| Website | www |
| Repository | github |
Script error: No such module "Check for conflicting parameters".
QuickCheck is a software library, a combinator library, originally written in the programming language Haskell, designed to assist in software testing by generating test cases for test suites – an approach known as property testing.
Software
It is compatible with the compiler, Glasgow Haskell Compiler (GHC) and the interpreter, Haskell User's Gofer System (Hugs). It is free and open-source software released under a BSD-style license.
In QuickCheck, assertions are written about logical properties that a function should fulfill. Then QuickCheck attempts to generate a test case that falsifies such 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 unneeded to make the test fail.
The project began 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.[1]
Re-implementations of QuickCheck exist for many languages:
Page Template:Div col/styles.css has no content.
- C[2][3][4]
- C++[5][6][7]
- Chicken[8]
- Clojure[9][10]
- Common Lisp[11]
- D[12]
- Elm[13]
- Elixir[14][15]
- Erlang[16]
- F#, and C#, Visual Basic (.NET) (VB.NET)[17]
- Factor[18]
- Go[19]
- Io[20]
- Java[21][22][23][24][25][26][27]
- JavaScript[28][29][30][31]
- Julia[32]
- Logtalk[33]
- Lua[34]
- Mathematica[35]
- Objective-C[36]
- OCaml[37]
- Perl[38]
- Prolog[39][40]
- PHP[41]
- Pony[42]
- Python[43]
- R[44]
- Racket[45]
- Rocq[46]
- Ruby[47]
- Rust[48][49]
- Scala[50][51][52]
- Scheme[53][54]
- Smalltalk[55]
- Standard ML[56]
- Swift[57]
- TypeScript[58]
- Whiley[59]
See also
References
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content."Data.Collections.Properties". hackage.haskell.org.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre) (October 13, 2011). "qc". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.Zito, Andrea (nivox) (July 27, 2014). "quickcheck4c". GitHub. Retrieved July 27, 2014.
- ^ Page Module:Citation/CS1/styles.css has no content.Vokes, Scott (March 30, 2015). "Theft: property-based testing for C". GitHub. Retrieved November 16, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."QuickCheck". Software.legiasoft.com. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."CppQuickCheck". GitHub. Retrieved March 30, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."RapidCheck". GitHub. Retrieved March 30, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre). "cluckcheck". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.Draper, Reid (reiddraper) (May 9, 2013). "simple-check". GitHub. Retrieved August 21, 2013.
- ^ Page Module:Citation/CS1/styles.css has no content.Draper, Reid (reiddraper) (March 27, 2014). "org.clojure/test.check". GitHub. Retrieved March 27, 2014.
- ^ Page Module:Citation/CS1/styles.css has no content."cl-quickcheck". Cliki. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre) (October 27, 2011). "dashcheck". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."elm-explorations/test". GitHub. Retrieved November 20, 2018.
- ^ Page Module:Citation/CS1/styles.css has no content.Thomas, Dave (pragdave) (July 17, 2017). "quixir: Property-based testing for Elixir". GitHub. Retrieved April 1, 2019.
- ^ Page Module:Citation/CS1/styles.css has no content.Alfert, Klaus. "propcheck: Property based testing for Elixir". GitHub. Retrieved February 1, 2021.
- ^ Page Module:Citation/CS1/styles.css has no content."PropEr: a QuickCheck-inspired property-based testing tool for Erlang". GitHub. Retrieved May 8, 2019.
- ^ Page Module:Citation/CS1/styles.css has no content."FsCheck". GitHub. June 25, 2015. Retrieved June 25, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre) (October 13, 2011). "factcheck". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.leanovate (April 26, 2016). "Gopter". GitHub. Retrieved April 26, 2016.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre) (October 17, 2011). "IoCheck". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."FunctionalJava's QuickCheck module". FunctionalJava. Retrieved August 14, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."Quickcheck for Java". Quickcheck.dev.java.net. Archived from the original on November 17, 2011. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."JCheck". JCheck. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."junit-quickcheck". junit-quickcheck. Retrieved July 3, 2013.
- ^ Page Module:Citation/CS1/styles.css has no content."jqwik for the JUnit5 Platform". jqwik. Retrieved June 19, 2017.
- ^ Page Module:Citation/CS1/styles.css has no content."Quick Theories property testing for Java 8". ncredinburgh. Retrieved October 30, 2017.
- ^ Page Module:Citation/CS1/styles.css has no content."jetCheck property-based testing for Java 8". JetBrains. Retrieved July 10, 2018.
- ^ Page Module:Citation/CS1/styles.css has no content.Thompson, Darrin (darrint). "qc.js". Bitbucket. Archived from the original on August 7, 2011. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.Crockford, Douglas. "jscheck". GitHub. Retrieved October 21, 2017.
- ^ Page Module:Citation/CS1/styles.css has no content.Dubien, Nicolas (dubzzz). "fast-check". GitHub. Retrieved February 3, 2018.
- ^ Page Module:Citation/CS1/styles.css has no content."JSVerify — property based testing for JavaScript. Like QuickCheck". jsverify.github.io.
- ^ Page Module:Citation/CS1/styles.css has no content."Checkers.jl". GitHub. Retrieved April 8, 2018.
- ^ Page Module:Citation/CS1/styles.css has no content."lgtunit". Retrieved February 26, 2020.
- ^ Page Module:Citation/CS1/styles.css has no content."lua-quickcheck". GitHub. Retrieved February 25, 2017.
- ^ Page Module:Citation/CS1/styles.css has no content."QuickCheck.wl — Automated Property-Based Testing for the Wolfram Language - Online Technical Discussion Groups—Wolfram Community". community.wolfram.com. Retrieved July 11, 2021.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre). "objcheck". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content.Cruanes, Simon. "QuickCheck inspired property-based testing for OCaml". GitHub. Retrieved September 1, 2022.
- ^ Page Module:Citation/CS1/styles.css has no content."Test: LectroTest: Tutorial".
The LectroTest project was inspired by Haskell's QuickCheck module by Koen Claessen and John Hughes
- ^ Page Module:Citation/CS1/styles.css has no content."library(quickcheck)".
- ^ Page Module:Citation/CS1/styles.css has no content.Amaral, Claudio; Florido, Mario; Costa, Vitor Santos (2014). "PrologCheck - Property-based testing in Prolog". Proceedings of the Twelfth International Symposium on Functional and Logic Programming (FLOPS 2014). Lecture Notes in Computer Science. Vol. 8475. pp. 1–17. doi:10.1007/978-3-319-07151-0_1. ISBN 978-3-319-07150-3.
- ^ Page Module:Citation/CS1/styles.css has no content.Oestreicher, Stefan (steos). "PhpQuickCheck". GitHub. Retrieved November 12, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content.Wahl, Matthias (mfelsche). "ponycheck". GitHub. Retrieved December 26, 2018.
- ^ Page Module:Citation/CS1/styles.css has no content.MacIver, David (April 16, 2016). "QuickCheck in Every Language". Retrieved August 1, 2022.
- ^ Page Module:Citation/CS1/styles.css has no content."quickcheck: Property Based Testing in R". GitHub. March 17, 2022.
- ^ Page Module:Citation/CS1/styles.css has no content."Quickcheck". docs.racket-lang.org.
- ^ Page Module:Citation/CS1/styles.css has no content."QuickChick". GitHub. Retrieved August 26, 2019.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre) (September 14, 2017). "Rubycheck: a Ruby port of the QuickCheck unit test framework". GitHub.
- ^ Page Module:Citation/CS1/styles.css has no content.Gallant, Andrew (BurntSushi). "QuickCheck for Rust (with shrinking)". GitHub. Retrieved May 27, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."Hypothesis-like property testing for Rust". GitHub.
- ^ Page Module:Citation/CS1/styles.css has no content."ScalaCheck". GitHub. Retrieved June 30, 2016.
- ^ Page Module:Citation/CS1/styles.css has no content."scalaprops/scalaprops". GitHub. Retrieved June 30, 2016.
- ^ Page Module:Citation/CS1/styles.css has no content."nyaya". GitHub. Retrieved June 30, 2016.
- ^ Page Module:Citation/CS1/styles.css has no content."Scheme-Check: Randomized Unit Testing for PLT Scheme". Archived from the original on February 12, 2005.
Scheme-Check is a module that implements randomized unit testing in PLT Scheme. With Scheme-Check, instead of creating many individual tests, you specify properties of your code and Scheme-Check generates a large amount of random data sets to test those properties. Scheme-Check is basically a Scheme port of QuickCheck.
- ^ Page Module:Citation/CS1/styles.css has no content.Mejr, Antero. "SRFI 252: Property Testing". Scheme Requests for Implementation. Retrieved April 25, 2024.
- ^ Page Module:Citation/CS1/styles.css has no content.Pennebaker, Andrew (mcandre). "QuickSmash". GitHub. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."QCheck/SML". Contrapunctus. November 22, 2011. Retrieved December 9, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."SwiftCheck: QuickCheck for Swift". GitHub. November 3, 2017.
- ^ Page Module:Citation/CS1/styles.css has no content.Dubien, Nicolas (dubzzz). "fast-check". GitHub. Retrieved February 3, 2018.
- ^ Page Module:Citation/CS1/styles.css has no content.Chin, Janice. "QuickCheck for Whiley" (PDF). Retrieved April 20, 2020.[permanent dead link]
Further reading
Page Template:Refbegin/styles.css has no content.
- Page Module:Citation/CS1/styles.css has no content.Claessen, Koen; Hughes, John (2002). "Testing Monadic Programs with QuickCheck" (PostScript). SIGPLAN Notices. 37 (12): 47–59. CiteSeerX 10.1.1.111.1618. doi:10.1145/636517.636527. Retrieved January 29, 2006.
- Page Module:Citation/CS1/styles.css has no content.Claessen, Koen & Hughes, John (2000). "QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs" (PDF). Proceedings of the International Conference on Functional Programming (ICFP), ACM SIGPLAN. Retrieved January 29, 2006.
- Page Module:Citation/CS1/styles.css has no content.Claessen, Koen & Hughes, John (2003). "Specification Based Testing with QuickCheck". The Fun of Programming, Cornerstones of Computing, Jeremy Gibbons and Oege de Moor (Eds.). Palgrave: 17–40. Archived from the original on July 4, 2007. Retrieved January 29, 2006.
- Page Module:Citation/CS1/styles.css has no content.Claessen, Koen (August 2004). "QuickCheck: Specification-based Random Testing". Presentation at Summer Institute on Trends in Testing: Theory, Techniques and Tools. Archived from the original (PPT) on April 30, 2007. Retrieved January 29, 2006.
- Page Module:Citation/CS1/styles.css has no content.Claessen, Koen; Runciman, Colin; Chitil, Olaf & Hughes, John (2002). "Testing and Tracing Lazy Functional Programs Using QuickCheck and Hat". Advanced Functional Programming: 4th International School, Lecture Notes in Computer Science. 2638. Springer Verlag: 59–99. Archived from the original (PostScript) on October 12, 2006. Retrieved January 29, 2006.
External links
Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.