Test driven development of concurrent programs in Kotlin at KKon 2022

May 18, 2022

I will talk about “Korrekte nebenläufige Anwendungen mit Koroutinen und TDD” (“Correct concurrent applications with coroutines and TDD”) at the KKon 2022.

Concurrent and asynchronous applications can be written in Kotlin in a precise and structured way with coroutines. Unfortunately, concurrency often increases the complexity and it is difficult to create bug-free and maintainable programs. Test-driven development (TDD) is a solution.

This talk is an introduction to coroutines and it is shown how concurrent and asynchronous applications can be correctly implemented with TDD.

To do this, the author introduces coroutines and the associated library functions step by step (or rather: test by test). You will get to know numerous examples of exception handling, communication via shared memory (e.g. channels), flows, interfaces for reactive programming and UIs (Android and Swing).

Experience with coroutines and/or test frameworks is an advantage for your participation in this presentation, but not mandatory. kotest is used as a test framework.

  • how coroutines work and how to use them
  • how to implement test-driven concurrent and asynchronous applications
  • advanced concurrency topics