Search papers, labs, and topics across Lattice.
This paper advocates for a new "uncertainty-driven" and "system-level" approach to microservice testing, arguing that existing methods fail to adequately capture the inherent uncertainties arising from inter-service interactions, runtime environments, and internal service logic. The authors outline key research challenges in modeling and injecting uncertainties, performing causal inference for fault localization, and analyzing the impact of uncertainties on system quality. They propose an architecture for continuous fuzzing that integrates service virtualization, uncertainty simulation, and adaptive test generation to improve the dependability and resilience of microservice systems.
Current microservice testing overlooks the cascading chaos of real-world uncertainties, demanding a new fuzzing paradigm that embraces the unpredictable nature of distributed systems.
The widespread adoption of microservices has fundamentally transformed how modern software systems are designed, deployed, operated and maintained. However, well-known microservice properties (e.g., dynamic scalability and decentralized control) introduce inherent and multi-dimensional uncertainties. These uncertainties span across inter-service interactions, runtime environments, and internal service logic, which manifest as nondeterministic behaviors, performance fluctuations, and unpredictable fault propagation. Existing approaches do not have sufficient support in capturing such uncertainties and their propagation in industrial microservice systems, and these approaches mostly focus on single-service testing. In this paper, we argue for a novel paradigm: ``uncertainty-driven''and ``system-level''microservice testing. We outline key research challenges, including the modeling and injection of uncertainties and their propagation, causal inference for fault localization, and multi-dimensional analyses and assessment of uncertainties and their impact on system quality. We propose an architecture for continuous uncertainty-driven and system-level microservice fuzzing, which integrates service virtualization, uncertainty simulation, adaptive test generation and optimization\revision{, and illustrate it with an e-commerce example we developed}. Our goal is to inspire the development of scalable and automated system-level testing methods that improve the dependability and resilience of industrial microservice systems, with the explicit consideration of uncertainties and their propagation.