QuickCheck is a combinator library written in Haskell, designed to assist in software testing by generating test cases for test suites. It is compatible with the GHC compiler and the Hugs interpreter. The author of the program being tested makes certain assertions about logical properties that a function should fulfill; these tests are specifically generated to test and attempt to falsify these assertions. The project was started in 2000.

PropertyValue
dbpedia-owl:Software/developer
dbpedia-owl:Software/license
dbpedia-owl:developer
dbpedia-owl:license
dbpprop:abstract
  • QuickCheck is a combinator library written in Haskell, designed to assist in software testing by generating test cases for test suites. It is compatible with the GHC compiler and the Hugs interpreter. The author of the program being tested makes certain assertions about logical properties that a function should fulfill; these tests are specifically generated to test and attempt to falsify these assertions. The project was started in 2000. 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. Re-implementations of QuickCheck exist for Erlang, Scheme, Common Lisp, Perl, Python, Ruby, Java, Scala, F#, and Standard ML.
  • QuickCheck es una herramienta que el lenguaje de programación Haskell provee para poder probar las propiedades que deberían de cumplir las funciones, es decir, cada función tiene propiedades deseables lo que se logra con QuickCheck es ver si se cumplen total o parcialmente estas propiedades. Una ventaja notoria es que la propiedad es probada con una gran cantidad de casos generados aleatoriamente. Por ejemplo si tenemos una función suma: suma x y = x + y para ver si cumple la propiedad conmutativa de la suma de números enteros, para cualquier entero: prop_suma_conmutativa :: Int ->Int -> Bool prop_suma_conmutativa x y = suma x y == suma y x la función prop_suma_conmutativa al ser pasada como parámetro en quickCheck será verificada con varios casos aleatorios de enteros e indicará si eventualmente la función suma cumple o no la propiedad de la suma de números enteros. Detalles Teoricos importantes QuickCheck toma como parámetro de entrada una propiedad Las propiedades son un conjunto de afirmaciones parametrizadas que en Haskell son funciones normales que pueden ser entendidas por cualquier compilador o interprete Estas propiedades son verificadas con un número grande de casos de prueba generados de forma aleatoria Los programadores controlan la distribución de los casos de prueba generados con reglas condicionales y generadores Permite programar generadores propios Las funciones que deseamos probar pueden ser polimórficas pero las propiedades a probar deben ser monomórficas. El siguiente ejemplo muestra un error,por esto: import Test. QuickCheck insertOrdered :: (Ord a) => a -> [a] -> [a] insertOrdered a = [a] insertOrdered a | a <= x = a:[x] ++ xs | a > x = x: insertOrdered a xs prop_insertOrdered a (xs) = ordered(insertOrdered a xs) -- main = quickCheck prop_insertOrdered >:l Main Main> quickCheck prop_insertOrdered ERROR - Unresolved overloading Notar en este ejemplo: El nombre de la función para probar la propiedad, comienza con el prefijo prop_ (Ej. prop insertOrdered)esto es por convención. Se usó una función auxiliar ordered para probar la propiedad Podemos llamar la función quickCheck tanto en la línea de comandos como dentro de nuestro programa. Otro punto interesante a notar es que inclusive luego de añadir el tipo a la función, devuelve el siguiente mensaje “Falsifiable,after 3 tests”
  • QuickCheck är ett verktyg för att med hjälp av upprepad slumpmässig testning, kontrollera att datorprogram skrivna i Haskell gör vad de är avsedda att göra. Verktyget skapades av John Hughes och Koen Claessen, båda aktiva på Chalmers tekniska högskola.
dbpprop:developer
dbpprop:genre
  • Software testing
dbpprop:hasPhotoCollection
dbpprop:latestReleaseDate
  • Sat Sep 27 13:43:28 PDT 2008
dbpprop:latestReleaseVersion
  • 2.1.0.1
dbpprop:license
dbpprop:name
  • QuickCheck
dbpprop:operatingSystem
dbpprop:otheruses4Property
  • QuickChek
  • the computer software
  • the convenience store
dbpprop:reference
dbpprop:website
dbpprop:wikiPageUsesTemplate
dbpprop:wordnet_type
rdf:type
rdfs:comment
  • QuickCheck is a combinator library written in Haskell, designed to assist in software testing by generating test cases for test suites. It is compatible with the GHC compiler and the Hugs interpreter. The author of the program being tested makes certain assertions about logical properties that a function should fulfill; these tests are specifically generated to test and attempt to falsify these assertions. The project was started in 2000.
  • QuickCheck es una herramienta que el lenguaje de programación Haskell provee para poder probar las propiedades que deberían de cumplir las funciones, es decir, cada función tiene propiedades deseables lo que se logra con QuickCheck es ver si se cumplen total o parcialmente estas propiedades. Una ventaja notoria es que la propiedad es probada con una gran cantidad de casos generados aleatoriamente.
  • QuickCheck är ett verktyg för att med hjälp av upprepad slumpmässig testning, kontrollera att datorprogram skrivna i Haskell gör vad de är avsedda att göra. Verktyget skapades av John Hughes och Koen Claessen, båda aktiva på Chalmers tekniska högskola.
rdfs:label
  • QuickCheck
  • QuickCheck
  • QuickCheck
owl:sameAs
skos:subject
foaf:homepage
foaf:name
  • QuickCheck
foaf:page
is dbpprop:redirect of
is owl:sameAs of