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 is Giving the Following Talks
QuickCheck Tutorial: Using QuickCheck to Test Erlang Programs
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.
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.
QuickCheck for Erlang
Testing is a major part of all software development. Yet no matter how
much effort is spent on it, some errors always seem to slip through.
Cases which no-one thought to test crash systems late in development or
out in the field, revealing errors which cost time and money to
analyze, diagnose, and fix. In the worst case, such errors
reveal fundamental flaws which force a redesign of part of the system,
at disproportionate cost.
In this talk we present QuickCheck, a 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. QuickCheck success stories include major telecoms products such as, radio base stations and media gateways.
In this talk we present QuickCheck, a 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. QuickCheck success stories include major telecoms products such as, radio base stations and media gateways.