词条 | QuickCheck |
释义 |
| name = QuickCheck | title = | logo = | logo caption = | screenshot = | caption = | collapsible = | author = | developer = Koen Claessen, John Hughes | released = {{Start date and age|1999}} | latest release version = 2.6 | latest release date = {{Start date and age|2013|03|07|df=yes}} | latest preview version = | latest preview date = | programming language = Haskell | operating system = Unix-like, Windows | platform = | size = | language = English | language count = | language footnote = | genre = Software testing | license = BSD-style | alexa = | website = {{URL|www.cse.chalmers.se/~rjmh/QuickCheck}} }} QuickCheck is a software library, specifically a combinator library, originally written in the programming language Haskell, designed to assist in software testing by generating test cases for test suites. 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 several languages: {{div col|colwidth=25em}}
See also{{Portal|Software testing}}
References1. ^{{cite web |url=http://hackage.haskell.org/packages/archive/collections-api/1.0.0.0/doc/html/Data-Collections-Properties.html |title=Data.Collections.Properties |website=hackage.haskell.org}} 2. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/qc |title=qc |website=GitHub |date=October 13, 2011 |access-date=December 9, 2011}} 3. ^{{cite web |last=Zito |first=Andrea (nivox) |url=https://github.com/nivox/quickcheck4c |title=quickcheck4c |website=GitHub |date=July 27, 2014 |access-date=July 27, 2014}} 4. ^{{cite web |last=Vokes |first=Scott |url=https://github.com/silentbicycle/theft |title=Theft: property-based testing for C |website=GitHub |date=March 30, 2015 |access-date=November 16, 2015}} 5. ^{{cite web |url=http://software.legiasoft.com/quickcheck/ |title=QuickCheck |website=Software.legiasoft.com |access-date=December 9, 2011}} 6. ^{{cite web |url=https://github.com/philipp-classen/CppQuickCheck |title=CppQuickCheck |website=GitHub |access-date=March 30, 2015}} 7. ^{{cite web |url=https://github.com/emil-e/rapidcheck |title=RapidCheck |website=GitHub |access-date=March 30, 2015}} 8. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/cluckcheck |title=cluckcheck |website=GitHub |access-date=December 9, 2011}} 9. ^{{cite web |last=Brandmeyer |first=Meikel (kotarak) |url=https://bitbucket.org/kotarak/clojurecheck |title=ClojureCheck |website=Bitbucket |access-date=December 9, 2011}} 10. ^{{cite web |last=Draper |first=Reid (reiddraper) |url=https://github.com/reiddraper/simple-check |title=simple-check |website=GitHub |date=May 9, 2013 |access-date=August 21, 2013}} 11. ^{{cite web |last=Draper |first=Reid (reiddraper) |url=https://github.com/clojure/test.check |title=org.clojure/test.check |website=GitHub |date=March 27, 2014 |access-date=March 27, 2014}} 12. ^{{cite web |url=http://www.cliki.net/cl-quickcheck |title=cl-quickcheck |website=Cliki |access-date=December 9, 2011}} 13. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/dashcheck |title=dashcheck |website=GitHub |date=October 27, 2011 |access-date=December 9, 2011}} 14. ^{{cite web |url=https://github.com/elm-explorations/test |title=elm-explorations/test |website=GitHub |access-date=November 20, 2018}} 15. ^{{cite web |url=https://github.com/pragdave/quixir |title=quixir: Property-based testing for Elixir |last=Thomas |first=Dave (pragdave) |date=2017-07-17 |website=GitHub |access-date=2019-04-01}} 16. ^{{cite web |url=https://fscheck.github.io/FsCheck |title=FsCheck |website=GitHub |date=June 25, 2015 |access-date=June 25, 2011}} 17. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/factcheck |title=factcheck |website=GitHub |date=October 13, 2011 |access-date=December 9, 2011}} 18. ^{{cite web |author=leanovate |url=https://github.com/leanovate/gopter |title=Gopter |date=April 26, 2016 |access-date=April 26, 2016}} 19. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/IoCheck |title=IoCheck |website=GitHub |date=October 17, 2011 |access-date=December 9, 2011}} 20. ^{{cite web |url=https://github.com/functionaljava/functionaljava/ |title=FunctionalJava's QuickCheck module |website=FunctionalJava |access-date=August 14, 2015}} 21. ^{{cite web |url=https://bitbucket.org/blob79/quickcheck |title=Quickcheck for Java |website=Quickcheck.dev.java.net |access-date=December 9, 2011}} 22. ^{{cite web |url=http://www.jcheck.org/ |title=JCheck |website=JCheck |access-date=December 9, 2011}} 23. ^{{cite web |url=https://github.com/pholser/junit-quickcheck/ |title=junit-quickcheck |website=junit-quickcheck |access-date=July 3, 2013}} 24. ^{{cite web |url=http://jqwik.net/ |title=jqwik for the JUnit5 Platform |website=jqwik |access-date=June 19, 2017}} 25. ^{{cite web |url=https://github.com/ncredinburgh/QuickTheories |title=Quick Theories property testing for Java 8 |website=ncredinburgh |access-date=October 30, 2017}} 26. ^{{cite web |url=https://github.com/JetBrains/jetCheck |title=jetCheck property-based testing for Java 8 |website=JetBrains |access-date=July 10, 2018}} 27. ^{{cite web |last=Thompson |first=Darrin (darrint) |url=http://bitbucket.org/darrint/qc.js/ |title=qc.js |website=Bitbucket |access-date=December 9, 2011}} 28. ^{{cite web |last=Crockford |first=Douglas |url=https://github.com/douglascrockford/JSCheck |title=jscheck |website=GitHub |access-date=October 21, 2017}} 29. ^{{cite web |last=Dubien |first=Nicolas (dubzzz) |url=https://github.com/dubzzz/fast-check |title=fast-check |website=GitHub |access-date=February 3, 2018}} 30. ^{{cite web |url=https://github.com/pkalikman/Checkers.jl |title=Checkers.jl |access-date=April 8, 2018}} 31. ^{{cite web |url=https://github.com/LogtalkDotOrg/logtalk3/tree/master/tools/lgtunit/ |title=lgtunit |website=GitHub |access-date=August 23, 2016}} 32. ^{{cite web |url=https://github.com/luc-tielen/lua-quickcheck |title=lua-quickcheck |website=GitHub |access-date=February 25, 2017}} 33. ^{{cite web |url=https://www.npmjs.org/package/quickcheck |title=quickcheck |website=npm}} 34. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/objcheck |title=objcheck |website=GitHub |access-date=December 9, 2011}} 35. ^{{cite web |last=Sokolov |first=Roma (little-arhat) |url=https://github.com/camlunity/ocaml-quickcheck |title=ocaml-quickcheck |website=GitHub |access-date=December 9, 2011}} 36. ^{{cite web |url=https://metacpan.org/module/Test::LectroTest::Tutorial |title=Test: LectroTest: Tutorial |quote=The LectroTest project was inspired by Haskell's QuickCheck module by Koen Claessen and John Hughes: http://www.cs.chalmers.se/~rjmh/QuickCheck/.}} 37. ^{{cite web |url=http://www.swi-prolog.org/pack/list?p=quickcheck |title=library(quickcheck)}} 38. ^{{cite journal |url=http://www.dcc.fc.up.pt/~coa/PrologCheck.html |last=Amaral |first=Claudio |last2=Florido |first2=Mario |last3=Costa |first3=Vitor Santos |year=2014 |title=PrologCheck - Property-based testing in Prolog |journal=Proceedings of the Twelfth International Symposium on Functional and Logic Programming (FLOPS 2014)}} 39. ^{{cite web |last=Oestreicher |first=Stefan (steos) |url=https://github.com/steos/php-quickcheck |title=PhpQuickCheck |website=GitHub |access-date=November 12, 2015}} 40. ^{{cite web |last=Wahl |first=Matthias (mfelsche) |url=https://github.com/mfelsche/ponycheck |title=ponycheck |website=GitHub |access-date=December 26, 2018}} 41. ^{{cite web |last=MacIver |first=David |url=http://hypothesis.works/ |title=Hypothesis |date=April 26, 2016 |access-date=April 26, 2016}} 42. ^{{cite web |url=https://github.com/RevolutionAnalytics/quickcheck |title=quickcheck: Randomized testing for R |date=September 11, 2017 |website=GitHub}} 43. ^{{cite web |url=https://docs.racket-lang.org/quickcheck/index.html |title=Quickcheck |website=docs.racket-lang.org}} 44. ^{{cite web |url=https://github.com/mcandre/rubycheck |title=Rubycheck: a Ruby port of the QuickCheck unit test framework |last=Pennebaker |first=Andrew (mcandre) |date=September 14, 2017 |website=GitHub}} 45. ^{{cite web |last=Gallant |first=Andrew (BurntSushi) |url=https://github.com/BurntSushi/quickcheck |title=QuickCheck for Rust (with shrinking) |website=GitHub |access-date=May 27, 2015}} 46. ^{{cite web |url=https://github.com/altsysrq/proptest |title=Hypothesis-like property testing for Rust}} 47. ^{{cite web |url=https://github.com/rickynils/scalacheck |title=ScalaCheck |access-date=June 30, 2016}} 48. ^{{Cite web |url=https://github.com/scalaprops/scalaprops |title=scalaprops/scalaprops |website=GitHub |access-date=2016-06-30}} 49. ^{{Cite web |url=https://github.com/japgolly/nyaya |title=nyaya |website=GitHub |access-date=2016-06-30}} 50. ^{{cite web |url=http://www.inf.ufrgs.br/~carlossch/scheme-check/ |title=Scheme-Check: Randomized Unit Testing for PLT Scheme |archive-url=https://web.archive.org/web/20050212183945/http://www.inf.ufrgs.br/~carlossch/scheme-check/ |archive-date=December 2005 |quote=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.}} 51. ^{{cite web |last=Pennebaker |first=Andrew (mcandre) |url=https://github.com/mcandre/quicksmash |title=QuickSmash |website=GitHub |access-date=December 9, 2011}} 52. ^{{cite web |url=http://contrapunctus.net/league/haques/qcheck/ |title=QCheck/SML |website=Contrapunctus |date=November 22, 2011 |access-date=December 9, 2011}} 53. ^{{cite web |url=https://github.com/typelift/SwiftCheck |title=SwiftCheck: QuickCheck for Swift |date=November 3, 2017 |website=GitHub}} 54. ^{{cite web |last=Dubien |first=Nicolas (dubzzz) |url=https://github.com/dubzzz/fast-check |title=fast-check |website=GitHub |access-date=February 3, 2018}} Further reading{{Refbegin}}
|last=Claessen |first=Koen |last2=Hughes |first2=John |year=2002 |title=Testing Monadic Programs with QuickCheck |journal=SIGPLAN Notices |volume=37 |issue=12 |pages=47–59 |url=http://www.cse.chalmers.se/~rjmh/Papers/QuickCheckST.ps |format=PostScript |access-date=2006-01-29 |doi=10.1145/636517.636527 |citeseerx=10.1.1.111.1618}}
|last=Claessen |first=Koen |last2=Hughes |first2=John |last-author-amp=yes |year=2000 |title=QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs |journal=Proc. Of International Conference on Functional Programming (ICFP), ACM SIGPLAN |url=http://www.eecs.northwestern.edu/%7Erobby/courses/395-495-2009-fall/quick.pdf |format=PDF |access-date=2006-01-29 }}
3 : Software testing tools|Free software programmed in Haskell|Free software testing tools |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。