Multi-Objective Hill Climbing for Automated RESTful API Test Case Generation

More Info
expand_more

Abstract

RESTful APIs tend to be difficult to manually write tests for. To help developers with this tedious task, a tool called EvoMaster has already been developed, to aim to automate the generation of test cases for RESTful APIs. The automation of test cases can be modeled as a multi-objective optimization problem. The existing tool EvoMaster has already implemented some global evolutionary search algorithms to solve this problem. In the context of RESTful APIs however, to this date, little attention has been given to a much simpler search algorithm: hill climbing. In contrast, hill climbing has been studied both inside and outside the context of search-based testing, and has found to be beneficial in a range of applications. The goal of this paper is to investigate the application of hill climbing within the context of testing RESTful APIs. The paper proposes a new local algorithm and compares its performance in the empirical study. Results comparing the local algorithm with the evolutionary counterpart show that the state of the art global algorithm is still superior. Although the empirical study also indicates that the novel hill climbing algorithm is able to cover a significant selection of branches, which the global one cannot.

Files