Methodically selecting a test framework for RESTA literature review

Representational state transfer (REST), is an architecture style for network related software. It was proposed by Roy Thomas Fielding as his Ph.D. dissertation in the year 2000. It intended to improve scalability and simplify the designing. In 2016, the Swedish tax agency (Skatteverket) has begun re...

Full description

Bibliographic Details
Main Author: Olsson, Timmy
Format: Others
Language:English
Published: Umeå universitet, Institutionen för datavetenskap 2018
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-149687
Description
Summary:Representational state transfer (REST), is an architecture style for network related software. It was proposed by Roy Thomas Fielding as his Ph.D. dissertation in the year 2000. It intended to improve scalability and simplify the designing. In 2016, the Swedish tax agency (Skatteverket) has begun replacing old services related to their information system (BasInfo) with RESTful web services. This requires rigorous testing, planning, and evaluation to assure it works. At the same time, they adapted agile as their development process, which added additional requirements for how the software is going to be tested. The goal of this thesis is to provide research about methods and frameworks that are meant for testing REST. It includes defining what functionalities a test framework should have, and how it stands in regards to the agile practice. We will conduct a literature review, which will describe the methods and frameworks, by how they work, their purpose and an analysis of what functionalities are relied on. They are evaluated based on their drawbacks and advantages in regards to agile view on time, quality and learning curve. From our research, we discovered there was two type of methods and frameworks. It indicated that a framework should have the capabilities of a general-purpose programming language, support generation of test cases and test data. Furthermore, it also showed potential in the aspect of agile’s view on time, quality and learning curve.