• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 8
  • Tagged with
  • 8
  • 8
  • 6
  • 5
  • 5
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 2
  • 2
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Padrões de testes automatizados / Automated Test Patterns

Bernardo, Paulo Cheque 04 July 2011 (has links)
A qualidade dos sistemas de software é uma preocupação de todo bom projeto e muito tem se estudado para melhorar tanto a qualidade do produto final quanto do processo de desenvolvimento. Teste de Software é uma área de estudo que tem crescido significativamente nos últimos tempos, em especial a automação de testes que está cada vez mais em evidência devido à agilidade e qualidade que pode trazer para o desenvolvimento de sistemas de software. Os testes automatizados podem ser eficazes e de baixo custo de implementação e manutenção e funcionam como um bom mecanismo para controlar a qualidade de sistemas. No entanto, pouco conhecimento sobre a área e erros comuns na escrita e manutenção dos testes podem trazer dificuldades adicionais aos projetos de software. Testes automatizados de baixa qualidade não contribuem efetivamente com o controle de qualidade dos sistemas e ainda demandam muito tempo do desenvolvimento. Para evitar esses problemas, esta dissertação apresenta de forma crítica e sistemática as principais práticas, padrões e técnicas para guiar o processo da criação, manutenção e gerenciamento dos casos de testes automatizados. Inicialmente, são feitas comparações entre a automação de testes e outras práticas de controle e garantia de qualidade. Em seguida, são apresentados os problemas e soluções mais comuns durante a automação de testes, tais como questões relacionadas a tipos específicos de algoritmos, sistemas com persistência de dados, testes de interfaces de usuário e técnicas de desenvolvimento de software com testes automatizados. Para finalizar, a dissertação traz uma reflexão sobre o gerenciamento e a abordagem da automação de testes para tornar o processo mais produtivo e eficaz. / The quality of software systems is a concern of every good project and much has been studied to improve the quality of the final product and process development. Software Testing is an increasing area, especially test automation, which is in evidence due to the speed and quality that it may bring to the development of software systems. Automated tests can be effective and can have a low cost of implementation and maintenance to ensure and control the quality of the systems. However, little knowledge about the area and common errors in writing and maintaining tests may bring additional difficulties to the software projects. Low quality automated tests do not contribute effectively to quality control systems and still take a long time of development. To avoid these problems, we present critically and systematically the core practices, standards and techniques to guide the process of creation, maintenance and management of automated test cases. Initially, comparisons are made between the test automation, other control practices, and quality assurance. Next, we present the most common problems and solutions for the automation of tests, such as issues related to specific types of algorithms, systems with data persistence, testing user interfaces and techniques for software development with automated tests. Finally, this essay reflects on the management and approach to test automation to make the process more productive and effective.
2

Automated testing framework implementation for post-production and broadcast HW/SW

Nabuco, António Miguel Carvalho January 2012 (has links)
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 2012
3

Padrões de testes automatizados / Automated Test Patterns

Paulo Cheque Bernardo 04 July 2011 (has links)
A qualidade dos sistemas de software é uma preocupação de todo bom projeto e muito tem se estudado para melhorar tanto a qualidade do produto final quanto do processo de desenvolvimento. Teste de Software é uma área de estudo que tem crescido significativamente nos últimos tempos, em especial a automação de testes que está cada vez mais em evidência devido à agilidade e qualidade que pode trazer para o desenvolvimento de sistemas de software. Os testes automatizados podem ser eficazes e de baixo custo de implementação e manutenção e funcionam como um bom mecanismo para controlar a qualidade de sistemas. No entanto, pouco conhecimento sobre a área e erros comuns na escrita e manutenção dos testes podem trazer dificuldades adicionais aos projetos de software. Testes automatizados de baixa qualidade não contribuem efetivamente com o controle de qualidade dos sistemas e ainda demandam muito tempo do desenvolvimento. Para evitar esses problemas, esta dissertação apresenta de forma crítica e sistemática as principais práticas, padrões e técnicas para guiar o processo da criação, manutenção e gerenciamento dos casos de testes automatizados. Inicialmente, são feitas comparações entre a automação de testes e outras práticas de controle e garantia de qualidade. Em seguida, são apresentados os problemas e soluções mais comuns durante a automação de testes, tais como questões relacionadas a tipos específicos de algoritmos, sistemas com persistência de dados, testes de interfaces de usuário e técnicas de desenvolvimento de software com testes automatizados. Para finalizar, a dissertação traz uma reflexão sobre o gerenciamento e a abordagem da automação de testes para tornar o processo mais produtivo e eficaz. / The quality of software systems is a concern of every good project and much has been studied to improve the quality of the final product and process development. Software Testing is an increasing area, especially test automation, which is in evidence due to the speed and quality that it may bring to the development of software systems. Automated tests can be effective and can have a low cost of implementation and maintenance to ensure and control the quality of the systems. However, little knowledge about the area and common errors in writing and maintaining tests may bring additional difficulties to the software projects. Low quality automated tests do not contribute effectively to quality control systems and still take a long time of development. To avoid these problems, we present critically and systematically the core practices, standards and techniques to guide the process of creation, maintenance and management of automated test cases. Initially, comparisons are made between the test automation, other control practices, and quality assurance. Next, we present the most common problems and solutions for the automation of tests, such as issues related to specific types of algorithms, systems with data persistence, testing user interfaces and techniques for software development with automated tests. Finally, this essay reflects on the management and approach to test automation to make the process more productive and effective.
4

Automação de testes para aplicações móveis como serviço Automated Mobile Testing as a service AM-TaaS

