Konferenzprogramm

Konferenzprogramm 2021

Thema: Test Suite Optimization

Nach Tracks filtern
Nach Themen filtern
Alle ausklappen
  • Montag
    03.05.
  • Dienstag
    04.05.
, (Montag, 03.Mai 2021)
15:15 - 15:50
Mo 2.5
80/20-Optimierung von Test-Suites: Erfahrungen aus Forschung & Praxis
80/20-Optimierung von Test-Suites: Erfahrungen aus Forschung & Praxis

Wenn ein System wächst, wird auch die Anzahl der automatisierten Tests größer. Wir sehen in der Praxis zunehmend öfter Test-Suiten, die mehrere Stunden bis Tage laufen.

Das erschwert die Untersuchung von Testfehlschlägen und mindert den Wert der Tests.

Wenn die Ausführung aller Tests zu lange dauert, kann man einen Teil der Tests häufiger auszuführen als den Rest. Der Schlüssel ist, diese Teilmenge so zu wählen, dass sie in einem Bruchteil der Zeit einen Großteil der Fehler findet.

Im Vortrag beleuchten wir verschiedene Ansätze hinsichtlich Kosten, Nutzen und Anwendbarkeit.

Wir stellen Erfahrungen aus der Forschung und dem Praxiseinsatz vor.

Zielpublikum: Tester, Entwickler, Testmanager
Vorraussetzungen: Interesse an Software Tests und Optimierung von Test Verfahren.
Schwierigkeitsgrad: Advanced

Extended Abstract:
Mit dem Alter und der Größe eines Softwaresystems steigt typischerweise der Bedarf für ausgiebige und qualitativ hochwertige Software Tests. Zudem werden für mehr Anwendungscode auch mehr Tests benötigt. Damit steigt die Ausführungszeit der Tests.

In der Praxis führt das immer häufiger zu Test Suiten, die Stunden bis Tage brauchen, um einmal zu Laufen. Das bringt eine Reihe von Probleme mit sich. Für die Entwickler bedeutet es, dass sie Feedback für den geänderten Code erst eine Lange Zeit nach dem sie die Änderungen gemacht haben, bekommen. Das macht es deutlich schwieriger, die gefundenen Fehler zu finden und beheben. Außerdem werden moderne verfahren, wie zum Beispiel Continuos Integration dadurch deutlich erschwert. All das mindert den Wert der Tests ausgerechnet für die Systeme, in denen sie absolut essenziell sind, nämlich große komplexe Software Systeme.

Eine naheliegende Lösung für das Problem ist es, einen Teil der Tests häufiger auszuführen, als den Rest. Die Herausforderung dabei ist, diese Teilmenge an Tests so zu bestimmen, dass man möglichst viel Zeit einsparen kann, ohne die Qualität der Test Suite erheblich zu mindern. Um das zu erreichen, gibt es verschiedene Ansätze, von denen jeder Vor- und Nachteile mit sich bringt.

Ein Ansatz ist die Test Suite Minimierung. Dabei werden verschiedene Kriterien, wie per Test Coverage [1] und Ausführungszeit, verwendet, um ein Subset von Tests zu wählen, das in einem Bruchteil der Zeit einen großteil der Fehler finden soll. [2]

Ziel dieses Verfahrens ist es, eine Liste von Tests zu wählen, die jeden Tag, oder öfter ausgeführt werden kann, um schnelleres Feedback zu ermöglichen. Die vollständige Test Suite sollte dennoch in regelmäßigen abständen ausgeführt werden.

Der Zweite Ansatz, den wir betrachten ist die Test-Impact-Analyse. Dabei werden Testfälle aussortiert, die bei ihrer nächsten Ausführung höchstwahrscheinlich keine Fehler finden. Die Annahme, dass ein Testfall beim nächsten Testlauf keinen Fehler findet, begründen wir durch die Änderungen seit dem letzten Testlauf. Ein Test, der keinen Code abdeckt, der seit dem letzten mal geändert wurde, wird voraussichtlich auch keinen Fehler finden. Zudem werden die Testfälle so sortiert, dass innerhalb der kürzest möglichen Zeit eine möglichst hohe Code Coverage erreicht wird. [3]

Im Vortrag gehen wir auf die Vor- und Nachteile der beiden Verfahren ein und präsentieren unsere Erfahrungen aus Forschung und Praxis.

Weiterführende Literatur

[1] F. Dreier, Obtaining Coverage per Test Case, Masterarbeit (2017)

[2] R.Noemmer, Conception and Evaluation of Test Suite Minimization Techniques for Regression Testing in Practice, Masterarbeit (2019)

[3] E. Juergens, D. Pagano, Test-Impact-Analyse: Fehler früh erkennen trotz großer, langlaufender Test-Suites, Objektspektrum 06/2018, <https://cqse.eu/test-impact-analyse-objektspektrum>

[4] J. Rott, R. Niedermayr, E. Juergens, D. Pagano, Ticket Coverage: Putting Test Coverage into Context, Proceedings of the 8th Workshop on Emerging Trends in Software Metrics (2017)

