Logo do repositório
 
Publicação

Assegurar a consistência funcional do software através de testes em sombra

datacite.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
datacite.subject.sdg09:Indústria, Inovação e Infraestruturas
dc.contributor.advisorMalheiro, Nuno Filipe Teixeira
dc.contributor.advisorMaia, Inês
dc.contributor.authorPEREIRA, VITOR CARLOS BARBOSA SEMEDO
dc.date.accessioned2026-09-25T09:09:48Z
dc.date.available2026-09-25T09:09:48Z
dc.date.issued2026-07-23
dc.description.abstractShadow testing enables organizations to validate software changes against real-world traffic without impacting users. This dissertation investigates shadow testing as a method for ensuring functional consistency during the migration of a monolithic application to a distributed architecture at Critical TechWorks, a BMW Group Company. A systematic mapping study of 13 academic papers and 15 industry sources identified eight gaps in traditional testing that shadow testing addresses, organized into four categories: data-related gaps (synthetic data mismatch, delayed edge case discovery), environmentrelated gaps (inability to simulate production scale, user exposure in live testing), processrelated gaps (reactive quality assurance, limited feedback loops), and fundamental challenges (the oracle problem, non-deterministic behavior). The review catalogued eight shadow testing tools across four architectural patterns (proxy-based, agent-based, network-capture, and library-based) and identified key limitations including fragmented protocol support, manual noise handling, and challenges with stateful applications. Through action research conducted over three iterative cycles, this work designs and implements a shadow testing tool tailored to CTW’s infrastructure. The tool mirrors production traffic to compare legacy and modernized system responses, enabling proactive detection of behavioral inconsistencies without affecting users. The contributions include: (1) a systematic review synthesizing shadow testing approaches across automotive, financial, and cloud domains; (2) a production-validated shadow testing tool; (3) an evaluation framework with metrics for performance overhead, difference detection rates, and usability; and (4) practical insights for organizations adopting shadow testing in safety-critical environments.eng
dc.description.abstractO shadow testing permite às organizações validar alterações de software contra tráfego real sem impactar os utilizadores. Esta dissertação investiga o shadow testing como método para garantir consistência funcional durante a migração de uma aplicação monolítica para uma arquitetura distribuída na Critical TechWorks, uma empresa do Grupo BMW. Um estudo de mapeamento sistemático de 13 artigos académicos e 15 fontes da indústria identificou oito lacunas nos testes tradicionais que o shadow testing resolve, organizadas em quatro categorias: lacunas relacionadas com dados (incompatibilidade de dados sintéticos, descoberta tardia de casos extremos), lacunas relacionadas com ambiente (incapacidade de simular escala de produção, exposição de utilizadores em testes ao vivo), lacunas relacionadas com processos (garantia de qualidade reativa, ciclos de feedback limitados) e desafios fundamentais (o problema do oráculo, comportamento não determinístico). A revisão catalogou oito ferramentas de shadow testing em quatro padrões arquiteturais (baseadas em proxy, baseadas em agente, captura de rede e baseadas em biblioteca) e identificou limitações principais, incluindo suporte fragmentado a protocolos, tratamento manual de ruído e desafios com aplicações com estado. Através de investigação-ação conduzida em três ciclos iterativos, este trabalho concebe e implementa uma ferramenta de shadow testing adaptada à infraestrutura da CTW. A ferramenta espelha tráfego de produção para comparar respostas dos sistemas legado e modernizado, permitindo a deteção proativa de inconsistências comportamentais sem afetar os utilizadores. As contribuições incluem: (1) uma revisão sistemática sintetizando abordagens de shadow testing nos domínios automóvel, financeiro e cloud; (2) uma ferramenta de shadow testing validada em produção; (3) um framework de avaliação com métricas de sobrecarga de desempenho, taxas de deteção de diferenças e usabilidade; e (4) insights práticos para organizações que adotam shadow testing em ambientes de segurança crítica.por
dc.identifier.tid204362210
dc.identifier.urihttp://hdl.handle.net/10400.22/32900
dc.language.isoeng
dc.rights.uriN/A
dc.subjectShadow Testing
dc.subjectReplay Traffic Testing
dc.subjectDiff Testing
dc.subjectDark Launching
dc.subjectProduction Testing
dc.titleAssegurar a consistência funcional do software através de testes em sombrapor
dc.title.alternativeEnsuring functional consistency in software through shadow testingeng
dc.typemaster thesis
dspace.entity.typePublication
thesis.degree.nameMestrado em Engenharia Informática

Ficheiros

Principais
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
Tese_6454.pdf
Tamanho:
4.37 MB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
4.03 KB
Formato:
Item-specific license agreed upon to submission
Descrição: