| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 2.96 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
A fase de teste é uma das etapas mais demoradas no ciclo de desenvolvimento de software [14].
A execução repetida de testes, a manutenção de scripts de teste e a comparação dos resultados
esperados com os resultados reais são tarefas comuns, mas essenciais para garantir a qualidade
do software, consumindo rotineiramente grandes quantidades de tempo a equipa de testes. Essa
demanda constante de tempo e recursos pode limitar o processo de desenvolvimento, aumentando
o tempo de entrega e, em alguns casos, o custo total do projeto. Para mitigar esses desafios, a
automatização e as metodologias ágeis de desenvolvimento de software oferecem uma série de
vantagens, como feedback imediato, maior eficácia no desenvolvimento, menos erros e defeitos,
colaboração contínua e melhor qualidade de código [18, 57]. Além disso, a automatização permite que os testes sejam executados com mais frequência e precisão, garantindo que as mudanças
no código são verificadas imediatamente, contribuindo para a deteção precoce de erros. A fase
de testes é crucial para todas as empresas de desenvolvimento de software, pois assegura que o
produto final atenda às expectativas de qualidade e funcionalidade, reduzindo o risco de falhas
pós-lançamento, que podem provocar altos custos de manutenção e danos à reputação. Contudo,
é importante notar que a automatização de testes, por si só, não é suficiente para garantir a qualidade do software; ela deve ser integrada num domínio mais amplo de Quality Assurance (QA), ou
Garantia de Qualidade, que abrange práticas e processos para assegurar a excelência do produto
final [28]. Essa integração é vital para que a automatização contribua efetivamente para a melhoria contínua dos processos de desenvolvimento. Este trabalho de projeto apresenta um projeto
realizado em parceria com uma consultoria de grande escala, cujo objetivo foi automatizar testes
de software utilizando a framework SpecFlow, uma ferramenta que suporta a metodologia ágil de
desenvolvimento Behavior-Driven Development (BDD).
The testing phase is one of the most time-consuming stages in the software development cycle [14]. The repeated execution of tests, the maintenance of test scripts, and the comparison of expected results with actual outcomes are common but essential tasks to ensure software quality. These tasks routinely consume large amounts of time for the software testing team. This constant demand for time and resources can often become a limiting factor in the development process, increasing delivery time and, in some cases, contributing to the overall project costs. Therefore, automation and agile software development methodologies help facilitate these tasks, as they quickly translate into a series of advantages for all development team members, including immediate feedback, increased development efficiency, fewer errors and defects, continuous collaboration, and improved code quality [18, 57]. Additionally, automation allows tests to be executed more frequently and accurately, ensuring that changes in the code are immediately verified, which contributes to the early detection of errors and minimizes rework.Moreover, the testing phase is crucial for all software development companies, as it ensures that the final product meets quality and functionality expectations, reducing the risk of post-launch failures, which can result in high maintenance costs and damage to reputation. However, it is important to note that when it comes to software quality, test automation alone is not sufficient; it must be integrated into a broader domain of Quality Assurance (QA), which encompasses a variety of practices and processes to ensure the excellence of the final product [28]. This integration is essential for automation to truly contribute to the continuous improvement of development processes. This work presents a project carried out in partnership with a large-scale consulting company, which aimed at automating software testing using the SpecFlow framework, a tool that supports the agile software development methodology known as Behavior-Driven Development (BDD).
The testing phase is one of the most time-consuming stages in the software development cycle [14]. The repeated execution of tests, the maintenance of test scripts, and the comparison of expected results with actual outcomes are common but essential tasks to ensure software quality. These tasks routinely consume large amounts of time for the software testing team. This constant demand for time and resources can often become a limiting factor in the development process, increasing delivery time and, in some cases, contributing to the overall project costs. Therefore, automation and agile software development methodologies help facilitate these tasks, as they quickly translate into a series of advantages for all development team members, including immediate feedback, increased development efficiency, fewer errors and defects, continuous collaboration, and improved code quality [18, 57]. Additionally, automation allows tests to be executed more frequently and accurately, ensuring that changes in the code are immediately verified, which contributes to the early detection of errors and minimizes rework.Moreover, the testing phase is crucial for all software development companies, as it ensures that the final product meets quality and functionality expectations, reducing the risk of post-launch failures, which can result in high maintenance costs and damage to reputation. However, it is important to note that when it comes to software quality, test automation alone is not sufficient; it must be integrated into a broader domain of Quality Assurance (QA), which encompasses a variety of practices and processes to ensure the excellence of the final product [28]. This integration is essential for automation to truly contribute to the continuous improvement of development processes. This work presents a project carried out in partnership with a large-scale consulting company, which aimed at automating software testing using the SpecFlow framework, a tool that supports the agile software development methodology known as Behavior-Driven Development (BDD).
Descrição
Trabalho de projeto de mestrado, Segurança Informática, 2025, Universidade de Lisboa, Faculdade de Ciências
Palavras-chave
Automatização Testes de software Behaviour Driven Development (BDD) SpecFlow Qualidade de software Trabalhos de projeto de mestrado - 2025
