Uppsats

Non Intrusive Production Testing : Preventing Side Effects in Production E2E Microservice Testing

Master-uppsats

Umeå universitet/Institutionen för datavetenskap

Publicerad: 2025

Språk: Engelska

Sammanfattning

In production environments, tests that cause side effects across subsystem boundaries can lead to data pollution and performance degradation. Furthermore, testing microservice architectures presents additional challenges due to the distributed nature of these systems. This thesis presents a framework for identifying and preventing external side effects in end-to-end subsystem testing of microservice architectures. The framework employs static code analysis to construct control flow graphs (CFGs) for each microservice, which are then analyzed to trace potential side effects through service invocation chains. By identifying all communication paths that cross subsystem boundaries, the framework enables developers to implement targeted solutions for preventing these external side effects during testing. The framework was evaluated on a real-world financial system responsible for bookkeeping trades and journals. The results demonstrate that the framework successfully identifies endpoints causing side effects with minimal overapproximation, requiring limited manual verification. The implementation uses a combination of control flow analysis and heuristic filtering to achieve a balance between soundness and overapproximation. The main contributions include: a method for detecting endpoints that cause side effects across subsystem boundaries, strategies for avoiding unwanted side effects when testing in production environments, and an evaluation of the framework's effectiveness in implementing tests that prevent external side effects. We also discuss coding standards and architectural patterns that can improve the framework's accuracy, reduce overapproximation, and what manual work is required. While certain limitations exist, particularly regarding database communication and inconsistent naming conventions, the framework provides a practical solution for creating non-intrusive subsystem tests in microservice architectures, enabling safer and more reliable testing in production environments.

Information

Författare
Bohlin, Oscar
Lärosäte / institution
Umeå universitet/Institutionen för datavetenskap
Publiceringsdatum
2025
Uppsatstyp
Master-uppsats
Språk
Engelska

Utforska vidare

Liknande uppsatser

Uppsatser med liknande ämnen och nyckelord.