Please use this identifier to cite or link to this item: http://hdl.handle.net/10773/18574
Title: PRESTO : sistema para provisão automática de ambientes de testes de aceitação
Other Titles: PRESTO : a system for automatic provisioning of acceptance testing environments
Author: César, João André Santos
Advisor: Oliveira, Ilídio Fernando de Castro
Keywords: Engenharia de computadores e telemática
Visualização da informação
Sistemas de informação
Defense Date: 2015
Publisher: Universidade de Aveiro
Abstract: As abordagens ágeis na engenharia de software valorizam o envolvimento do cliente, através da entrega frequente de valor e a sua participação na aceitação dos incrementos. A validação por parte do cliente inclui a realização de testes manuais sobre novas funcionalidades do produto. Operacionalmente, requer a criação de um ambiente de testes dedicado para o efeito, atualizado sempre que há um incremento a apresentar ao cliente. A criação e a configuração de um ambiente assim implica geralmente a dedicação de uma pessoa para realizar o processo manualmente, o que não é eficiente, nem escalável e é permeável a erros. No âmbito desta dissertação, propomos uma plataforma web para automatizar e agilizar o processo de criação do ambiente a usar nos testes de aceitação pelo cliente. A solução é transparente para a equipa de desenvolvimento e não depende de ações adicionais do programador. O sistema desenvolvido observa o repositório partilhado de gestão de código e é notificado da aceitação de pedidos de integração de incrementos na solução (pull requests). Em função disso, e utilizando especificações de instalação que são incluídas juntamente com o projeto de código (e por isso elas mesmas sujeitas a controlo de versões), o sistema desenvolvido configura containers virtuais com o ambiente necessário e faz a instalação de dependências e da solução. O sistema reconhece a existência de incrementos baseando-se na abordagem GitFlow. O gestor de projeto pode, a qualquer altura, pedir a instanciação do ambiente de teste e indicar ao cliente um endereço para acesso de modo a realizar os testes de aceitação. A utilização de tecnologia de virtualização baseada em containers, e especialmente o Docker, permitiu criar um sistema de provisão de recursos muito eficiente. A solução, implementada e utilizada em contexto de empresa, mostrou ser capaz de substituir a configuração manual, repetitiva e demorada, por um processo automático, sem disrupção das práticas existentes.
Agile approaches to software engineering value customers engagement with frequent delivery of value and their participation in the acceptance of increments. Customer validation includes performing manual testing on new product features. Operationally, this requires setting up a test environment dedicated for this purpose, updated whenever there is an increment to present to the client. The creation and setting up of such environment usually involves the dedication of a person to perform the process manually, which is not efficient, nor scalable, and it is error-prone. In this work, we propose a web platform to automate and streamline the preparation of the environment that will be used by the client for acceptance testing. The solution is seamless to the development team and does not depend on additional actions from the developers. The developed system observes the shared code repository and is notified of the acceptance of application increments integration in the solution (pull requests). Upon this trigger, it uses the deployment specifications included in the code base (and also under version control) to configure virtual containers with the required enviroment, and to install dependencies and the solution. The system recognizes the existence of increments based on the GitFlow approach. The Project Manager may at any time instantiate the test environment and give the customer the web address to perform the acceptance testing. The use of virtualization technology based on "containers" and especially the Docker, enabled a very efficient resource provisioning system. The solution, implemented and used in the context of a company, proved to be able to replace the manual and repetitive configuration, by an automatic process without disruption of the existing practices.
Description: Mestrado em Engenharia de Computadores e Telemática
URI: http://hdl.handle.net/10773/18574
Appears in Collections:UA - Dissertações de mestrado
DETI - Dissertações de mestrado

Files in This Item:
File Description SizeFormat 
PRESTO sistema para provisão automática de ambientes de testes de aceitação.pdf2.42 MBAdobe PDFView/Open


FacebookTwitterLinkedIn
Formato BibTex MendeleyEndnote Degois 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.