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 | Size | Format | |
---|---|---|---|---|
PRESTO sistema para provisão automática de ambientes de testes de aceitação.pdf | 2.42 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.