Automação de testes e o impacto no desenvolvimento de software

Detalhes bibliográficos
Autor(a) principal: Lopes, Cátia Sousa
Data de Publicação: 2020
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/10400.19/6719
Resumo: 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.
id RCAP_e345dd59f2110c95c62b67e7c9eb35c0
oai_identifier_str oai:repositorio.ipv.pt:10400.19/6719
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 Automação de testes e o impacto no desenvolvimento de softwareTestes de SoftwareAutomação de TestesTestes ManuaisQualidade de SoftwareFerramentas de automação de testesJenkinsPythonRobot FrameworkDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaNos 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.Sá, Filipe Alexandre Almeida Ningre deRepositório Científico do Instituto Politécnico de ViseuLopes, Cátia Sousa2021-04-09T10:20:47Z2021-03-092020-12-022021-03-09T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.19/6719TID:202692884porinfo: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:RCAAP2023-01-16T15:28:55Zoai:repositorio.ipv.pt:10400.19/6719Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T16:44:34.917025Repositó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 Automação de testes e o impacto no desenvolvimento de software
title Automação de testes e o impacto no desenvolvimento de software
spellingShingle Automação de testes e o impacto no desenvolvimento de software
Lopes, Cátia Sousa
Testes de Software
Automação de Testes
Testes Manuais
Qualidade de Software
Ferramentas de automação de testes
Jenkins
Python
Robot Framework
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Automação de testes e o impacto no desenvolvimento de software
title_full Automação de testes e o impacto no desenvolvimento de software
title_fullStr Automação de testes e o impacto no desenvolvimento de software
title_full_unstemmed Automação de testes e o impacto no desenvolvimento de software
title_sort Automação de testes e o impacto no desenvolvimento de software
author Lopes, Cátia Sousa
author_facet Lopes, Cátia Sousa
author_role author
dc.contributor.none.fl_str_mv Sá, Filipe Alexandre Almeida Ningre de
Repositório Científico do Instituto Politécnico de Viseu
dc.contributor.author.fl_str_mv Lopes, Cátia Sousa
dc.subject.por.fl_str_mv Testes de Software
Automação de Testes
Testes Manuais
Qualidade de Software
Ferramentas de automação de testes
Jenkins
Python
Robot Framework
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Testes de Software
Automação de Testes
Testes Manuais
Qualidade de Software
Ferramentas de automação de testes
Jenkins
Python
Robot Framework
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description 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.
publishDate 2020
dc.date.none.fl_str_mv 2020-12-02
2021-04-09T10:20:47Z
2021-03-09
2021-03-09T00: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/10400.19/6719
TID:202692884
url http://hdl.handle.net/10400.19/6719
identifier_str_mv TID:202692884
dc.language.iso.fl_str_mv por
language por
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
_version_ 1799130916673552384