QuickCheck Tutorial: Using QuickCheck to Test Erlang Programs

By Erlang Central | Published: June 23, 2008

QuickCheck is an automated testing tool which addresses these
problems by generating test cases from a concise specification (so that
many more cases can be tested), and simplifying failing cases to a
minimal example on a test failure (so that fault diagnosis is quick and
easy). QuickCheck enables developers to dramatically improve test
coverage, and find obscure errors at an earlier stage, lowering costs
and improving quality as a result.

In this tutorial, John Hughes and Thomas Arts
will use examples to show how developers write QuickCheck
specifications—which are actually Erlang programs using the QuickCheck
API—and use them to test code written in Erlang or other programming
languages. We will show how QuickCheck’s shrinking finds tiny examples
that provoke errors, making the step from observing a bug to diagnosing
it very short indeed, and we will show how property driven development
can produce code that is solid from the word go.

Download Presentation Download


  • Thomas Arts

    QuviQ AB

    Dr. Thomas Arts is the co-founder and CTO of Quviq, a small company that produced Quick Check, as testing tool for Erlang. Thomas has over 30 publications in various industry journals and has experience refereeing conferences and workshops. He has successfully introduced some new technologies to the industry, the latest being QuickCheck, a tool for property based testing and aims to support test driven development. Thomas is also an associate professor at the IT University of Göteborg in the area of Software Engineering and Management. He holds a PhD in computer science and after his PhD has been employed at the Ericsson Computer Science Lab (Where they invented Erlang), where he worked on program verification and the development of the Erlang programming language. He has also worked in the broad spectrum theoretical computer science, formal methods and industrial case-study research, mainly applying all kind of techniques to systems written in Erlang.

    Thomas Arts
  • John Hughes

    Quviq AB

    John Hughes is co-founder and CEO of Quviq AB, and the originator of Quviq QuickCheck. From 2002-2005 he led a major research project in software verification, funded by the Swedish Strategic Research Foundation. This led to the development of Quviq QuickCheck in Erlang. Before John's involvement with Erlang, he was deeply involved with the design of Haskell from the start, and co-chaired the committee that defined the current language standard. At the Erlang eXchange, John will talk about Quick Check for Erlang.

    John Hughes

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community