Tutorial: Property-Based Testing for Web Services

Thomas Arts
CTO at Quviq

This tutorial will be delivered by Simon Thompson and Thomas Arts.

This tutorial will provide an introduction to using Property-Based Testing to test web services, based on the results of the EU-funded PROWESS project. PROWESS has developed a range of tools and techniques to support testing web services, centred on QuickCheck. Taking the example of the VoDKATV system from Interoud Innovation, the tutorial will give an overview of how each of the PROWESS tools fits into the overall process of testing web services systems. After introducing how QuickCheck is used in the example, we give more details about some of the tools: - JSONgen and WSDL_dsl are generator libraries for JSON and WSDL; - WStoolkit automatically generates QuickCheck boiler-plate code from WSDL system descriptions; - James, your butler for creating additional unit tests in your Java Unit test suite; - scaling QuickCheck by clustering component libraries and mocking in QuickCheck suitable way; - the quality of test code can be assessed using the Smother coverage analyser and the Mu2 mutation testing tool; - MegaLoad for load testing your applications in the cloud. Other PROWESS tools are described in more detail in the tutorial "Showing QuickCheck results to stake-holdersî which follows this one, and in presentations in the main conference itself.

Tutorial objectives:

To give attendees an overview of the PROWESS tools, through their application in an industrial case study.

Target audience:

Web Services developers and indeed system developers in general.


Thomas Arts, co-founder and CTO of Quviq, has worked at Ericsson's computer Science Lab in the nineties. Together with Joe Armstrong, Simon Marlow and Phil Wadler, he tried to build a type system for Erlang. That being of little practical use, he later worked on verification tools for Erlang. After a short return to academia as professor at Chalmers, he is now fully devoted to amazing testing tools.

GitHub: Quviq

Twitter: @quviq

Back to conference page