Testing for Event-Driven Microservices Based on Consumer-Driven Contracts and State Models
Microservice architecture has become increasingly popular due to its good maintainability, scalability, fault tolerance, and extensibility. In addition to the REST style of microservices that has been widely used, the event-driven style of microservices is also gaining more and more attention. However, the current software testing methods have little support for event-driven architecture, and the technical complexity of event-driven microservices has further increased the difficulty of testing. In this regard, we propose a software testing tool for event-driven microservice systems called CCTS (Composite Contract Testing Service). By combining consumer-driven contract testing and the event-driven model, CCTS records the state transitions of event exchange between services through a state machine, and can automatically retrieve the possible transition paths among services. Simultaneously, CCTS analyzes the event logs from the target system to determine whether the event logs conformed with the specified transitions of states and retrieved paths in the test cases. Besides, CCTS checks the validity of contract testing to ensure that the communication through services. To evaluate CCTS, we also conducted functional testing for CCTS using a real-world microservice system. The results show that CCTS can effectively detect potential defects in the event-driven microservice system, such as isolated states, cyclic states, incomplete contract tests, and unqualified event sequences.
Fri 9 DecDisplayed time zone: Osaka, Sapporo, Tokyo change
09:20 - 10:30 | Microservices and WebERA - Early Research Achievements / Technical Track at Room2 Chair(s): Norihiro Yoshida Ritsumeikan University | ||
09:20 15mPaper | Testing for Event-Driven Microservices Based on Consumer-Driven Contracts and State Models ERA - Early Research Achievements Chu-Fei Wu National Taiwan Ocean University, Shang-Pin Ma National Taiwan Ocean University, An-Chi Shau National Taiwan Ocean University, Hang-Wei Yeh National Taiwan Ocean University | ||
09:35 15mPaper | Analyzing and Monitoring Kubernetes Microservices based on Distributed Tracing and Service Mesh ERA - Early Research Achievements Yu-Te Wang National Taiwan Ocean University, Shang-Pin Ma National Taiwan Ocean University, Yue-Jun Lai National Taiwan Ocean University, Yan-Cih Liang National Taiwan Ocean University | ||
09:50 15mPaper | Managing Complexity in Microservices Architecture: A Nested MultiTree Domain-Driven Approach ERA - Early Research Achievements Duc Minh Le Swinburne Vietnam, FPT University | ||
10:05 20mPaper | UTCache: Updatable Transactional Cache For Database-Driven Applications Technical Track |