[en] Service Oriented Architectures (SOA), and its implementation as Web services (WS), provide a new computing paradigm in which functional and non-functional requirements of specialised services are published over the Internet such that they can be dynamically discovered and composed in order to create composite services that provide integrated and enhanced functionality. Web services transactions are used to ensure reliable execution of services and to maintain the consistency of data. The classical ACID model has been shown unsuitable for WS environments due to the loosely coupled and distributed nature of the process. Numerous models and protocols have been developed to deal with the new challengers of WS transactions. These aim to improve the quality of WS transactions in terms of response time efficiency, failure recovery, flexibility and support for long running and complex business applications. This thesis focuses on another quality dimension which is the testing of WS transactions. In it, the focus of testing is to detect possible faults or failures in software systems that rely on WS transactions. To that purpose, we present the Framework for Testing Transactions (F2T) which has been designed and developed for testing WS transactions. F2T has been devised to organize all the concepts involving in the process of test case design. Due to the variety of protocols and standards currently used to manage WS transactions, this thesis also presents the Abstract Transaction Model (AbTM) which is capable of modelling the transaction behaviour independently of the protocol used. F2T uses AbTM for the testing purposes. As part of the F2T development, a set of test techniques and criteria have been defined to test the isolated behaviour of the services and their dependencies (relationships) in WS transactions. These contributions have been evaluated using rigorous experiments that reveal the efficacy and efficiency of the proposed work. The evaluation includes a real industrial case study of a transactional bank application and an in-depth mutation analysis of the well-know web travel agency case study.

[es] Las Arquitecturas Orientadas a Servicios (en inglés SOA), y su implementación como Servicios Web (en inglés WS), definen un nuevo paradigma computacional en donde los requisitos funcionales y no funcionales de servicios especializados se publican en Internet. De esta manera pueden ser dinámicamente descubiertos y compuestos con el objetivo de crear composiciones de servicios que proporcionen una funcionalidad mejorada. Las transacciones en Servicios Web (en inglés, WS transactions), son el mecanismo utilizado por los servicios para asegurar una ejecución fiable manteniendo la consistencia de la información. El modelo clásico ACID es inadecuado para el manejo de las WS transactions debido a la naturaleza distribuida y desacoplada de este tipo de procesos. Por ello se han propuesto numerosos modelos y protocolos para afrontar los nuevos retos que arrojan las WS transactions. Esas alternativas tratan de mejorar la calidad de las WS transactions en términos de eficiencia en tiempo de respuesta, recuperación de fallos, flexibilidad y soporte para complejas aplicaciones de negocio de larga duración. Esta Tesis Doctoral aborda otra dimensión relativa a la calidad: el proceso de pruebas (en inglés testing) de las WS transactions. Nuestro objetivo es detectar posibles fallos en los sistemas software que se basan en WS transactions. Para ello presentamos el Marco de Trabajo para Prueba de Transacciones (el acrónimo inglés F2T). F2T ha sido diseñado y desarrollado especialmente para WS transactions. F2T se ideó para organizar todos los conceptos que participan en el proceso de diseño de casos de prueba. Dada la variedad de protocolos y estándares existentes para manejar WS transactions, esta tesis también presenta el Modelo Abstracto de Transacciones (el acrónimo en inglés AbTM) el cual es capaz de modelar el funcionamiento de las transacciones independientemente del protocolo utilizado. F2T utiliza el AbTM para el diseño de las pruebas. Como parte del desarrollo de F2T, hemos propuesto un conjunto de técnicas y criterios de prueba para probar el comportamiento aislado de los participantes así como las dependencias (relaciones) existentes entre ellos. Estas contribuciones han sido evaluadas utilizando rigurosos experimentos que constatan la eficacia y eficiencia de nuestra propuesta. La evaluación que se ha llevado a cabo incluye un caso de estudio real de una aplicación transaccional bancaria así como un profundo análisis de mutación del recurrente caso de estudio de una agencia de viajes web.