Fuzzing Microservices In Industry: Experience of Applying EvoMaster at Meituan
With several microservice architectures comprising of thousands of web services in total, used to serve 630 million customers, companies like Meituan face several challenges in the verification and validation of their software. The use of automated techniques, especially advanced AI-based ones, could bring significant benefits here. EvoMaster is an open-source test case generation tool for web services, that exploits the latest advances in the field of Search-Based Software Testing research. This paper reports on our experience of integrating the EvoMaster tool in the testing processes at Meituan. Experiments were carried out to evaluate its performance in detail on two industrial web services which are parts of a large e-commerce microservices. A questionnaire and interviews were carried out with the engineers and managers at Meituan, to better understand the applicability and usability of fuzzing tools like EvoMaster in real industrial settings. On the one hand, the results of these analyses clearly show that existing tools like EvoMaster are already of benefits for practitioners in industry, e.g., EvoMaster detected 21 real faults and achieved an average of 71.3 coverage for code implementing business logic, on two industrial APIs. On the other hand, there are still many critical challenges that the research community has to investigate.
READ FULL TEXT