Software Testing with QuickCheck

John Hughes. Software Testing with QuickCheck. In Zoltán Horváth, Rinus Plasmeijer, Viktória Zsók, editors, Central European Functional Programming School - Third Summer School, CEFP 2009, Budapest, Hungary, May 21-23, 2009 and Komárno, Slovakia, May 25-30, 2009, Revised Selected Lectures. Volume 6299 of Lecture Notes in Computer Science, pages 183-223, Springer, 2009. [doi]

Abstract

This paper presents a tutorial, with extensive exercises, in the use of Quviq QuickCheck—a property-based testing tool for Erlang, which enables developers to formulate formal specifications of their code and to use them for testing. We cover the basic concepts of properties and test-data generators, properties for testing abstract data types, and a state-machine modelling approach to testing stateful systems. Finally we discuss applications of QuickCheck in industry.