Muss ich heute wirklich schon wieder alles testen? Fehler trotz langlaufender Test-Suiten schnell und zuverlässig aufdecken

Posted on 12/05/2019 by Dr. Elmar Juergens

Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: ESE Kongress 2019
  • Datum: Donnerstag, 05. Dezember 2019, 16:45 - 17:25 Uhr
  • Ort: Congress Center Stadthalle Sindelfingen

Zusammenfassung

Umfangreiche Tests geben uns das nötige Vertrauen in unsere Code-Änderungen und das gute Gefühl, nichts kaputtgemacht zu haben. Doch je mehr Testfälle wir haben, desto mehr Zeit kostet es, diese auszuführen. Insbesondere wenn das Test-Setup aufwändig ist (z.B. Hardware-in-the-Loop enthält) und der Automatisierungsgrad niedrig, ist die regelmäßige Ausführung aller Tests in der täglichen Arbeit nicht mehr praktikabel. Die Ausführung der gesamten Testsuite kann dann nur noch wöchentlich oder noch seltener erfolgen. Dadurch werden viele Fehler aber erst spät gefunden, was die Ursachenforschung erschwert und hohe Folgekosten verursacht.

Die Test-Impact-Analyse zeigt auf, wie wir dieses Problem adressieren können. Zunächst reduziert die Test-Impact-Analyse die Testfälle auf diejenigen, die Code durchlaufen, der sich seit dem letzten Testlauf geändert hat – denn nur dort sind neue Fehler zu erwarten. Durch eine anschließende intelligente Sortierung werden die verbleibenden Testfälle zusätzlich in eine Reihenfolge gebracht, bei der neue Fehler möglichst schnell erkannt werden.

Wir zeigen anhand konkreter Erfahrungen aus Forschung und Praxis, wie das Verfahren funktioniert und was es leistet. Grundlage des Vortrags sind Forschungsarbeiten, die im Rahmen von Promotionen bei uns in der Forschungsgruppe entstehen. Hierfür haben wir Test-Impact-Analysen sowohl auf rund 400 Open-Source-Systemen als auch in einem Hardware-In-The-Loop-Teststand in Kooperation mit BMW evaluiert. In unseren Studien konnten wir so in nur 2% der Testlaufzeit 90% aller neuen Fehler finden. Zusätzlich deckt die Test-Impact-Analyse Fehler deutlich früher auf als vergleichbare Verfahren.

Die Test-Impact-Analyse als Methode ist an kein bestimmtes Werkzeug, keine Programmiersprache oder Entwicklungsumgebung gebunden. Damit bietet der Vortrag Erkenntnisse, die jeder Teilnehmer in seinem eigenen Projekt anwenden kann.

Folien

Click to activate comments for this page.

Please note that comments use the third-party integration Disqus, which shares data with both Twitter and Facebook and has a separate privacy policy that you have to agree to before activating comments on this page.