stringtranslate.com

Comprobación rápida

QuickCheck es una biblioteca de software , una biblioteca combinadora , escrita originalmente en el lenguaje de programación Haskell , diseñada para ayudar en las pruebas de software mediante la generación de casos de prueba para suites de pruebas , un enfoque conocido como prueba de propiedades .

Software

Es compatible con el compilador Glasgow Haskell Compiler (GHC) y el intérprete Haskell User's Gofer System ( Hugs ). Es un software libre y de código abierto publicado bajo una licencia de estilo BSD .

En QuickCheck, se escriben afirmaciones sobre propiedades lógicas que una función debe cumplir. Luego, QuickCheck intenta generar un caso de prueba que falsifique dichas afirmaciones. Una vez que se encuentra dicho caso de prueba, QuickCheck intenta reducirlo a un subconjunto mínimo de errores eliminando o simplificando los datos de entrada que no son necesarios para que la prueba falle.

El proyecto comenzó en 1999. Además de usarse para probar programas regulares, QuickCheck también es útil para crear una especificación funcional , para documentar qué deberían hacer las funciones y para probar implementaciones de compiladores. [1]

Existen reimplementaciones de QuickCheck para muchos idiomas:

Véase también

Referencias

  1. ^ "Propiedades.de.colecciones.de.datos". hackage.haskell.org .
  2. ^ Pennebaker, Andrew (mcandre) (13 de octubre de 2011). "qc". GitHub . Consultado el 9 de diciembre de 2011 .
  3. ^ Zito, Andrea (nivox) (27 de julio de 2014). «quickcheck4c». GitHub . Consultado el 27 de julio de 2014 .
  4. ^ Vokes, Scott (30 de marzo de 2015). "Theft: property-based testing for C" (Robo: pruebas basadas en propiedades para C). GitHub . Consultado el 16 de noviembre de 2015 .
  5. ^ "QuickCheck". Software.legiasoft.com . Consultado el 9 de diciembre de 2011 .
  6. ^ "CppQuickCheck". GitHub . Consultado el 30 de marzo de 2015 .
  7. ^ "RapidCheck". GitHub . Consultado el 30 de marzo de 2015 .
  8. ^ Pennebaker, Andrew (mcandre). "cluckcheck". GitHub . Consultado el 9 de diciembre de 2011 .
  9. ^ Draper, Reid (reiddraper) (9 de mayo de 2013). "simple-check". GitHub . Consultado el 21 de agosto de 2013 .
  10. ^ Draper, Reid (reiddraper) (27 de marzo de 2014). «org.clojure/test.check». GitHub . Consultado el 27 de marzo de 2014 .
  11. ^ "cl-quickcheck". Cliki . Consultado el 9 de diciembre de 2011 .
  12. ^ "QuickChick". GitHub . Consultado el 26 de agosto de 2019 .
  13. ^ Pennebaker, Andrew (mcandre) (27 de octubre de 2011). "dashcheck". GitHub . Consultado el 9 de diciembre de 2011 .
  14. ^ "elm-explorations/test". GitHub . Consultado el 20 de noviembre de 2018 .
  15. ^ Thomas, Dave (pragdave) (17 de julio de 2017). «quixir: pruebas basadas en propiedades para Elixir». GitHub . Consultado el 1 de abril de 2019 .
  16. ^ Alfert, Klaus. "propcheck: Pruebas basadas en propiedades para Elixir". GitHub . Consultado el 1 de febrero de 2021 .
  17. ^ "PropEr: una herramienta de prueba basada en propiedades inspirada en QuickCheck para Erlang". GitHub . Consultado el 8 de mayo de 2019 .
  18. ^ "FsCheck". GitHub . 25 de junio de 2015 . Consultado el 25 de junio de 2011 .
  19. ^ Pennebaker, Andrew (mcandre) (13 de octubre de 2011). "factcheck". GitHub . Consultado el 9 de diciembre de 2011 .
  20. ^ leanovate (26 de abril de 2016). "Gopter". GitHub . Consultado el 26 de abril de 2016 .
  21. ^ Pennebaker, Andrew (mcandre) (17 de octubre de 2011). «IoCheck». GitHub . Consultado el 9 de diciembre de 2011 .
  22. ^ "Módulo QuickCheck de FunctionalJava". FunctionalJava . Consultado el 14 de agosto de 2015 .
  23. ^ "Quickcheck para Java". Quickcheck.dev.java.net . Consultado el 9 de diciembre de 2011 .
  24. ^ "JCheck". JCheck . Consultado el 9 de diciembre de 2011 .
  25. ^ "junit-quickcheck". junit-quickcheck . Consultado el 3 de julio de 2013 .
  26. ^ "jqwik para la plataforma JUnit5". jqwik . Consultado el 19 de junio de 2017 .
  27. ^ "Prueba rápida de propiedades de teorías para Java 8". ncredinburgh . Consultado el 30 de octubre de 2017 .
  28. ^ "Pruebas basadas en propiedades de jetCheck para Java 8". JetBrains . Consultado el 10 de julio de 2018 .
  29. ^ Thompson, Darrin (darrint). "qc.js". Bitbucket . Consultado el 9 de diciembre de 2011 .
  30. ^ Crockford, Douglas. "jscheck". GitHub . Consultado el 21 de octubre de 2017 .
  31. ^ Dubien, Nicolas (dubzzz). "fast-check". GitHub . Consultado el 3 de febrero de 2018 .
  32. ^ "JSVerify: pruebas basadas en propiedades para JavaScript. Como QuickCheck". jsverify.github.io .
  33. ^ "Checkers.jl". GitHub . Consultado el 8 de abril de 2018 .
  34. ^ "lgtunit" . Consultado el 26 de febrero de 2020 .
  35. ^ "lua-quickcheck". GitHub . Consultado el 25 de febrero de 2017 .
  36. ^ "QuickCheck.wl — Pruebas automatizadas basadas en propiedades para el lenguaje Wolfram - Grupos de discusión técnica en línea — Comunidad Wolfram". community.wolfram.com . Consultado el 11 de julio de 2021 .
  37. ^ Pennebaker, Andrew (mcandre). "objcheck". GitHub . Consultado el 9 de diciembre de 2011 .
  38. ^ Cruanes, Simon. "Pruebas basadas en propiedades inspiradas en QuickCheck para OCaml". GitHub . Consultado el 1 de septiembre de 2022 .
  39. ^ "Prueba: LectroTest: Tutorial". El proyecto LectroTest se inspiró en el módulo QuickCheck de Haskell, diseñado por Koen Claessen y John Hughes.
  40. ^ "biblioteca(comprobación rápida)".
  41. ^ Amaral, Claudio; Florido, Mario; Costa, Vitor Santos (2014). "PrologCheck - Pruebas basadas en propiedades en Prolog". Actas del Duodécimo Simposio Internacional sobre Programación Funcional y Lógica (FLOPS 2014) . Apuntes de clase en Ciencias de la Computación. 8475 : 1–17. doi :10.1007/978-3-319-07151-0_1. ISBN 978-3-319-07150-3.
  42. ^ Oestreicher, Stefan (estéreos). "PhpQuickCheck". GitHub . Consultado el 12 de noviembre de 2015 .
  43. ^ Wahl, Matthias (mfelsche). "ponycheck". GitHub . Consultado el 26 de diciembre de 2018 .
  44. ^ MacIver, David (16 de abril de 2016). «QuickCheck en todos los idiomas» . Consultado el 1 de agosto de 2022 .
  45. ^ "Quickcheck: Pruebas basadas en propiedades en R". GitHub . 17 de marzo de 2022.
  46. ^ "Verificación rápida". docs.racket-lang.org .
  47. ^ Pennebaker, Andrew (mcandre) (14 de septiembre de 2017). "Rubycheck: una versión Ruby del marco de pruebas unitarias QuickCheck". GitHub .
  48. ^ Gallant, Andrew (BurntSushi). "QuickCheck para Rust (con encogimiento)". GitHub . Consultado el 27 de mayo de 2015 .
  49. ^ "Prueba de propiedades de tipo hipótesis para Rust". GitHub .
  50. ^ "ScalaCheck". GitHub . Consultado el 30 de junio de 2016 .
  51. ^ "scalaprops/scalaprops". GitHub . Consultado el 30 de junio de 2016 .
  52. ^ "nyaya". GitHub . Consultado el 30 de junio de 2016 .
  53. ^ "Scheme-Check: Pruebas unitarias aleatorias para PLT Scheme". Archivado desde el original el 12 de febrero de 2005. Scheme-Check es un módulo que implementa pruebas unitarias aleatorias en PLT Scheme. Con Scheme-Check, en lugar de crear muchas pruebas individuales, usted especifica propiedades de su código y Scheme-Check genera una gran cantidad de conjuntos de datos aleatorios para probar esas propiedades. Scheme-Check es básicamente una versión de QuickCheck para Scheme.
  54. ^ Mejr, Antero. "SRFI 252: Pruebas de propiedades". Solicitudes de implementación de esquemas . Consultado el 25 de abril de 2024 .
  55. ^ Pennebaker, Andrew (mcandre). "QuickSmash". GitHub . Consultado el 9 de diciembre de 2011 .
  56. ^ "QCheck/SML". Contrapunctus . 22 de noviembre de 2011 . Consultado el 9 de diciembre de 2011 .
  57. ^ "SwiftCheck: QuickCheck para Swift". GitHub . 3 de noviembre de 2017.
  58. ^ Dubien, Nicolas (dubzzz). "fast-check". GitHub . Consultado el 3 de febrero de 2018 .
  59. ^ Chin, Janice. "QuickCheck for Whiley" (PDF) . Consultado el 20 de abril de 2020 .

Lectura adicional

Enlaces externos