Guiding automated system test generation for RESTful APIs using log statements

Bachelor Thesis (2020)
Author(s)

M.J. Kemna (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 Michael Kemna
More Info
expand_more
Publication Year
2020
Language
English
Copyright
© 2020 Michael Kemna
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

Automated generation of system tests for RESTful APIs has been extensively investigated. Previous investigations use either a white box or a blackbox approach, wherein the quality of the test cases can be assessed on the HTTP response in the prior and also on the results of byte-code analysis in the latter. Both approaches are limited however, as the black box is often under performing, while the white box can only be applied to a limited set of RESTful APIs. In this paper, we introduce a novel approach where the system under test (SUT) is defined as a container. In this approach, the log output can be used to assess the quality of the test cases. We present a prototype that retrieves all semantically relevant in-formation from the logs using regex patterns, which was subsequently maximized by an evolutionary algorithm. The container, white box and black box mode were performed on three SUTs to evaluate the effectiveness and performance of these modes. An increase in code coverage was observed in the container versus black box mode in all SUTs (p <0.001,p <0.001 and p= 0.054). In all SUTs, significantly less actions could be evaluated by the container as compared to the black box and white box mode. Our results show promising results for the novel approach outlined in this paper. Importantly, this approach can be applied to any RESTful API

Files

License info not available