Comprobación rápida

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

QuickCheck es una biblioteca de software, una biblioteca de combinadores, 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 conjuntos 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 utilizarse para probar programas regulares, QuickCheck también es útil para crear una especificación funcional, para documentar lo que deberían hacer las funciones y para probar implementaciones de compiladores.

Existen reimplementaciones de QuickCheck para muchos idiomas:

  • C
  • C++
  • Pollo
  • Clojure
  • Lisp común
  • Coq
  • D
  • Elm
  • Elixir
  • Erlang
  • F# y C#, Visual Basic (.NET) (VB.NET)
  • Factor
  • Vamos.
  • Io
  • Java
  • JavaScript
  • Julia
  • Logtalk
  • Lua
  • Mathematica
  • Objetivo-C
  • OCaml
  • Perl
  • Prolog
  • PHP
  • Pony
  • Python
  • R
  • Racket
  • Ruby
  • Rust
  • Scala
  • Plan
  • Smalltalk
  • Standard ML
  • Swift
  • TipoScript
  • Mientras tanto

Véase también

  • Pruebas metamorfos
  • Controlador modelo SPIN
  • Pruebas de software# Pruebas de bienes

Referencias

  1. ^ "Data. Colecciones. Propiedades". hackage.haskell.org.
  2. ^ Pennebaker, Andrew (mcandre) (13 de octubre de 2011). "qc". GitHub. Retrieved 9 de diciembre 2011.
  3. ^ Zito, Andrea (nivox) (27 de julio de 2014). "quickcheck4c". GitHub. Retrieved 27 de julio, 2014.
  4. ^ Vokes, Scott (30 de marzo de 2015). "Robo: pruebas basadas en la propiedad para C". GitHub. Retrieved 16 de noviembre, 2015.
  5. ^ "QuickCheck". Software.legiasoft.com. Retrieved 9 de diciembre 2011.
  6. ^ "CppQuickCheck". GitHub. Retrieved 30 de marzo, 2015.
  7. ^ "RapidCheck". GitHub. Retrieved 30 de marzo, 2015.
  8. ^ Pennebaker, Andrew (mcandre). "cluckcheck". GitHub. Retrieved 9 de diciembre 2011.
  9. ^ Draper, Reid (reiddraper) (9 de mayo de 2013). "simple-check". GitHub. Retrieved 21 de agosto 2013.
  10. ^ Draper, Reid (reiddraper) (27 de marzo de 2014). "org.clojure/test.check". GitHub. Retrieved 27 de marzo, 2014.
  11. ^ "cl-quickcheck". Cliki. Retrieved 9 de diciembre 2011.
  12. ^ "QuickChick". GitHub. Retrieved 26 de agosto, 2019.
  13. ^ Pennebaker, Andrew (mcandre) (27 de octubre de 2011). "dashcheck". GitHub. Retrieved 9 de diciembre 2011.
  14. ^ "elm-explorations/test". GitHub. Retrieved 20 de noviembre, 2018.
  15. ^ Thomas, Dave (pragdave) (17 de julio de 2017). "quixir: Pruebas basadas en la propiedad para Elixir". GitHub. Retrieved 1 de abril 2019.
  16. ^ Alfert, Klaus. "propcheck: Pruebas basadas en la propiedad para Elixir". GitHub. Retrieved 1 de febrero 2021.
  17. ^ "PropEr: a QuickCheck-inspired propiedad-based testing tool for Erlang". GitHub. Retrieved 8 de mayo, 2019.
  18. ^ "FsCheck". GitHub. 25 de junio de 2015. Retrieved 25 de junio, 2011.
  19. ^ Pennebaker, Andrew (mcandre) (13 de octubre de 2011). "factcheck". GitHub. Retrieved 9 de diciembre 2011.
  20. ^ leanovate (26 de abril de 2016). "Gopter". GitHub. Retrieved 26 de abril, 2016.
  21. ^ Pennebaker, Andrew (mcandre) (17 de octubre de 2011). "IoCheck". GitHub. Retrieved 9 de diciembre 2011.
  22. ^ "FunctionalJava's QuickCheck module". FuncionalJava. Retrieved 14 de agosto 2015.
  23. ^ "Quickcheck for Java". Quickcheck.dev.java.net. Retrieved 9 de diciembre 2011.
  24. ^ "JCheck". JCheck. Retrieved 9 de diciembre 2011.
  25. ^ "junit-quickcheck". Ynit-quickcheck. Retrieved 3 de julio, 2013.
  26. ^ "jqwik para la Plataforma JUnit5". jqwik. Retrieved 19 de junio, 2017.
  27. ^ "Quick Theories propiedad testing for Java 8". Ncredinburgh. Retrieved 30 de octubre, 2017.
  28. ^ "jetCheck prueba basada en la propiedad para Java 8". JetBrains. Retrieved 10 de julio, 2018.
  29. ^ Thompson, Darrin (darrint). "qc.js". Bitbucket. Retrieved 9 de diciembre 2011.
  30. ^ Crockford, Douglas. "Jscheck". GitHub. Retrieved 21 de octubre 2017.
  31. ^ Dubien, Nicolas (dubzzz). "fast-check". GitHub. Retrieved 3 de febrero, 2018.
  32. ^ "JSVerify — pruebas basadas en propiedades para JavaScript. Como QuickCheck". jsverify.github.io.
  33. ^ "Checkers.jl". GitHub. Retrieved 8 de abril, 2018.
  34. ^ "Lgtunit". Retrieved 26 de febrero, 2020.
  35. ^ "lua-quickcheck". GitHub. Retrieved 25 de febrero, 2017.
  36. ^ "QuickCheck.wl — Pruebas basadas en la propiedad automatizadas para Wolfram Language - Grupos de discusión técnica en línea—Wolfram Community". la comunidad.wolfram.com. Retrieved 11 de julio 2021.
  37. ^ Pennebaker, Andrew (mcandre). "objcheck". GitHub. Retrieved 9 de diciembre 2011.
  38. ^ Cruanes, Simon. "QuickCheck inspirado pruebas basadas en la propiedad para OCaml". GitHub. Retrieved 1 de septiembre 2022.
  39. ^ "Test: LectroTest: Tutorial". El proyecto LectroTest fue inspirado por el módulo QuickCheck de Haskell de Koen Claessen y John Hughes
  40. ^ "library(quickcheck)".
  41. ^ Amaral, Claudio; Florido, Mario; Costa, Vitor Santos (2014). "PrologCheck - Pruebas basadas en la propiedad en Prolog". Proceedings of the Doceth International Symposium on Functional and Logic Programming (FLOPS 2014). Notas de conferencia en Ciencias de la Computación. Vol. 8475. pp. 1 –17. doi:10.1007/978-319-07151-0_1. ISBN 978-319-07150-3.
  42. ^ Oestreicher, Stefan (steos). "PhpQuickCheck". GitHub. Retrieved 12 de noviembre, 2015.
  43. ^ Wahl, Matthias (mfelsche). "ponycheck". GitHub. Retrieved 26 de diciembre, 2018.
  44. ^ MacIver, David (16 de abril de 2016). "Comprobar en cada idioma". Retrieved 1 de agosto 2022.
  45. ^ "quickcheck: Pruebas basadas en la propiedad en R". GitHub. 17 de marzo de 2022.
  46. ^ "Quickcheck". docs.racket-lang.org.
  47. ^ Pennebaker, Andrew (mcandre) (14 de septiembre de 2017). "Rubycheck: un puerto de Ruby del marco de prueba de unidad QuickCheck". GitHub.
  48. ^ Gallant, Andrew (BurntSushi). "QuickCheck for Rust (con reducción)". GitHub. Retrieved 27 de mayo, 2015.
  49. ^ "Hypothesis-like property testing for Rust". GitHub.
  50. ^ "ScalaCheck". GitHub. Retrieved 30 de junio 2016.
  51. ^ "scalaprops/scalaprops". GitHub. Retrieved 30 de junio 2016.
  52. ^ "nyaya". GitHub. Retrieved 30 de junio 2016.
  53. ^ "Comprobación de esquemas: prueba de unidad aleatoria para el esquema PLT". Archivado desde el original el 12 de febrero de 2005. Scheme-Check es un módulo que implementa pruebas de unidad aleatorizadas en PLT Scheme. Con Scheme-Check, en lugar de crear muchas pruebas individuales, 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 un puerto de Scheme de QuickCheck.
  54. ^ Mejr, Antero. "SRFI 252: Prueba de la propiedad". Solicitudes de ejecución. Retrieved 25 de abril, 2024.
  55. ^ Pennebaker, Andrew (mcandre). "QuickSmash". GitHub. Retrieved 9 de diciembre 2011.
  56. ^ "QCheck/SML". Contrapunctus. 22 de noviembre de 2011. Retrieved 9 de diciembre 2011.
  57. ^ "SwiftCheck: QuickCheck for Swift". GitHub. 3 de noviembre de 2017.
  58. ^ Dubien, Nicolas (dubzzz). "fast-check". GitHub. Retrieved 3 de febrero, 2018.
  59. ^ Chin, Janice. "QuickCheck for Whiley" (PDF). Retrieved 20 de abril, 2020.

