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) (Full text available)

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

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.
Download (211kB) Preview
[img]
Preview

Abstract

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: Monograph (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: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Simon Thompson
Date Deposited: 26 Jul 2013 21:05 UTC
Last Modified: 28 Aug 2013 09:07 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/34865 (The current URI for this page, for reference purposes)
  • Depositors only (login required):