Búsqueda avanzada

Towards the Definition of Test Coverage Criteria for RESTful Web APIs

Web APIs following the REST architectural style (so-called RESTful Web APIs) have become the de-facto standard for software integration. As RESTful APIs gain momentum, so does the testing of them. However, there is a lack of mechanisms to assess the adequacy of testing approaches in this context, which makes it difficult to measure and compare the effectiveness of different testing techniques. In this work-in-progress paper, we take a step forward towards a framework for the assessment and comparison of testing approaches for RESTful Web APIs. To that end, we propose a preliminary catalogue of test coverage criteria. These criteria measure the adequacy of test suites based on the degree to which they exercise the different input and output elements of RESTful Web services. To the best of our knowledge, this is the first attempt to measure the adequacy of testing approaches for RESTful Web APIs.

RESTIoT: A model-based approach for building RESTful web services in IoT systems

In today’s Internet of Things (IoT) world, we face many challenges, such as having an architecture that improves the integration of data coming from several IoT devices and supports an efficient building of systems able to monitor, send and process data in real time. In this sense, we propose a model based on Model-Driven Engineering (MDE) for automatic RESTful web services building in IoT systems. This article introduces a graphical editor and a transformation engine proposed to simplify the creation of RESTful web services related to the operation of IoT hardware nodes (RESTIoT). This approach semi-automatically generates Java code (which uses Spring Boot technology) for web services and Arduino code for IoT nodes controllers.

Tool Demonstration: Testing JSON Web Services Using Jsongen (Demostración)

This article describes a tool, jsongen, which permits testing behavioural aspects of Web Services that communicate using the JSON data format. Provided a characterisation of the JSON data as a JSON schema, the jsongen tool will:(i) automatically derive a QuickCheck (the property-based testing tool)generator which can generate an infinite number of JSON values that validate against the schema, and (ii) provides a generic QuickCheck state machine which is capable of following the (hyper)links documented in the JSON schema, to automatically explore the web service. The default behaviour of the state machine can be easily customized to include web service specific checks. The approach is demonstrated by applying it to the task of testing a simplified web service for banking.

Desarrollando una arquitectura de microservicios mediante MDE

En los últimos años, la industria del software ha apostado por la migración hacia las aplicaciones basadas en servicios y su despliegue en la nube por su promesa de obtener alta disponibilidad y escalabilidad. Tanto las aplicaciones Web como las móviles utilizan partes servidoras basadas en fachadas REST o SOA que en muchas ocasiones crecen tanto a nivel de servicios como de datos lo que complica su mantenibilidad. En este sentido, ha aparecido recientemente un estilo arquitectónico denominado microservicios que propone la división horizontal de la funcionalidad de una aplicación en una colección de servicios que gestionan separadamente su propia lógica y sus datos. Esta división permite explotar la escalabilidad de la nube a nivel de servicio y abordar los cambios más rápidamente. A pesar de sus beneficios, este estilo arquitectónico presenta algunas desventajas como la dificultad de agregar datos de diferentes microservicios y el mantenimiento de la consistencia entre las diferentes orígenes de datos. Para abordar estos dos retos, este trabajo presenta una solución MDE basada en una evolución del modelo de servicios de OOH4RIA. Este modelo permite tanto acelerar la creación de microservicios como facilitar el mantenimiento en la comunicación y la composición de datos de diferentes orígenes.

Multi-dimensional Criteria for Testing Web Services Transactions

Web services (WS) transactions are important in order to reliably compose web services and to ensure that their execution is consistent and correct. This paper addresses the key issue of testing WS transactions by proposing multi-dimensional criteria that provide tester with flexibility of adjusting the method in terms of test efforts and effectiveness. The criteria have been designed, implemented and evaluated through a case study. This work has been published in Journal of Computer and Systems Sciences1.