Linking Unit Tests and Properties
Paper in proceedings, 2015

QuickCheck allows you to validate if your software has particular desired properties. These properties can be regarded as an abstraction over many unit tests. QuickCheck uses generated random input data to validate such a property. If QuickCheck finds a counterexample it becomes immediately clear what we are testing. If however all tests pass it is not immediately clear what we have tested, since we don’t see the actual generated test cases. In this case it is good to think about what we have actually tested. QuickCheck offers the possibility to gather statistics about the test cases, which is very insightful. Still, after inspecting the test data distribution many QuickCheck users wonder if a particular unit test case has been tested. Often a property is developed with a certain set of unit tests in mind. We have developed a tool that check if a given unit test can be generated by a property. This tool helps in understanding a property, making it easier to see what it really tests and hence judge its quality.

Author

Alex Gerdes

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

John Hughes

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Nicholas Smallbone

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

M. Wang

University Of Kent

Erlang Workshop, 2015-09-04, Vancouver

19-26 2804298

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

DOI

10.1145/2804295.2804298

ISBN

978-1-4503-3805-9