Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

QuickCheck

From Wikipedia, the free encyclopedia
Software testing software
For the convenience store, seeQuickChek.

QuickCheck
DevelopersKoen Claessen,John Hughes
Initial release1999; 27 years ago (1999)
Stable release
2.14.2 / 14 November 2020; 5 years ago (2020-11-14)
Written inHaskell
Operating systemUnix-like,Windows
Available inEnglish
TypeSoftware testing
LicenseBSD-style
Websitewww.cse.chalmers.se/~rjmh/QuickCheck
Repositorygithub.com/nick8325/quickcheck

QuickCheck is asoftware library, acombinator library, originally written in theprogramming languageHaskell, designed to assist insoftware testing by generatingtest cases fortest suites – an approach known asproperty testing.

Software

[edit]

It is compatible with thecompiler,Glasgow Haskell Compiler (GHC) and theinterpreter, Haskell User's Gofer System (Hugs). It isfree and open-source software released under aBSD-style license.

In QuickCheck, assertions are written about logical properties that afunction should fulfill. Then QuickCheck attempts to generate a test case thatfalsifies 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 afunctional specification, for documenting what functions should be doing, and for testing compiler implementations.[1]

Re-implementations of QuickCheck exist for many languages:

See also

[edit]

References

[edit]
  1. ^"Data.Collections.Properties".hackage.haskell.org.
  2. ^Pennebaker, Andrew (mcandre) (October 13, 2011)."qc".GitHub. RetrievedDecember 9, 2011.
  3. ^Zito, Andrea (nivox) (July 27, 2014)."quickcheck4c".GitHub. RetrievedJuly 27, 2014.
  4. ^Vokes, Scott (March 30, 2015)."Theft: property-based testing for C".GitHub. RetrievedNovember 16, 2015.
  5. ^"QuickCheck".Software.legiasoft.com. RetrievedDecember 9, 2011.
  6. ^"CppQuickCheck".GitHub. RetrievedMarch 30, 2015.
  7. ^"RapidCheck".GitHub. RetrievedMarch 30, 2015.
  8. ^Pennebaker, Andrew (mcandre)."cluckcheck".GitHub. RetrievedDecember 9, 2011.
  9. ^Draper, Reid (reiddraper) (May 9, 2013)."simple-check".GitHub. RetrievedAugust 21, 2013.
  10. ^Draper, Reid (reiddraper) (March 27, 2014)."org.clojure/test.check".GitHub. RetrievedMarch 27, 2014.
  11. ^"cl-quickcheck".Cliki. RetrievedDecember 9, 2011.
  12. ^Pennebaker, Andrew (mcandre) (October 27, 2011)."dashcheck".GitHub. RetrievedDecember 9, 2011.
  13. ^"elm-explorations/test".GitHub. RetrievedNovember 20, 2018.
  14. ^Thomas, Dave (pragdave) (July 17, 2017)."quixir: Property-based testing for Elixir".GitHub. RetrievedApril 1, 2019.
  15. ^Alfert, Klaus."propcheck: Property based testing for Elixir".GitHub. RetrievedFebruary 1, 2021.
  16. ^"PropEr: a QuickCheck-inspired property-based testing tool for Erlang".GitHub. RetrievedMay 8, 2019.
  17. ^"FsCheck".GitHub. June 25, 2015. RetrievedJune 25, 2011.
  18. ^Pennebaker, Andrew (mcandre) (October 13, 2011)."factcheck".GitHub. RetrievedDecember 9, 2011.
  19. ^leanovate (April 26, 2016)."Gopter".GitHub. RetrievedApril 26, 2016.
  20. ^Pennebaker, Andrew (mcandre) (October 17, 2011)."IoCheck".GitHub. RetrievedDecember 9, 2011.
  21. ^"FunctionalJava's QuickCheck module".FunctionalJava. RetrievedAugust 14, 2015.
  22. ^"Quickcheck for Java".Quickcheck.dev.java.net. Archived fromthe original on November 17, 2011. RetrievedDecember 9, 2011.
  23. ^"JCheck".JCheck. RetrievedDecember 9, 2011.
  24. ^"junit-quickcheck".junit-quickcheck. RetrievedJuly 3, 2013.
  25. ^"jqwik for the JUnit5 Platform".jqwik. RetrievedJune 19, 2017.
  26. ^"Quick Theories property testing for Java 8".ncredinburgh. RetrievedOctober 30, 2017.
  27. ^"jetCheck property-based testing for Java 8".JetBrains. RetrievedJuly 10, 2018.
  28. ^Thompson, Darrin (darrint)."qc.js".Bitbucket. Archived fromthe original on August 7, 2011. RetrievedDecember 9, 2011.
  29. ^Crockford, Douglas."jscheck".GitHub. RetrievedOctober 21, 2017.
  30. ^Dubien, Nicolas (dubzzz)."fast-check".GitHub. RetrievedFebruary 3, 2018.
  31. ^"JSVerify — property based testing for JavaScript. Like QuickCheck".jsverify.github.io.
  32. ^"Checkers.jl".GitHub. RetrievedApril 8, 2018.
  33. ^"lgtunit". RetrievedFebruary 26, 2020.
  34. ^"lua-quickcheck".GitHub. RetrievedFebruary 25, 2017.
  35. ^"QuickCheck.wl — Automated Property-Based Testing for the Wolfram Language - Online Technical Discussion Groups—Wolfram Community".community.wolfram.com. RetrievedJuly 11, 2021.
  36. ^Pennebaker, Andrew (mcandre)."objcheck".GitHub. RetrievedDecember 9, 2011.
  37. ^Cruanes, Simon."QuickCheck inspired property-based testing for OCaml".GitHub. RetrievedSeptember 1, 2022.
  38. ^"Test: LectroTest: Tutorial".The LectroTest project was inspired by Haskell's QuickCheck module by Koen Claessen and John Hughes
  39. ^"library(quickcheck)".
  40. ^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.
  41. ^Oestreicher, Stefan (steos)."PhpQuickCheck".GitHub. RetrievedNovember 12, 2015.
  42. ^Wahl, Matthias (mfelsche)."ponycheck".GitHub. RetrievedDecember 26, 2018.
  43. ^MacIver, David (April 16, 2016)."QuickCheck in Every Language". RetrievedAugust 1, 2022.
  44. ^"quickcheck: Property Based Testing in R".GitHub. March 17, 2022.
  45. ^"Quickcheck".docs.racket-lang.org.
  46. ^"QuickChick".GitHub. RetrievedAugust 26, 2019.
  47. ^Pennebaker, Andrew (mcandre) (September 14, 2017)."Rubycheck: a Ruby port of the QuickCheck unit test framework".GitHub.
  48. ^Gallant, Andrew (BurntSushi)."QuickCheck for Rust (with shrinking)".GitHub. RetrievedMay 27, 2015.
  49. ^"Hypothesis-like property testing for Rust".GitHub.
  50. ^"ScalaCheck".GitHub. RetrievedJune 30, 2016.
  51. ^"scalaprops/scalaprops".GitHub. RetrievedJune 30, 2016.
  52. ^"nyaya".GitHub. RetrievedJune 30, 2016.
  53. ^"Scheme-Check: Randomized Unit Testing for PLT Scheme". Archived fromthe 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.
  54. ^Mejr, Antero."SRFI 252: Property Testing".Scheme Requests for Implementation. RetrievedApril 25, 2024.
  55. ^Pennebaker, Andrew (mcandre)."QuickSmash".GitHub. RetrievedDecember 9, 2011.
  56. ^"QCheck/SML".Contrapunctus. November 22, 2011. RetrievedDecember 9, 2011.
  57. ^"SwiftCheck: QuickCheck for Swift".GitHub. November 3, 2017.
  58. ^Dubien, Nicolas (dubzzz)."fast-check".GitHub. RetrievedFebruary 3, 2018.
  59. ^Chin, Janice."QuickCheck for Whiley"(PDF). RetrievedApril 20, 2020.[permanent dead link]

Further reading

[edit]

External links

[edit]
Wikibooks has a book on the topic of:Haskell/Testing
Haskell programming
Software
Implementations
(features)
Dialects
Electronic
design
Libraries
Package managers
Windowing systems
Web frameworks
Book
Community
Eponym
Italics= discontinued° =Open-source software
BookCategories:FamilySoftware
Retrieved from "https://en.wikipedia.org/w/index.php?title=QuickCheck&oldid=1338232429"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp