Automação de testes e o impacto no desenvolvimento de software
Autor(a) principal: | |
---|---|
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 |