Refine
Has Fulltext
- no (38)
Year of publication
Document Type
- Conference Proceeding (21)
- Part of a Book (10)
- Article (6)
- Book (1)
Keywords
Assessment of REST and Web-Sockets in regards to their energy consumption for mobile applications
(2015)
PEDELEC
(2015)
Tracy
(2005)
Mobile Agents
(2005)
Mobisoft
(2008)
Mobisoft
(2006)
The proper design of Representational State Transfer (REST) APIs is not trivial because developers have to deal with a flood of recommendations and best practices, especially the proper application of the hypermedia constraint requires some decent experience. Furthermore, testing RESTful APIs is a missing topic within literature. Especially hypermedia testing is not mentioned at all. Manual hypermedia testing is time-consuming and hard to maintain. Testing a hypermedia API requires many test cases that have similar structure, especially when different user roles and error cases are considered. In order to tackle this problem, we proposed a Model-driven Testing (MDT) approach for hypermedia systems using the metamodel within our existing Model Driven Software Development (MDSD) approach. This work discusses challenges and results of hypermedia testing for RESTful APIs using MDT techniques that were discovered within our research. MDT allows white-box testing, hence covering complete program structure and behavior of the generated application. By doing this, we are able to achieve a high automated test coverage. Moreover, any runtime behavior deviated from the metamodel reveals bugs within the generators.
The proper design of Representational State Transfer (REST) APIs is not trivial because developers have to deal with a flood of recommendations and best practices, especially the proper application of the hypermedia constraint requires some decent experience. Furthermore, testing RESTful APIs is a missing topic within literature. Especially hypermedia testing is not mentioned at all. Manual hypermedia testing is time-consuming and hard to maintain. Testing a hypermedia API requires many test cases that have similar structure, especially when different user roles and error cases are considered. In order to tackle this problem, we proposed a Model-Driven Testing (MDT) approach for hypermedia systems using the metamodel within our existing Model Driven Software Development (MDSD) approach. This work discusses challenges and results of hypermedia testing for RESTful APIs using MDT techniques that were discovered within our research. MDT allows white-box testing, hence covering complete program structure and behavior of the generated application. By doing this, we are able to achieve a high automated test coverage. Moreover, any runtime behavior deviated from the metamodel reveals bugs within the generators.
Implementing the hypermedia constraint for RESTful Systems is a challenging task for most developers. This is due to the lack of information about how to implement hypermedia on the client-side correctly. Therefore, new tools are required to support developers with the implementation of the hypermedia constraint. We propose a model-driven approach that allows developers to define a RESTful System as a finite-state machine: states represent resources and transitions represent hypermedia links. We present a metamodel that our generator can process to generate Poymer Web Applications. These web applications fulfill all REST constraints defined by Fielding. Therefore, developers do not have to implement the hypermedia constraint themselves. Our approach simplifies the developement of REStful Web Applications and reduces the developement efforts. Moreover, we describe how RESTful Web Applications can be derived from finite-state machines.
Feature Oriented DSLs
(2018)
Being an architectural style rather than a specification or a standard, the proper design of REpresentational State Transfer (REST) APIs is not trivial, since developers have to deal with a flood of recommendations and best practices, especially the proper application of the hypermedia constraint requires some decent experience. Furthermore, testing RESTful APIs is a missing topic within literature and especially, hypermedia testing is not mentioned at all. To deal with this state of affairs, we have elaborated a Model-Driven Software Development (MDSD) approach for creating RESTful APIs. As this project matured, we also explored the possibility of Model-Driven Testing (MDT). This work addresses the challenges of hypermedia testing and proposes approaches to overcome them with MDT techniques. We present the results of hypermedia testing for RESTful APIs using a model verification approach that were discovered within our research. MDT enables the verification of the underlying model of a RESTful API and ensuring its correctness before initiating any code generation. Therefore, we can prevent a poorly designed model from being transformed into a poorly designed RESTful API.
Testing RESTful systems is a missing topic within literature. Especially hypermedia testing is not mentioned at all. We discuss the challenges of hypermedia testing that were discovered within our research. We will differ between client-side and server-side challenges since REpresentational State Transfer (REST) describes a client-server system. Therefore, both sides have to be considered. Hypermedia tests for the server have to ensure that there is no response without hypermedia links. However, the client also has to be hypermedia compliant. Thus, we propose to simulate a server update to check whether the client breaks. Since we use Model-driven Software Development (MDSD) to generate RESTful systems we also propose a model-driven approach for hypermedia testing. This allows us to generate tests for a server based on its underlying model. Moreover, we can build a crawler to verify our generated servers and to test all hypermedia links for different user roles. Any modification to t he model can result in a server update, which can be used to test hypermedia clients.
Representational State Transfer (REST) is an efficient and by now established architectural style for distributed hypermedia systems. However, REST has not been designed for offline operations, yet many applications must also keep functioning when going offline for more than a few seconds. Burdening the programmer with knowledge about offline status is undesirable. RESTful applications can be described by a formal model. Therefore, we define a function to derive a formal model of the proxy for handling offline support on the client-side. We then extend existing caching approaches so that a client-side proxy can transparently hide the offline status from the application. We validate our solution with a proxy layer that covers all test cases derived from the model. Using our model and proxy, clients do not have to know and worry about whether they are online or offline.