[5] E. Juergens, D. Pagano, Haben wir das Richtige getestet? Erfahrungen mit Test-Gap-Analyse in der Praxis, Whitepaper (2016)

[6] R. Noemmer, R. Haas, An Evaluation of Test Suite Minimization Techniques, International Conference on Software Quality (2020)

Raphael Noemmer hat seinen Master an der Technischen Universität München mit einem Fokus auf Software-Engineering und Software-Qualität abgeschlossen. Bei der CQSE unterstützt er Entwickler Teams, bei der Einführung von Prozessen zur Qualitätssicherung.
Dr. Elmar Juergens hat über statische Codeanalyse promoviert und für seine Doktorarbeit den Software-Engineering-Preis der Ernst Denert-Stiftung erhalten. Er ist Mitgründer der CQSE GmbH und begleitet seit zehn Jahren Teams bei der Verbesserung ihrer Qualitätssicherungs- und Testprozesse. Elmar spricht regelmäßig auf Forschungs- und Industriekonferenzen und wurde für seine Vorträge mehrfach ausgezeichnet. Elmar wurde 2015 zum Junior Fellow der Gesellschaft für Informatik ernannt.
Raphael Noemmer, Elmar Juergens
Raphael Noemmer, Elmar Juergens
Track: Vortrag
Vortrag: Mo 2.5

Vortrag Teilen

, (Dienstag, 04.Mai 2021)
14:00 - 14:35
Di 2.5
Testsuite Yoga - Software Tests zurück ins Gleichgewicht bringen
Testsuite Yoga - Software Tests zurück ins Gleichgewicht bringen

Testsuite Yoga - Software Tests zurück ins Gleichgewicht bringen

Nicht nur Menschen, auch Testsuiten geraten unter Stress. Dann sind sie fragil, langsam zu ändern und durchzuführen, oder kosten auf andere Art Nerven. Um Stress abzubauen hilft folgendes:

  • Tägliche *A*temübungen mit *A*utomatischen Analysten, die Probleme in Testsuiten verhindern
  • *M*editation über einfache *M*etriken zur Früherkennung von Stress in Testsuiten
  • *P*ositionen in Form von *P*rozessen und Aktivitäten, um die Qualität von Tests von Anfang an in den Griff zu bekommen.

Dieser Vortrag berichtet von unseren Erfahrungen in über 60 Projekten: Wann helfen diese Techniken? Und was steht auf dem Pfad zum inneren Gleichgewicht im Weg?

Zielpublikum: Tester, Testmanager, Projektleiter
Vorraussetzungen: Jeder der schon einmal bei der Erstellung und Wartung von manuellen Testfällen beteiligt war kann diesem Vortrag folgen und wertvolle Informationen daraus beziehen.
Schwierigkeitsgrad: Advanced

Extended Abstract:
Nicht nur Menschen (vor allem Software Entwickler und -Tester), sondern auch Testsuiten geraten im Laufe ihres Lebens unter Stress. Woran zeigt sich das? Tests, die unter Stress stehen, sind fragil (also schlagen häufig fälschlich Alarm), langsam in der Änderung und Durchführung oder kosten auf andere Art Zeit und Nerven. Konkrete, messbare Symptome von Stress sind u.A. mehrdeutige Testfallbeschreibungen, eine unverständliche Struktur, unklare Testabdeckung oder zahlreiche Duplikate. Folgen des Stress' für das Projekt sind schlechte Software-Qualität und hohe Test- und Wartungskosten.

In diesem Vortrag zeige ich Gründe für den Stress in Testsuiten auf. Vor allem aber beschreibe ich wie man in Projekten diesen Stress abbauen kann. Dazu gehört:

  • Tägliche *A*temübungen mit *A*utomatischen Analysten, die Probleme in Testsuiten schon bei der Erstellung verhindern
  • *M*editation über einfache *M*etriken zur Erkennung von Stress in Testsuiten
  • *P*ositionen in Form von *P*rozessen und Aktivitäten, um die Qualität von

Tests von Anfang an konstruktiv in den Griff zu bekommen.

Wir haben diese Techniken seit etwa 5 Jahren in über 60 Projekten im Einsatz. In dem Vortrag berichte ich aus unseren Erfahrungen: Wann helfen diese Techniken der Testsuite Stress abzubauen? Und was steht auf dem Pfad zum inneren Gleichgewicht im Weg?

Benedikt Hauptmann hat Software Engineering und Informatik studiert und an der TU München über Qualität von Software Tests promoviert.
Er ist Mitgründer und Geschäftsführer von Qualicen. Seine Ambition ist es, Tests zu erstellen, die einfach zu verstehen, auszuführen und zu warten sind. Zu diesen Themen hält er regelmäßig Vorträge für Forschung und Industrie.
Benedikt Hauptmann
Benedikt Hauptmann
Track: Vortrag
Vortrag: Di 2.5

Vortrag Teilen

Zurück