METAMORPHIC TESTING FOR RESTFUL WEB API AND ITS SUPPORTING TOOL

In this paper, a metamorphic testing approach for RESTful Web API is proposed. The approach is proposed because the currently existing method took a more abstract and general approach which made it not easy to be implemented into a more practical testing tool. Without the availability of such too...

Full description

Saved in:
Bibliographic Details
Main Author: Iqbal Al Khowarizmi, Muhammad
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/39261
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:In this paper, a metamorphic testing approach for RESTful Web API is proposed. The approach is proposed because the currently existing method took a more abstract and general approach which made it not easy to be implemented into a more practical testing tool. Without the availability of such tools, practitioners who want to apply metamorphic testing to RESTful Web API would have to implement their own tools. The proposed approach is constructed by examining the general structure of metamorphic testing and how it could be applied in the context of RESTful Web API. The structure is then translated into a model to define a metamorphic testing, designed to be more easily implemented. Richardson Maturity Model is then used as reference to analyze the proposed approach to see to what extent the approach could generalize, or simply put, to what sort of RESTful Web API the approach could be applied. The analysis revealed that the proposed approach could generalize to API in Level 2 and Level 3 of RMM. To show how the proposed approach could be implemented into a functional tool, a prototypical design and implementation of a tool implementing the approach is also presented. The tool is built to help tester define and run metamorphic tests, and to show the results. The tool’s efficacy is then evaluated by running it against a sample API injected with faults, or more commonly known as mutation test. The mutation test is executed against test cases generated by the tool from defined metamorphic relations. The result of the mutation test showed that the tool is effective at killing some of the mutants. A careful examination on the result showed that the surviving mutants are those that didn’t alter the outputs or altered the outputs in such a way that it didn’t violate the defined metamorphic relations.