Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web

Servicos web sao componentes de software fracamente acoplados projetados para promover a comunicacao interoperavel entre aplicacoes na Internet. O acesso a servicos web da-se de maneira padronizada (via protocolos definidos pelo W3C), independente da linguagem de programacao, sistema operacional...

Full description

Bibliographic Details
Main Author: Felipe Meneses Besson
Other Authors: Fabio Kon
Language:Portuguese
Published: Universidade de São Paulo 2012
Subjects:
Online Access:http://www.teses.usp.br/teses/disponiveis/45/45134/tde-24102012-132533/
id ndltd-IBICT-oai-teses.usp.br-tde-24102012-132533
record_format oai_dc
collection NDLTD
language Portuguese
sources NDLTD
topic Coreografias de servicos web
Desenvolvimento Guiado por Testes
Metodos Ageis
Servicos web
Testes automatizados
Agile Methods
Automated testing
Test-Driven Development (TDD)
Web service choreographies
Web services
spellingShingle Coreografias de servicos web
Desenvolvimento Guiado por Testes
Metodos Ageis
Servicos web
Testes automatizados
Agile Methods
Automated testing
Test-Driven Development (TDD)
Web service choreographies
Web services
Felipe Meneses Besson
Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web
description Servicos web sao componentes de software fracamente acoplados projetados para promover a comunicacao interoperavel entre aplicacoes na Internet. O acesso a servicos web da-se de maneira padronizada (via protocolos definidos pelo W3C), independente da linguagem de programacao, sistema operacional ou plataforma em que sao desenvolvidos. Devido a essas caracteristicas, servicos simples podem ser combinados em servicos mais completos. Coreografia consiste em uma abordagem descentralizada para a composicao de servicos. Diferentemente de orquestracoes, abordagem na qual servicos distribuidos sao coordenados de modo centralizado, a interacao entre os servicos de uma coreografia e colaborativa e a coordenacao descentralizada. Apesar das vantagens, o desenvolvimento de coreografias, incluindo as atividades de testes, nao e algo consolidado. O objetivo desta dissertacao foi desenvolver uma arcabouco de teste que facilite o uso de Desenvolvimento Guiado por Testes (Test-Driven Development, TDD) em coreografias de servicos web. Rehearsal, o arcabouco proposto, fornece funcionalidades para o teste automatizado de (i) servicos web atomicos (teste de unidade); (ii) composicao de servicos (teste de integracao) e (iii) uma parte ou toda a coreografia (teste de aceitacao). Esses testes podem ser implementados utilizando funcionalidades do arcabouco, tais como a criacao dinamica de clientes para servicos web, o interceptador de mensagens e a abstracao da coreografia em objetos Java. Alem disso, Rehearsal facilita a criacao e uso de Mocks de servicos web, uma importante pratica de TDD. Além de avaliar o arcabouco desenvolvido, um estudo ex- ploratorio qualitativo foi conduzido com estudantes de Ciencia da Computacao. De acordo com os resultados obtidos, as funcionalidades do Rehearsal mostraram-se adequadas para a utilizacao de TDD em coreografias de servicos web. === Web services are loosely-coupled software components designed to support interoperable machine- to-machine interaction over the Internet. To achieve such interoperability, web services are accesible through W3C web standards, independently of which language, operating system, or hardware platform they are developed. Due to these characteristics, simple web services can be combined in more complex ones. Choreographies are a distributed approach for composing web services. Compared to orchestrations, which have a centralized approach to distributed service management, the interaction among the choreographed services is collaborative with decentralized coordination. Despite the advantages, choreography development, including the testing activities, is not consolidated. The goal of this research is to develop a testing framework to support Test-Driven Development (TDD) of choreographies. Rehearsal, the proposed framework, provides features for automating the testing of (i) atomic web services (unit testing); (ii) their integration in the choreography (integration testing); and (iii) part of or the entire choreography (acceptance testing). These several levels of testing are implemented by using framework features such as the dynamic generation of web service clients, message interception, and the abstraction of the choreography into Java objects. In addition, Rehearsal supports important practices of TDD such as service mocking. To assess the developed framework, we conducted a qualitative exploratory study with Computer Science students. According to the results obtained, the features of Rehearsal were adequate for applying TDD to web service choreography development successfully.
author2 Fabio Kon
author_facet Fabio Kon
Felipe Meneses Besson
author Felipe Meneses Besson
author_sort Felipe Meneses Besson
title Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web
title_short Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web
title_full Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web
title_fullStr Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web
title_full_unstemmed Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web
title_sort rehearsal: um arcabouço para teste automatizado de coreografias de serviços web
publisher Universidade de São Paulo
publishDate 2012
url http://www.teses.usp.br/teses/disponiveis/45/45134/tde-24102012-132533/
work_keys_str_mv AT felipemenesesbesson rehearsalumarcaboucoparatesteautomatizadodecoreografiasdeservicosweb
AT felipemenesesbesson rehearsalaframeworkforautomatedtestingofwebservicechoreographies
_version_ 1718918070781607936
spelling ndltd-IBICT-oai-teses.usp.br-tde-24102012-1325332019-01-22T00:12:01Z Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web Rehearsal: A framework for automated testing of web service choreographies Felipe Meneses Besson Fabio Kon Eduardo Martins Guerra Coreografias de servicos web Desenvolvimento Guiado por Testes Metodos Ageis Servicos web Testes automatizados Agile Methods Automated testing Test-Driven Development (TDD) Web service choreographies Web services Servicos web sao componentes de software fracamente acoplados projetados para promover a comunicacao interoperavel entre aplicacoes na Internet. O acesso a servicos web da-se de maneira padronizada (via protocolos definidos pelo W3C), independente da linguagem de programacao, sistema operacional ou plataforma em que sao desenvolvidos. Devido a essas caracteristicas, servicos simples podem ser combinados em servicos mais completos. Coreografia consiste em uma abordagem descentralizada para a composicao de servicos. Diferentemente de orquestracoes, abordagem na qual servicos distribuidos sao coordenados de modo centralizado, a interacao entre os servicos de uma coreografia e colaborativa e a coordenacao descentralizada. Apesar das vantagens, o desenvolvimento de coreografias, incluindo as atividades de testes, nao e algo consolidado. O objetivo desta dissertacao foi desenvolver uma arcabouco de teste que facilite o uso de Desenvolvimento Guiado por Testes (Test-Driven Development, TDD) em coreografias de servicos web. Rehearsal, o arcabouco proposto, fornece funcionalidades para o teste automatizado de (i) servicos web atomicos (teste de unidade); (ii) composicao de servicos (teste de integracao) e (iii) uma parte ou toda a coreografia (teste de aceitacao). Esses testes podem ser implementados utilizando funcionalidades do arcabouco, tais como a criacao dinamica de clientes para servicos web, o interceptador de mensagens e a abstracao da coreografia em objetos Java. Alem disso, Rehearsal facilita a criacao e uso de Mocks de servicos web, uma importante pratica de TDD. Além de avaliar o arcabouco desenvolvido, um estudo ex- ploratorio qualitativo foi conduzido com estudantes de Ciencia da Computacao. De acordo com os resultados obtidos, as funcionalidades do Rehearsal mostraram-se adequadas para a utilizacao de TDD em coreografias de servicos web. Web services are loosely-coupled software components designed to support interoperable machine- to-machine interaction over the Internet. To achieve such interoperability, web services are accesible through W3C web standards, independently of which language, operating system, or hardware platform they are developed. Due to these characteristics, simple web services can be combined in more complex ones. Choreographies are a distributed approach for composing web services. Compared to orchestrations, which have a centralized approach to distributed service management, the interaction among the choreographed services is collaborative with decentralized coordination. Despite the advantages, choreography development, including the testing activities, is not consolidated. The goal of this research is to develop a testing framework to support Test-Driven Development (TDD) of choreographies. Rehearsal, the proposed framework, provides features for automating the testing of (i) atomic web services (unit testing); (ii) their integration in the choreography (integration testing); and (iii) part of or the entire choreography (acceptance testing). These several levels of testing are implemented by using framework features such as the dynamic generation of web service clients, message interception, and the abstraction of the choreography into Java objects. In addition, Rehearsal supports important practices of TDD such as service mocking. To assess the developed framework, we conducted a qualitative exploratory study with Computer Science students. According to the results obtained, the features of Rehearsal were adequate for applying TDD to web service choreography development successfully. 2012-09-14 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.teses.usp.br/teses/disponiveis/45/45134/tde-24102012-132533/ por info:eu-repo/semantics/openAccess Universidade de São Paulo Ciência da Computação USP BR reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo instacron:USP