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
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.
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.