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

Bachelor Thesis (2020)
Author(s)

J. Kappé (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Annibale Panichella – Mentor (TU Delft - Software Engineering)

Mitchell Olsthoorn – Mentor (TU Delft - Software Engineering)

P Przemysław – Graduation committee member (TU Delft - Embedded Systems)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2020 Jeroen Kappé
More Info
expand_more
Publication Year
2020
Language
English
Copyright
© 2020 Jeroen Kappé
Graduation Date
22-06-2020
Awarding Institution
Delft University of Technology
Project
['CSE3000 Research Project']
Programme
['Computer Science and Engineering']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

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

RP_final.pdf
(pdf | 0.301 Mb)
License info not available