11.11.2026
17:15 - 17:45

Impuslvortrag
Processes & Workflows

Stage 2

Lars Kempe
Dolby Germany GmbH

Mutation Testing - wie sichern wir unseren Code vor ungewollten Änderungen beim Kunden

Wir möchten sicherstellen, dass unsere Tests auch Fehler finden, die erst nach der Auslieferung durch den Kunden entstehen könnten.

Wir liefern C-Code über Implementation Development Kits (IDKs) an unsere Kunden, die diesen auf ihre Hardware anpassen. Diese Kits enthalten Tests, mit denen die Implementierung überprüft werden soll.

Wenn unsere Tests einen Fehler übersehen, wird dieser auf Millionen von Geräten ausgeliefert. Genau dieses Risiko möchten wir minimieren.

Dafür verwenden wir Mutation Testing – eine Technik, bei der absichtlich kleine Fehler („Mutanten“) in den Code eingebaut werden. Anschließend wird geprüft, ob unsere Kundentests diese erkennen. Bleibt ein Mutant unentdeckt, weist dies auf eine Schwachstelle in den Tests oder auf ungenutzten Code hin.

So haben wir das umgesetzt: Wir instrumentieren 28.000 Zeilen C-Code mit dem Open-Source-Tool dextool und erzeugen dabei etwa 2.100 Mutanten. Die IDK-Tests werden anschließend automatisiert gegen jeden Mutanten ausgeführt. Sobald ein Test fehlschlägt, gilt der Mutant als „getötet“. Die Ergebnisse fließen in ein Live-Analyse-Dashboard ein. Auf Kundenseite ist dafür keine Instrumentierung des Quellcodes erforderlich.

Dabei haben wir unter anderem Probleme beim Speichermanagement, ungetestete Randfälle, ungenutzte Funktionen und fehlende Testabdeckung identifiziert – Lücken, die mit herkömmlichen Tests nicht sichtbar geworden wären.

Das Ergebnis: mehr Vertrauen in jedes IDK-Release, saubererer Code, bessere Tests und – entscheidend – zufriedene Kunden sowie ein motiviertes QA-Team.

In unserem Vortrag erläutern wir unseren Ablauf und die technische Umsetzung. Außerdem zeigen wir anhand ausgewählter Beispiele, welche Verbesserungen wir daraus abgeleitet und umgesetzt haben.

Lars Kempe, Dolby Germany GmbH

Ich habe meine berufliche Laufbahn mit einer handwerklichen Ausbildung zum Elektriker begonnen.

Nach einigen Jahren absolvierte ich in Dresden eine Weiterbildung zum staatlich geprüften Techniker und zog anschließend nach Nürnberg, um bei Lucent Technologies als Systemtester im Mobilfunkbereich zu starten. Nach meinem Studium (Bachelor of Engineering in Informations- und Kommunikationstechnik) arbeitete ich weiterhin bei Alcatel-Lucent als Tester und Entwickler.

Im Jahr 2011 wechselte ich zur Dolby Germany GmbH und bin dort seitdem als Tester und QA-Lead im Audiobereich tätig.

In meiner Freizeit engagiere ich mich als Tischtennistrainer im Jugendbereich und spiele selbst weiterhin aktiv Tischtennis.