Testes em aplicações web

Detalhes bibliográficos
Autor(a) principal: Brito, Tiago Filipe Andrade
Data de Publicação: 2016
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/47843
Resumo: Dissertação de mestrado em Computer Science
id RCAP_26b4dbf627ba5abb20caf174ff39e8fa
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/47843
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Testes em aplicações webWeb application testingEngenharia e Tecnologia::Outras Engenharias e TecnologiasDissertação de mestrado em Computer ScienceCom 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.Sousa, AntónioUniversidade do MinhoBrito, Tiago Filipe Andrade20162016-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/47843por201617064info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-05-11T06:00:39Zoai:repositorium.sdum.uminho.pt:1822/47843Portal AgregadorONGhttps://www.rcaap.pt/oai/openairemluisa.alvim@gmail.comopendoar:71602024-05-11T06:00:39Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Testes em aplicações web
Web application testing
title Testes em aplicações web
spellingShingle Testes em aplicações web
Brito, Tiago Filipe Andrade
Engenharia e Tecnologia::Outras Engenharias e Tecnologias
title_short Testes em aplicações web
title_full Testes em aplicações web
title_fullStr Testes em aplicações web
title_full_unstemmed Testes em aplicações web
title_sort Testes em aplicações web
author Brito, Tiago Filipe Andrade
author_facet Brito, Tiago Filipe Andrade
author_role author
dc.contributor.none.fl_str_mv Sousa, António
Universidade do Minho
dc.contributor.author.fl_str_mv Brito, Tiago Filipe Andrade
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Outras Engenharias e Tecnologias
topic Engenharia e Tecnologia::Outras Engenharias e Tecnologias
description Dissertação de mestrado em Computer Science
publishDate 2016
dc.date.none.fl_str_mv 2016
2016-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/47843
url http://hdl.handle.net/1822/47843
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 201617064
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv mluisa.alvim@gmail.com
_version_ 1817544818829557760