Skip to main content
Kent Academic Repository

Towards Property-Based Testing of RESTful Web Services

Lamela Seijas, Pablo and Li, Huiqing and Thompson, Simon (2013) Towards Property-Based Testing of RESTful Web Services. Technical report. School of Computing, University of Kent (Unpublished) (KAR id:34865)

PDF (Full paper to accompany poster in Erlang Workshop 2013 proceedings.) Supplemental Material
Language: English

Download this file
[thumbnail of Full paper to accompany poster in Erlang Workshop 2013 proceedings.]
Request a format suitable for use with assistive technology e.g. a screenreader


Developing APIs as Web Services over HTTP implies adding an extra layer to software, compared to the ones that we would

need to develop an API distributed as, for example, a library.

This additional layer must be included in testing too, but this implies that the software under test has an additional complexity due both to the need to use an intermediate protocol in tests and to the need to test compliance with the constraints imposed by that protocol: in this case the constraints defined by the REST architectural style.

On the other hand, these requirements are common to all the Web Services, and because of that, we should be able to abstract this aspect of the testing model so that we can reuse it in testing any Web Service.

In this paper, as a first step towards automating the testing of Web Services over HTTP, we describe a practical mechanism and model for testing RESTful Web Services without side effects and give an example of how we successfully adapted that mechanism to test two different existing Web Services: Storage Room by Thriventures and Google Tasks by Google. For this task we have used Erlang together with state machine models in the property-based testing tool Quviq QuickCheck, implemented using the statem module.

Item Type: Reports and Papers (Technical report)
Uncontrolled keywords: web services, REST, Representational State Transfer, Quviq, QuickCheck, Erlang, state machine, generator, property-based testing
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: S. Thompson
Date Deposited: 26 Jul 2013 21:05 UTC
Last Modified: 16 Nov 2021 10:12 UTC
Resource URI: (The current URI for this page, for reference purposes)

University of Kent Author Information

Lamela Seijas, Pablo.

Creator's ORCID:
CReDIT Contributor Roles:

Li, Huiqing.

Creator's ORCID:
CReDIT Contributor Roles:

Thompson, Simon.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.