Towards a Fault Taxonomy for Microservices-Based Applications - Silva, Francisco; Lelli, Valéria; Santos, Ismayle; Andrade, Rossana (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 2022: Anais do XXXVI Simpósio Brasileiro de Engenharia de Software, 2022)
Microservice-based applications support an architectural style that allows the organization of distributed applications as a set of possibly stateless services to achieve scalability and maintainability. They have been widely used in the industry, however, this architecture can bring challenges regarding Fault Tolerance, Fault Prevention, Fault Detection and Fault Handling activities. In the context of microservices, fault injection is more complex since those applications contain mostly asynchronous process. Therefore, a fault injection becomes even more expensive. Several studies in the literature have been handling the complexity of testing microservice-based applications such as investigating the root causes of microservices failures or providing frameworks that allow users injecting faults related to microservices. In this direction, a fault catalog can be beneficial for performing software fault activities. In this work, we conducted a Multivocal Literature Review to catalog faults related to microservice-based applications to better support their development and testing. Then, we defined a taxonomy with 117 faults classified into 6 Non-Functional Requirements and related to 11 characteristics inherent to the microservices architecture.