QuickCheck support property based development. Instead of writing test
cases for your applications, you write a one-pager with a QuickCheck
property from which hundreds of test cases are generated
automatically.QuickCheck simplifies 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 180 minute tutorial we
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.
Ulf NorellQuickCheck expert
Ulf Norell got his PhD in computer science in 2007 and is now a post doc at Chalmers University of Technology where he is developing dependently typed functional programming languages and teaching a master's level course on advanced functional programming. Since 2008 he has been working for Quviq AB, helping to bring the QuickCheck testing tool to Erlang developers.