Testing for Event-Driven Microservices Based on Consumer-Driven Contracts and State Models

2022 29th Asia-Pacific Software Engineering Conference (APSEC)(2022)

引用 1|浏览9
暂无评分
摘要
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 state model, CCTS records the state transitions of event exchange between services, and automatically retrieves 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. Besides, CCTS checks the validity of contract testing to ensure that the communication through services. To evaluate CCTS, we 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.
更多
查看译文
关键词
Microservices,Microservice Architecture,Event-driven Architecture,Contract Test,State Transitions
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要