Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/47843
Título: | Testes em aplicações web |
Outro(s) título(s): | Web application testing |
Autor(es): | Brito, Tiago Filipe Andrade |
Orientador(es): | Sousa, António |
Data: | 2016 |
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. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado em Computer Science |
URI: | https://hdl.handle.net/1822/47843 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Tiago Filipe Andrade Brito.pdf | 1,18 MB | Adobe PDF | Ver/Abrir |