Rychlá kontrola - QuickCheck
Vývojáři | Koen Claessen, John Hughes |
---|---|
První vydání | 1999 |
Stabilní uvolnění | 2.6 / 7. března 2013 |
Napsáno | Haskell |
Operační systém | Unixový, Okna |
K dispozici v | Angličtina |
Typ | Testování softwaru |
Licence | BSD styl |
webová stránka | www |
Rychlá kontrola je softwarová knihovna, konkrétně a kombinátor knihovna, původně napsaný v programovacím jazyce Haskell, určené na pomoc při testování softwaru generováním testovací případy pro testovací sady.
Software
Je kompatibilní s překladač, Překladač Glasgow Haskell (GHC) a tlumočník, Goferův systém uživatele Haskell (Objetí ). to je bezplatný open source software propuštěn pod a BSD styl licence.
V QuickCheck jsou napsána tvrzení o logických vlastnostech, která a funkce by měl splnit. Pak se QuickCheck pokusí vygenerovat testovací případ falšuje taková tvrzení. Jakmile je takový testovací případ nalezen, QuickCheck se pokusí snížit jej na minimální vadnou podmnožinu odstraněním nebo zjednodušením vstupních dat, která jsou nepotřebná, aby test selhal.
Projekt byl zahájen v roce 1999. Kromě testování pravidelných programů je QuickCheck také užitečný pro vytváření a funkční specifikace, pro dokumentaci, jaké funkce by měly dělat, a pro testování implementací kompilátoru.[1]
Reimplementace QuickCheck existují pro několik jazyků:
- C[2][3][4]
- C ++[5][6][7]
- Kuře[8]
- Clojure[9][10][11]
- Společný Lisp[12]
- Coq[13]
- D[14]
- Jilm[15]
- Elixír[16]
- Erlang[17]
- F#, a C#, Visual Basic .NET (VB.NET)[18]
- Faktor[19]
- Jít[20]
- Io[21]
- Jáva[22][23][24][25][26][27][28]
- JavaScript[29][30][31][32]
- Julie[33]
- Logtalk[34]
- Lua[35]
- Cíl-C[36]
- OCaml[37]
- Perl[38]
- Prolog[39][40]
- PHP[41]
- Poník[42]
- Krajta[43]
- R[44]
- Raketa[45]
- Rubín[46]
- Rez[47][48]
- Scala[49][50][51]
- Systém[52]
- Pokec[53]
- Standardní ML[54]
- Rychlý[55]
- Strojopis[56]
- Whiley[57]
Viz také
Reference
- ^ "Data.Collections.Properties". hackage.haskell.org.
- ^ Pennebaker, Andrew (mcandre) (13. října 2011). „qc“. GitHub. Citováno 9. prosince 2011.
- ^ Zito, Andrea (nivox) (27. července 2014). "quickcheck4c". GitHub. Citováno 27. července 2014.
- ^ Vokes, Scott (30. března 2015). „Theft: property-based testing for C“. GitHub. Citováno 16. listopadu 2015.
- ^ "Rychlá kontrola". Software.legiasoft.com. Citováno 9. prosince 2011.
- ^ „CppQuickCheck“. GitHub. Citováno 30. března 2015.
- ^ "RapidCheck". GitHub. Citováno 30. března 2015.
- ^ Pennebaker, Andrew (mcandre). "cluckcheck". GitHub. Citováno 9. prosince 2011.
- ^ Brandmeyer, Meikel (kotarak). „ClojureCheck“. Bitbucket. Citováno 9. prosince 2011.
- ^ Draper, Reid (reiddraper) (9. května 2013). "jednoduchá kontrola". GitHub. Citováno 21. srpna 2013.
- ^ Draper, Reid (reiddraper) (27. března 2014). „org.clojure / test.check“. GitHub. Citováno 27. března 2014.
- ^ "cl-quickcheck". Cliki. Citováno 9. prosince 2011.
- ^ „QuickChick“. GitHub. Citováno 26. srpen 2019.
- ^ Pennebaker, Andrew (mcandre) (27. října 2011). "dashcheck". GitHub. Citováno 9. prosince 2011.
- ^ "průzkum jilmu / test". GitHub. Citováno 20. listopadu 2018.
- ^ Thomas, Dave (pragdave) (17. července 2017). „quixir: Testování založené na vlastnostech pro Elixir“. GitHub. Citováno 1. dubna 2019.
- ^ „PropEr: testovací nástroj založený na vlastnostech QuickCheck pro Erlang“. GitHub. Citováno 8. května 2019.
- ^ „FsCheck“. GitHub. 25. června 2015. Citováno 25. června 2011.
- ^ Pennebaker, Andrew (mcandre) (13. října 2011). "faktická kontrola". GitHub. Citováno 9. prosince 2011.
- ^ leanovate (26. dubna 2016). "Gopter". Citováno 26. dubna 2016.
- ^ Pennebaker, Andrew (mcandre) (17. října 2011). „IoCheck“. GitHub. Citováno 9. prosince 2011.
- ^ "Modul QuickCheck FunctionalJava". Funkční Java. Citováno 14. srpna 2015.
- ^ „Quickcheck for Java“. Quickcheck.dev.java.net. Citováno 9. prosince 2011.
- ^ "JCheck". JCheck. Citováno 9. prosince 2011.
- ^ „junit-quickcheck“. junit-quickcheck. Citováno 3. července 2013.
- ^ „jqwik pro platformu JUnit5“. jqwik. Citováno 19. června 2017.
- ^ „Testování vlastností Quick Theories pro prostředí Java 8“. ncredinburgh. Citováno 30. října 2017.
- ^ „testování vlastností JetCheck pro Javu 8“. JetBrains. Citováno 10. července 2018.
- ^ Thompson, Darrin (darrint). "qc.js". Bitbucket. Citováno 9. prosince 2011.
- ^ Crockford, Douglas. "jscheck". GitHub. Citováno 21. října 2017.
- ^ Dubien, Nicolas (dubzzz). "rychlá kontrola". GitHub. Citováno 3. února 2018.
- ^ "JSVerify - testování založené na vlastnostech pro JavaScript. Jako QuickCheck". jsverify.github.io.
- ^ „Checkers.jl“. Citováno 8. dubna 2018.
- ^ „lgtunit“. Citováno 26. února 2020.
- ^ "lua-quickcheck". GitHub. Citováno 25. února 2017.
- ^ Pennebaker, Andrew (mcandre). "objcheck". GitHub. Citováno 9. prosince 2011.
- ^ Sokolov, Roma (malý arhat). "rychlá kontrola ocaml". GitHub. Citováno 9. prosince 2011.
- ^ „Test: LectroTest: Tutorial“.
Projekt LectroTest byl inspirován modulem QuickCheck od Haskella od Koena Claessena a Johna Hughese: http://www.cs.chalmers.se/~rjmh/QuickCheck/.
- ^ „knihovna (rychlá kontrola)“.
- ^ Amaral, Claudio; Florido, Mario; Costa, Vitor Santos (2014). "PrologCheck - testování založené na vlastnostech v Prologu". Sborník příspěvků z 12. mezinárodního symposia o funkčním a logickém programování (FLOPS 2014). Přednášky z informatiky. 8475: 1–17. doi:10.1007/978-3-319-07151-0_1. ISBN 978-3-319-07150-3.
- ^ Oestreicher, Stefan (steos). „PhpQuickCheck“. GitHub. Citováno 12. listopadu 2015.
- ^ Wahl, Matthias (mfelsche). "ponycheck". GitHub. Citováno 26. prosince 2018.
- ^ MacIver, David (26. dubna 2016). "Hypotéza". Citováno 26. dubna 2016.
- ^ „quickcheck: Randomized testing for R“. GitHub. 11. září 2017.
- ^ "Rychlá kontrola". docs.racket-lang.org.
- ^ Pennebaker, Andrew (mcandre) (14. září 2017). „Rubycheck: port Ruby testovacího rozhraní jednotky QuickCheck“. GitHub.
- ^ Gallant, Andrew (BurntSushi). "QuickCheck na rez (se smršťováním)". GitHub. Citováno 27. května 2015.
- ^ „Testování vlastností jako hypotéza pro Rust“.
- ^ "ScalaCheck". Citováno 30. června 2016.
- ^ "scalaprops / scalaprops". GitHub. Citováno 30. června 2016.
- ^ "nyaya". GitHub. Citováno 30. června 2016.
- ^ „Scheme-Check: Randomized Unit Testing for PLT Scheme“. Archivovány od originál v prosinci 2005.
Scheme-Check je modul, který implementuje randomizované testování jednotek do schématu PLT. Se Scheme-Check namísto vytváření mnoha jednotlivých testů zadáte vlastnosti svého kódu a Scheme-Check vygeneruje velké množství náhodných datových sad pro testování těchto vlastností. Scheme-Check je v zásadě port schématu QuickCheck.
- ^ Pennebaker, Andrew (mcandre). „QuickSmash“. GitHub. Citováno 9. prosince 2011.
- ^ „QCheck / SML“. Contrapunctus. 22. listopadu 2011. Citováno 9. prosince 2011.
- ^ „SwiftCheck: QuickCheck pro Swift“. GitHub. 3. listopadu 2017.
- ^ Dubien, Nicolas (dubzzz). "rychlá kontrola". GitHub. Citováno 3. února 2018.
- ^ Brada, Janice. „QuickCheck for Whiley“ (PDF). Citováno 20. dubna 2020.
Další čtení
- Claessen, Koen; Hughes, John (2002). „Testování monadických programů pomocí QuickCheck“ (PostScript ). Oznámení SIGPLAN. 37 (12): 47–59. CiteSeerX 10.1.1.111.1618. doi:10.1145/636517.636527. Citováno 29. ledna 2006.
- Claessen, Koen & Hughes, John (2000). „QuickCheck: Lehký nástroj pro náhodné testování programů Haskell“ (PDF). Sborník mezinárodní konference o funkčním programování (ICFP), ACM SIGPLAN. Citováno 29. ledna 2006.
- Claessen, Koen & Hughes, John (2003). "Testování na základě specifikací s QuickCheck". The Fun of Programming, Cornerstones of Computing, Jeremy Gibbons and Oege de Moor (Eds.). Palgrave: 17–40. Archivovány od originál 4. července 2007. Citováno 29. ledna 2006.
- Claessen, Koen (srpen 2004). „QuickCheck: Náhodné testování na základě specifikací“. Prezentace na Summer Institute on Trends in Testing: Theory, Techniques and Tools. Archivovány od originál (PPT ) 30. dubna 2007. Citováno 29. ledna 2006.
- Claessen, Koen; Runciman, Colin; Chitil, Olaf & Hughes, John (2002). "Testování a sledování líných funkčních programů pomocí QuickCheck a Hat". Advanced Functional Programming: 4th International School, Lecture Notes in Computer Science. Springer Verlag. 2638: 59–99. Archivovány od originál (PostScript ) 12. října 2006. Citováno 29. ledna 2006.