Name: | Description: | Size: | Format: | |
---|---|---|---|---|
5.53 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Nos dias de hoje, são imensas as tarefas nas quais o software (SW) desempenha um
papel crítico, o que, num futuro próximo, continuará a ser verificado, dada a exponencial
utilização das Tecnologias de informação (TI).
A capacidade de fidelização do utilizador define-se pela excelência do SW. Quanto
menos falhas este tiver, maior será a probabilidade de conseguir fidelizar o utilizador.
Para que essa situação seja possível, os testes são cruciais na etapa do desenvolvimento,
uma vez que estes têm como principal propósito a identificação de erros.
Atualmente, empresas ou pessoas individuais que desenvolvem SW já se deparam com
um problema: o aumento da complexidade decorrente da adição de funcionalidades de forma
exponencial. Tal, conduz a uma impossibilidade de testar todo o SW, de cada vez que é objeto
de alguma alteração. Estas alterações podem provocar falhas em funcionalidades que já
existiam há algum tempo e estavam estabelecidas como funcionalidades estáveis. Por esse
motivo, eram apenas testadas as novas funcionalidades e alterações. Para tentar resolver este
problema, uma boa abordagem seria apostar na implementação de testes automatizados, sem
esquecer também a importância e necessidades dos testes manuais.
Os testes automatizados, podem ser implementados com o objetivo de validar a
aplicação, como um todo. Assim sendo, terão de ser definidos os testes core, de modo a
detetar falhas quando existe alguma alteração ao SW. Desta forma, garante-se que uma
funcionalidade, que não foi alterada continua a ter o comportamento desejável.
Nos primórdios do desenvolvimento da automação de testes colocavam-se duas
questões: “Como vamos executar estes testes?”; “É necessário o fator humano para realizar
esta operação?”. Ora, tais questões têm já solução. Atualmente, não é necessário que um
humano execute os testes automatizados que foram desenvolvidos, sendo que, a palavra
“automatizados”, por si só, significa que, tais testes são executados sem intervenção humana.
Este trabalho está inserido no âmbito de projeto final referente ao mestrado em
Sistemas e Tecnologias de Informação para as Organizações, e tem como objetivo realizar
uma análise sobre os testes automatizados e manuais, e os benefícios da automação no
desenvolvimento de SW, permitindo selecionar quais as ferramentas que melhor se adequam
num caso real. Foram validadas várias ferramentas, de modo a investigar se são efetivas para
encontrar erros. O projeto foi desenvolvido na empresa SIBS, enquadrado na equipa do IPS -
Instant Payments Solution (serviço de transferências instantâneas).
Em termos práticos, este projeto está focado na implementação de uma bateria de
testes automatizados de modo a encontrar falhas no SW. Assim é possível validar e corrigir os
erros existentes no software, antes deste ser enviado para as equipas de validação. Para além
disso, também vão ser avaliadas as melhores ferramentas a utilizar, para a realização dos
testes automatizados, uma vez que cada projeto, contém necessidades diferenciadas, e nem
todas as ferramentas se enquadram. Em suma, neste estudo foi desenvolvido um projeto de
automação num âmbito real escolhendo a melhor ferramenta de automação das selecionadas
Katalon Studio, Robot Framework, Protractor, Watir, tendo em conta as necessidades da
empresa.
ABSTRACT: Nowadays, there are many tasks in which software (SW) plays a critical role, and this will continue to be the case in the future, given the exponential use of Information Technology (IT). SW's excellence defines the user's loyalty. The fewer flaws the SW has, the greater the probability of achieving user loyalty. To make a good SW's testing is crucial at the development stage since its primary purpose is to identify errors. Currently, companies or individuals developing SW are already facing a problem: the increased complexity resulting from adding features exponentially. This leads to an impossibility to test the entire SW, every time it is subject to some change. These changes can cause failures in elements that already existed some time ago and were established as stable features. For this reason, only new features and changes were tested, to try to solve this problem, a right approach would be to invest in the implementation of automated tests, without also forgetting the importance and needs of manual tests. These tests can be implemented to validate the application as a whole. Therefore, core tests will have to be defined to detect failures when there is some change to the SW. In this way, it is guaranteed that a feature, which has not been changed, continues to behave as it should. In the early days of the development of test automation, two questions were asked: "How are we going to perform these tests?"; "Is the human factor needed to perform this operation? Now, these questions have already been solved. Nowadays, a human does not need to perform the automated tests that have been developed, and the word "automated" in itself means that such tests are performed without human intervention. This work is inserted in the final project scope of the Master in Information Systems and Technologies for Organizations. It aims to perform an analysis on automated and manual tests, and the benefits of automation in SW development, allowing to select which tools are best suited in a real case. Several tools have been validated to investigate if they are useful in finding errors. The project was developed at the SIBS company, as part of the IPS - Instant Payments Solution team. In practical terms, this project is focused on the implementation of a battery of automated tests to find SW failures. This way, it is possible to validate and correct existing errors in the software before it is sent to the validation teams. Also, the best tools to be used to perform the automated tests will be evaluated, since each project contains different needs, and not all tools fit together. In short, in this study, an automation project was developed in a real scope choosing the best automation tool (Katalon Studio, Robot Framework, Protractor, Watir) and taking into account the needs of the company.
ABSTRACT: Nowadays, there are many tasks in which software (SW) plays a critical role, and this will continue to be the case in the future, given the exponential use of Information Technology (IT). SW's excellence defines the user's loyalty. The fewer flaws the SW has, the greater the probability of achieving user loyalty. To make a good SW's testing is crucial at the development stage since its primary purpose is to identify errors. Currently, companies or individuals developing SW are already facing a problem: the increased complexity resulting from adding features exponentially. This leads to an impossibility to test the entire SW, every time it is subject to some change. These changes can cause failures in elements that already existed some time ago and were established as stable features. For this reason, only new features and changes were tested, to try to solve this problem, a right approach would be to invest in the implementation of automated tests, without also forgetting the importance and needs of manual tests. These tests can be implemented to validate the application as a whole. Therefore, core tests will have to be defined to detect failures when there is some change to the SW. In this way, it is guaranteed that a feature, which has not been changed, continues to behave as it should. In the early days of the development of test automation, two questions were asked: "How are we going to perform these tests?"; "Is the human factor needed to perform this operation? Now, these questions have already been solved. Nowadays, a human does not need to perform the automated tests that have been developed, and the word "automated" in itself means that such tests are performed without human intervention. This work is inserted in the final project scope of the Master in Information Systems and Technologies for Organizations. It aims to perform an analysis on automated and manual tests, and the benefits of automation in SW development, allowing to select which tools are best suited in a real case. Several tools have been validated to investigate if they are useful in finding errors. The project was developed at the SIBS company, as part of the IPS - Instant Payments Solution team. In practical terms, this project is focused on the implementation of a battery of automated tests to find SW failures. This way, it is possible to validate and correct existing errors in the software before it is sent to the validation teams. Also, the best tools to be used to perform the automated tests will be evaluated, since each project contains different needs, and not all tools fit together. In short, in this study, an automation project was developed in a real scope choosing the best automation tool (Katalon Studio, Robot Framework, Protractor, Watir) and taking into account the needs of the company.
Description
Keywords
Testes de Software Automação de Testes Testes Manuais Qualidade de Software Ferramentas de automação de testes Jenkins Python Robot Framework