| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 4.37 MB | Adobe PDF |
Orientador(es)
Resumo(s)
Shadow 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.
O 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.
O 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.
Descrição
Palavras-chave
Shadow Testing Replay Traffic Testing Diff Testing Dark Launching Production Testing
