Modeling Event Driven Systems for Integration Testing

Service-based architectures, like microservices or Service Oriented Architecture (SOA), are commonly built with synchronous request-response protocols or asynchronous event-driven communication. The advantage of event-driven communication is, that systems can be decoupled and outages of one system do not affect the availability of others. However, the approach also hides the actual communication paths. Developers have to investigate a lot of services, piecing together snippets of second-hand information, to recreate the actual paths taken. This makes it hard to test and debug such systems. This thesis aims to provide an approach that is service-centric and allows the construction of the interaction model of the complete system by using information provided by tests on the service level. This information is then used to retrace the flow of events and detect uncovered paths within the flow by checking that model for completeness. First, systems test specifications are used to generate the partial model for each service. Then a model processor is used to combine the partial models into an interaction graph which represents the complete service landscape. This interaction graph can finally be queried for useful information about the system, to understand the event flow and determine which parts are already covered by tests to drive team synchronization.

Project information



Thesis for degree:



Md. Monis Khan