Testing Microservice Systems

Practical Course (Bachelor's and Master's)

Background

Microservices architecture has become a cornerstone in contemporary software development, offering agility, scalability, and resilience. This practical course delves into the significance of microservices, exploring their relevance in building complex and scalable systems.

While microservices bring numerous benefits, they also introduce unique challenges in the realm of testing. Unlike monolithic applications, microservices involve a distributed architecture, a variety of tools and frameworks, and complex infrastructure, making testing more challenging. This practical course addresses these challenges and equips students with the skills needed to effectively test microservices.

Project Description

As a culmination of the course, students will undertake a hands-on project where they apply the principles and techniques learned throughout the practical course to test a real open-source microservice application. The project involves designing and executing tests at both the component and integration levels. Students will leverage industry-standard tools and frameworks to implement test automation and create new tools to evaluate the quality of their tests.

Key Objectives

  1. Learn about tools and frameworks relevant for the development and testing of microservice systems like docker, spring boot, RabbitMQ etc.
  2. Design and implement component and integration tests for an existing benchmark microservice system
  3. Design and implement methods for evaluating the test quality

Prerequisites

  • Experience with version control (Git)
  • Good programming skills in Java
  • Some experience in testing monolithic or client-server applications (e.g. through university course, personal project, working student) is recommended
  • Motivation to delve into cutting edge tools and frameworks

Preliminary Meeting

The preliminary Meeting takes place on Thursday, 1. February 3 pm.

Link: https://tum-conf.zoom-x.de/j/68023077306?pwd=dlVYS21vWk1FL1ZJbTU5WkNxM2RWUT09

The slides will be available here afterwards.

Weekly Meeting

In the beginning we will have weekly meetings on Thursday, 2-4 pm.

Those meetings are mandatory for passing the practical course.

Later, we will have weekly meetings within each group that can be scheduled individually.

Registration

  1. Register for this course on the TUM Matching Platform (see the deadlines here).
  2. Submit your application via our own registration form.