BMF-8433 Unit testing concurrent code | Devoxx

Unit testing concurrent code

Quickie

agTest Agilité, Methodologie & Tests

Paris 241

jeudi at 12:10 - 12:30

While software engineers can disagree on almost any concept of programming best-practice, the necessity of writing unit tests remains undisputed. With the advent of concurrent applications and the ongoing deprecation of the one-thread-per-request model, unit tests do however miss an increasing fraction of programming errors such as race conditions or dead-locking code. But is it even possible to write tests that revise such errors? In the end, a good unit test is characterized by a determined execution path what effectively prevents the use of concurrency within a single test. However, there are tools and programming principles that allow for unit tests of concurrent code. This talk reviews typical mistakes made when concurrent code is tested and introduces Thread Weaver, a test suite for writing valid unit tests that uncover concurrency-related programming errors.

Rafael Winterhalter Rafael Winterhalter

Rafael works as a software engineer at Bouvet in Oslo. He is a proponent of static typing and a JVM enthusiast with particular interests in code instrumentation, functional programming and the Scala language. Rafael blogs about software development and regularly presents at conferences. When coding outside of his work place, Rafael often works on Byte Buddy, a library for simple runtime code generation for the Java virtual machine.