Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/47843

TítuloTestes em aplicações web
Outro(s) título(s)Web application testing
Autor(es)Brito, Tiago Filipe Andrade
Orientador(es)Sousa, António
Data2016
Resumo(s)Com a evolução da tecnologia cada vez mais aplicações de software são desenvolvidas para correrem sob um browser de Internet, sendo normalmente designadas de aplicações Web. Como método de assegurar a qualidade destas aplicações, os testes atraem cada vez mais a atenção das comunidades académica e empresarial. Ter uma estratégia de testes bem definida desde o início do projeto, e executar os mesmos durante a fase de desenvolvimento, além de assegurar a qualidade do software, reduz o risco de surgirem problemas imprevistos numa fase posterior do projeto, que aumentam o custo de implementação e consequentemente diminuem a rentabilidade do projeto para a empresa fornecedora, e ainda provocam atrasos que normalmente resultam na insatisfação do cliente. Por outro lado, as constantes evoluções do software, que o mercado altamente competitivo de hoje obriga, aumentam o risco de destruir funcionalidades implementadas anteriormente (chamada Regressão). Por este motivo, é necessária que a estratégia de testes seja não só definida e implementada durante o projeto, mas também após o seu fecho. A repetição dos testes que cobrem todo o software em cada momento de entrega, são um desafio para as organizações, na medida em que o seu custo é elevado, e dado que existe a possibilidade de falha humana. Por todos estes motivos, os responsáveis pela equipa de desenvolvimento Web da Eurotux apoiaram este trabalho de investigação e permitiram que o mesmo fosse aplicado em projetos reais desenvolvidos ao longo dos últimos meses, com o objetivo de ser definida uma estratégia de testes que permitisse tornar o processo de desenvolvimento Web mais robusto, aumentando a qualidade das soluções desenvolvidas. Pretendia-se essencialmente definir uma estratégia de testes automáticos que diminuísse a possibilidade de erro humano na execução dos testes, e que permitisse aumentar a rentabilidade dos projetos gastando menos horas na fase de verificação. Foram assim estudadas várias metodologias, tendo sido os testes funcionais que asseguram a concordância da parte funcional do software face às suas especificações, e os testes de regressão que garantem que o novo código não introduz erros, o foco da presente dissertação. Foram ainda realizados alguns estudos comparativos de ferramentas, tendo sido escolhido o Selenium para definição de testes automáticos em conjunto com a ferramenta Alloy Analyser para avaliação da qualidade da especificação. Após a escolha das ferramentas que mais se adequaram aos objetivos propostos neste estudo, foi desenvolvida uma ferramenta denominadaWebTest que permite a programação automática de testes funcionais e produz relatórios que são enviados por email, permitindo à equipa de desenvolvimento Web acompanhar o nível de qualidade do seu software. A WebTest foi utilizada em projetos reais da empresa, e o feedback por parte da equipa e dos seus responsáveis foi bastante positiva. Com a WebTest foi possível reduzir o tempo gasto com os testes nos projetos e garantir a qualidade da solução apesar das alterações de requisitos e incremento de funcionalidades no software.
With the evolution of technology more and more software applications are designed to run in a Web browser, being commonly known as Web applications. As a method to ensure the quality of these applications, the tests are attracting today more and more attention from both the academic and business communities. Having a well-defined test strategy from the beginning of the project and applying them during the development phase, ensures the quality of the final software by reducing the risk of unforeseen problems at later stages. Such problems translate into increased cost of implementation and reduced profitability of the project to the supplier. It may also postpone the projet delivery which result in customer dissatisfaction. On the other hand, the constant software upgrades, imposed by the highly competitive market of today, increase the risk of destroying previously implemented features (called regression). For this reason, it is required that the testing strategy is not only defined and implemented during the design, but also after each step of development in order to ensure that the development does not breaks already existing functionality. Repeated tests, covering all the software at each delivery, is a challenge to organizations due to its high cost and increased possibility of human error. For all these reasons, the Web development team supervisors at Eurotux supported this research work and allowed the resulting prototype to be applied in real projects, developed over the last few months, thus defining a testing strategy aiming to increase customer satisfaction, profitability of the projects and the motivation of the team itself. Several methodologies were studied to allow automate testing of Web applications. Automated testing ensures that the software is in accordance with all the defined specifications, maintaining the confidence of all stakeholders in the expected software quality throughout its life cycle. Some comparative studies were evaluated, being analysed in detail the methodologies for functional testing and regression testing, Selenium tools for defining automatic testing integrated with the Alloy Analyser tool, in order to evaluate the quality of the formal specification. After such analysis, a prototype tool namedWebTest was developed in order to build and run automated tests. A report containing the generated test results is then sent to the web application development team, to help keeping track of existing faults in software quality. Lastly the prototype was used in several production projects at Eurotux, receiving highly positive reviews from both developers and managers, leveraging the time spent testing software after each consecutive update.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado em Computer Science
URIhttps://hdl.handle.net/1822/47843
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Tiago Filipe Andrade Brito.pdf1,18 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID