Graphical models for Quickcheck
Tutorial: Graphic Models for QuickCheck

Kirill Bogdanov
Model-Based Testing Specialist

Quickcheck is a tool that generates test data to fit a model provided by a tester. Such models describe both the kind of data to generate and the constraints it has to satisfy. Moreover, one would usually take stateful nature of systems under test into account by using a test model, containing both abstract state and operations that determine which API calls can be made to a system under test. When building such test models, it is necessary to keep track of the variables describing state transitions of the test model and update them depending on the intended outcome of the API calls. The talk introduces a new tool that makes it possible to define a test model graphically. Using a simple web-based interface, one can construct and edit a state machine that shows which API calls on a system under test are possible and when. The tool automatically updates the corresponding Erlang code, permitting one to immediately run tests and observe outcomes, such as a failed test or a distribution of API calls obtained from a test suite.

Talk objectives:

Introduces the upcoming extension to Quickcheck tool for graphical editing of models.

Target audience:

Everyone using Quickcheck.


QuickCheck generates test data to fit a model provided by a tester. Such models are often stateful, where operations to be invoked on a system under test depend both on the previous operations and the previous responses from the system. The tutorial describes a tool that makes it possible to graphically edit such models and to visualise model coverage and test failures. A well-known locker example will be used to illustrate the talk. The tutorial intends to provide an explanation how to use the tool.

Tutorial objectives:

(1) the purpose of the graphical modelling tool and

(2) how to get started using it.

Target audience:
Anyone interested in automated model-based testing, although experience with QuickCheck will be helpful.


Kirill Bogdanov lectures Computer Science at the University of Sheffield, UK. His interests are in software testing, both in test generation methods for software based on extended finite-state machines and in inference of models, where log data is generalised into state machines for subsequent test generation.

GitHub: kirilluk

Back to conference page