Application services often support mobile and web applications with REST interfaces, implemented using a set of distributed components that interact with each other. This approach allows services to have high availability and performance at a lower cost than a monolithic system. However, the existence of multiple components makes the development process of these systems more complex and therefore susceptible to errors. In this paper, we present JepREST, a system that automates the use of Jepsen libraries to test the correctness of distributed applications that provide a REST interface. Based on a service interface specification, JepREST generates and executes a set of tests with multiple clients performing operations concurrently, subsequently verifying if the system behaviour is linearizable. The preliminary evaluation shows that JepREST simplifies the testing of REST applications.
@article{arxiv.2303.14104,
title = {JepREST: Functional tests for distributed REST applications},
author = {Sara Simoes and Ana Ribeiro and Carla Ferreira and Nuno Preguica},
journal= {arXiv preprint arXiv:2303.14104},
year = {2023}
}