Rojas, Isabel Karina Villanes 12 September 2016 (has links)
Submitted by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-12-15T18:14:06Z No. of bitstreams: 1 Dissertação - Isabel K. V. Rojas.pdf: 4369495 bytes, checksum: 92fd0a46d83a7bace55dd126266a19c4 (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-12-15T18:14:22Z (GMT) No. of bitstreams: 1 Dissertação - Isabel K. V. Rojas.pdf: 4369495 bytes, checksum: 92fd0a46d83a7bace55dd126266a19c4 (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-12-15T18:14:38Z (GMT) No. of bitstreams: 1 Dissertação - Isabel K. V. Rojas.pdf: 4369495 bytes, checksum: 92fd0a46d83a7bace55dd126266a19c4 (MD5) / Made available in DSpace on 2016-12-15T18:14:38Z (GMT). No. of bitstreams: 1 Dissertação - Isabel K. V. Rojas.pdf: 4369495 bytes, checksum: 92fd0a46d83a7bace55dd126266a19c4 (MD5) Previous issue date: 2016-09-12 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Due high popularization of cloud services and the use of a wide range of mobile devices with different environments and platforms, a new model to offer software test service emerged, called Testing as a Service (TaaS). It uses cloud infrastructure to provide on-demand testing services on cloud for end users at any time. Nowadays there are many studies about different services about TaaS. Based on this scenario, we propose a framework, called Automated Mobile Testing as a Service (AM-TaaS), which offers automated test for mobile applications based, preliminary, on App Quality Alliance (AQuA)’s test criteria. This research evaluated the proposed framework through two empirical studies. Firstly, a proof of concept regarding the feasibility of the proposed framework and a second study in a controlled environment to evaluate the proposed framework when compared to another local environment for testing in mobile applications. The experimental results of both studies indicate that the test service is feasible using cloud resources. The running time of the test process in AM-TaaS was less than a Local Environment Test usually used by developers or testers. In addition, a positive attitude of testers was perceived regarding the use of AM-TaaS.Due high popularization of cloud services and the use of a wide range of mobile devices with different environments and platforms, a new model to offer software test service emerged, called Testing as a Service (TaaS). It uses cloud infrastructure to provide on-demand testing services on cloud for end users at any time. Nowadays there are many studies about different services about TaaS. Based on this scenario, we propose a framework, called Automated Mobile Testing as a Service (AM-TaaS), which offers automated test for mobile applications based, preliminary, on App Quality Alliance (AQuA)’s test criteria. This research evaluated the proposed framework through two empirical studies. Firstly, a proof of concept regarding the feasibility of the proposed framework and a second study in a controlled environment to evaluate the proposed framework when compared to another local environment for testing in mobile applications. The experimental results of both studies indicate that the test service is feasible using cloud resources. The running time of the test process in AM-TaaS was less than a Local Environment Test usually used by developers or testers. In addition, a positive attitude of testers was perceived regarding the use of AM-TaaS. / Devido à alta popularização de serviços em nuvem e o uso de uma ampla variedade de dispositivos móveis com diferentes ambientes e plataformas, um novo modelo para oferecer serviço de teste de software surgiu. Chamado de Teste como Serviço (do inglês Testing as a Service – TaaS), o qual usa a infraestrutura da nuvem para fornecer serviços de teste sob demanda para usuários finais a qualquer momento. Muitos estudos apresentam os servidos oferecidos por TaaS e suas vantagens. Com base neste cenário, este trabalho propõe um arcabouço, chamado “Automated Mobile Testing as a Service” identificado com as siglas “AM-TaaS” (Automação de Testes para Aplicações Móveis como Serviço), que oferece testes automatizados para aplicações móveis baseados em critérios de teste. Os critérios de teste usados preliminarmente para esta pesquisa foram os critérios publicados pela App Quality Alliance (AQuA). Esta pesquisa avaliou o arcabouço proposto por meio de dois estudos experimentais. Um primeiro, uma prova de conceito sobre a viabilidade do arcabouço proposto e um segundo estudo em ambiente controlado para avalição do arcabouço proposto em comparação a um outro ambiente local de teste de aplicações móveis. Os resultados de ambos os estudos indicaram que é possível e viável o serviço de teste utilizando recursos na nuvem. O tempo de execução de todo o processo de teste no AM-TaaS foi inferior ao uso do Ambiente de Teste Local usualmente utilizada pelos desenvolvedores ou testadores. Além disso, uma atitude positiva foi percebida por parte dos testadores enquanto ao uso desse modelo de serviço de teste.
5

Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web / Rehearsal: A framework for automated testing of web service choreographies

Besson, Felipe Meneses 14 September 2012 (has links)
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.
6

MDEM: um ambiente para avaliação do consumo de energia em multidispositivos baseado na web

CARVALHO, Sidartha Azevedo Lobo de 26 February 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-04-05T15:06:42Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Sidartha Carvalho Dissertacao de Mestrado.pdf: 2847376 bytes, checksum: e22fe197fc67ebb8e11ceb85baa66bc8 (MD5) / Made available in DSpace on 2016-04-05T15:06:42Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Sidartha Carvalho Dissertacao de Mestrado.pdf: 2847376 bytes, checksum: e22fe197fc67ebb8e11ceb85baa66bc8 (MD5) Previous issue date: 2015-02-26 / FACEPE / Diante do crescimento das vendas de smartphones, em específico com o sistema operacional Android, em suas variadas versões e diversidade de aparelhos, um problema chamado de fragmentação foi destacado. Com o incremento de dispositivos multinúcleos e multiprocessadores, crescem as restrições na potência e ocorrência de superaquecimento. Alguns trabalhos consultados se especializam em resolver o problema da fragmentação, porém não se preocupam com dados energéticos, enquanto outros somente relatam técnicas que permitem a diminuição no consumo energético, mas nenhum possibilita a integração de testes multidispositivos, com o intuito de solucionar o problema da fragmentação, com foco energético. Este trabalho oferece a modelagem e implementação de um ambiente de medição que auxilia na avaliação do consumo energético de dispositivos com o sistema operacional Android. O ambiente proposto permite que seja feita uma análise energética de dispositivos em diferentes frequências no processador e redes de dados de forma simultânea e com manipulação pela Web. Uma infraestrutura genérica de medição, a qual permite a coleta de tensão e corrente de dispositivos alimentados por bateria foi criada juntamente com um canal que permite a comunicação com um computador para análise dos dados. No tangente ao software, foi construída uma plataforma Web para manipulação de componentes do dispositivo e replicação de testes de forma automatizada. Para testar o uso do ambiente proposto, foram executados oito testes envolvendo Navegação Web, Streaming de Vídeo e Carga de Processamento nos smartphones disponíveis. Os resultados dos testes são apresentados e discutidos em detalhe. / Recently we can observe a growth in smartphone sales, in particular those running Android operating system. In several versions and devices, a problem known as fragmentation was featured. Along with the increase of multi-core and multi-processor devices, growing restrictions on power and overheating were highlighted. Some studies focus on solving the fragmentation problem and do not care about energy analysis, while other reports only techniques which allow a reduction in energy consumption, but none enables the integration of multi-devices tests in order to solve the problem of fragmentation with energy focus. This study provides the modeling and implementation of a measurement environment that helps the evaluation of the energy consumption of devices with the Android operating system. The proposed environment makes possible an analysis of the energy in devices at different processor frequencies and data networks on multiple devices simultaneously with Web access. A generic and cheap infrastructure measurement, which allows the collection of voltage and current of battery-powered devices and a channel that allows communication with a computer for data analysis were built. In regard to the software, a Web platform for manipulation of device peripherals and automated tests replication was constructed. In order to test the use of the proposed environment, eight tests were performed covering Web Browsing, Video Streaming and CPU load on the available smartphones, and then the results were explained and discussed.
7

SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis / SCoTUAM: an approach for components selecting for unit testing in Mobile Applications

Lima, Josias Gomes, 92993822411 31 August 2018 (has links)
Submitted by Josias Lima (josias@icomp.ufam.edu.br) on 2018-10-01T22:10:08Z No. of bitstreams: 5 license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) dissertação_josias-vfinal.pdf: 2426702 bytes, checksum: 608ad25d6314e5cbb942757762543ca1 (MD5) 313 ATA de Defesa - Josias Gomes Lima (Assinada).pdf: 621386 bytes, checksum: 7ecfd9469b78fb1425568cd0a2e5b066 (MD5) 313 Folha de Aprovação - Josias Lima (Assinada).pdf: 483409 bytes, checksum: 97c624af46d2aef955b7f2f2930fd1ad (MD5) CartaEncaminhamentoAutodepósito_Josias.pdf: 120108 bytes, checksum: fd11c4a58dfbac511b1e7e65ed95b59a (MD5) / Approved for entry into archive by Secretaria PPGI (secretariappgi@icomp.ufam.edu.br) on 2018-10-01T22:11:19Z (GMT) No. of bitstreams: 5 license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) dissertação_josias-vfinal.pdf: 2426702 bytes, checksum: 608ad25d6314e5cbb942757762543ca1 (MD5) 313 ATA de Defesa - Josias Gomes Lima (Assinada).pdf: 621386 bytes, checksum: 7ecfd9469b78fb1425568cd0a2e5b066 (MD5) 313 Folha de Aprovação - Josias Lima (Assinada).pdf: 483409 bytes, checksum: 97c624af46d2aef955b7f2f2930fd1ad (MD5) CartaEncaminhamentoAutodepósito_Josias.pdf: 120108 bytes, checksum: fd11c4a58dfbac511b1e7e65ed95b59a (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2018-10-02T12:58:51Z (GMT) No. of bitstreams: 5 license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) dissertação_josias-vfinal.pdf: 2426702 bytes, checksum: 608ad25d6314e5cbb942757762543ca1 (MD5) 313 ATA de Defesa - Josias Gomes Lima (Assinada).pdf: 621386 bytes, checksum: 7ecfd9469b78fb1425568cd0a2e5b066 (MD5) 313 Folha de Aprovação - Josias Lima (Assinada).pdf: 483409 bytes, checksum: 97c624af46d2aef955b7f2f2930fd1ad (MD5) CartaEncaminhamentoAutodepósito_Josias.pdf: 120108 bytes, checksum: fd11c4a58dfbac511b1e7e65ed95b59a (MD5) / Made available in DSpace on 2018-10-02T12:58:51Z (GMT). No. of bitstreams: 5 license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) dissertação_josias-vfinal.pdf: 2426702 bytes, checksum: 608ad25d6314e5cbb942757762543ca1 (MD5) 313 ATA de Defesa - Josias Gomes Lima (Assinada).pdf: 621386 bytes, checksum: 7ecfd9469b78fb1425568cd0a2e5b066 (MD5) 313 Folha de Aprovação - Josias Lima (Assinada).pdf: 483409 bytes, checksum: 97c624af46d2aef955b7f2f2930fd1ad (MD5) CartaEncaminhamentoAutodepósito_Josias.pdf: 120108 bytes, checksum: fd11c4a58dfbac511b1e7e65ed95b59a (MD5) Previous issue date: 2018-08-31 / FAPEAM - Fundação de Amparo à Pesquisa do Estado do Amazonas / The unit test is the level of software testing by which individual parts of the source code are tested. Implementing this type of test brings some benefits such as reducing failures in existing resources, improving code structure, decrease side effects, and reducing fear of code change (Burke and Coyner, 2017). However, the test activity for mobile applications is time-consuming, causing some developers to choose not to create unit tests. Reduced time makes testing automation a necessity. In this context, this work proposes a plugin to assist developers in selecting components that have a greater value in relation to the cost x benefit of the unit test in mobile applications of the Android platform. To measure the value of cost and benefit of components, the following metrics were chosen: halstead effort (HE), future maintenance cost (FMC), code smells (CS), call frequency (CF), risk of failures (RF), market vulnerability (MV) and business value (BV). The proposed plugin has three main processes: (1) Extraction of static metrics; (2) Extraction of dynamic, market and business metrics; and (3) Execution of the genetic algorithm to select the components to be tested. The proposed plugin called SCoTUAM can be added to the development interface of the Android Studio IDE. In this work two empirical studies were carried out. In the first study, the purpose was to analyze the correlation of the metrics, where the result showed the possibility of using the combined FMC, CS, CF, RF, MV and BV metrics in a multiobjective solution. In the second study, the objective was to analyze the plugin’s effectiveness in selecting components with error compared to the manual selection performed by unit test specialists in Android mobile applications, where the result showed the feasibility of the proposal in assisting the developer in the selection of components for the unit test. / O teste de unidade é o nível de teste de software pelo qual partes individuais do código fonte são testadas. A realização deste tipo de teste traz alguns benefícios, tais como redução de falhas em recursos já existentes, melhoram a estrutura do código, diminuem os efeitos colaterais (side effects) e reduzem o medo da alteração do código (Burke e Coyner, 2017). No entanto, a atividade de teste para aplicações móveis tem o tempo reduzido, fazendo com que alguns desenvolvedores optem por não criar os testes de unidade. O tempo reduzido faz com que a automatização dos testes se torne uma necessidade. Nesse contexto, este trabalho propõe um plugin para auxiliar os desenvolvedores na seleção de componentes que tenham um maior valor em relação ao custo x benefício do teste de unidade em aplicações móveis da plataforma Android. Para medir o valor do custo e benefício dos componentes, foram escolhidas as seguintes métricas: halstead effort (HE), custo de manutenção futura (CMF), cheiros de código (CS), frequência de chamadas (FC), risco de falhas (RF), vulnerabilidade de mercado (VM) e valor de negócio VN. O plugin proposto possui três processos principais: (1) Extração de métricas estáticas, (2) Extração de métricas dinâmicas, de mercado e de negócio e (3) Execução do algoritmo genético para seleção dos componentes a serem testados. O plugin chamado SCoTUAM pode ser adicionado à interface de desenvolvimento da IDE Android Studio. Neste trabalho foram realizados dois estudos empíricos para avaliação do plugin proposto. No primeiro estudo, o propósito foi analisar a correlação das métricas, onde o resultado mostrou a possibilidade de usar as métricas CMF, CS, FC, RF, VM e VN combinadas em uma solução multiobjetivo. No segundo estudo, o objetivo foi analisar a eficácia do plugin em selecionar componentes com erro comparado com a seleção manual realizada por especialistas em teste de unidade em aplicações móveis Android, onde o resultado mostrou a viabilidade da proposta em auxiliar o desenvolvedor na seleção de componentes para o teste de unidade.
8

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 14 September 2012 (has links)
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.

Page generated in 0.1165 seconds