Más lectura

  • Claessen, Koen; Hughes, John (2002). "Testing Monadic Programs with QuickCheck" (PostScript). SIGPLAN Avisos. 37 (12): 47 –59. CiteSeerX 10.1.1.111.1618. doi:10.1145/636517.636527. Retrieved 29 de enero, 2006.
  • Claessen, Koen ' Hughes, John (2000). "QuickCheck: Una herramienta ligera para la prueba aleatoria de los programas Haskell" (PDF). Actas de la Conferencia Internacional sobre Programación Funcional (ICFP), ACM SIGPLAN. Retrieved 29 de enero, 2006.
  • Claessen, Koen ' Hughes, John (2003). "Evaluaciones basadas en la especificación con QuickCheck". Fun of Programming, Cornerstones of Computing, Jeremy Gibbons y Oege de Moor (Eds.). Palgrave: 17 –40. Archivado desde el original el 4 de julio de 2007. Retrieved 29 de enero, 2006.
  • Claessen, Koen (agosto de 2004). "QuickCheck: Pruebas aleatorias basadas en la especificación". Presentación en Summer Institute on Trends in Testing: Teoría, Técnicas y Herramientas. Archivado desde el original (PPT) el 30 de abril de 2007. Retrieved 29 de enero, 2006.
  • Claessen, Koen; Runciman, Colin; Chitil, Olaf & Hughes, John (2002). "Testing and Tracing Lazy Functional Programs using QuickCheck and Hat". Programación Funcional Avanzada: 4a Escuela Internacional, Notas de Conferencias en Ciencias de la Computación. 2638. Springer Verlag: 59–99. Archivado desde el original (PostScript) el 12 de octubre de 2006. Retrieved 29 de enero, 2006.
  • QuickCheck en Hackage
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save