Je älter und größer ein Softwaresystem ist, desto wichtiger ist eine verlässliche, automatisierte Testsuite. Insbesondere, wenn viele Änderungen umgesetzt und kurze Release-Zyklen angestrebt werden. Mit der Größe des Systems wächst jedoch die Testsuite, und damit steigt auch deren Ausführungsdauer. Wir sehen bei unseren Kunden immer öfter Testsuites, die mehrere Stunden oder sogar Tage laufen. Langlaufende Testsuites werden aber meist seltener ausgeführt als schnelle, z.B. wöchentlich statt täglich. Dadurch müssen Entwickler länger auf Feedback warten, was es ihnen erschwert, die Ursache für fehlschlagende Tests zu lokalisieren. Ironischerweise mindert das den Wert der Testsuites gerade für die Systeme, für die sie besonders wichtig sind.
Ein wirksamer Lösungsansatz ist, eine Teilmenge mit viel kürzerer Laufzeit häufiger auszuführen, z.B. stündlich. Wenn diese Teilmenge gut gewählt ist, findet sie einen Großteil der Fehler in sehr kurzer Zeit, und die gesamte Testsuite kann weiterhin wöchentlich ausgeführt werden, um den Rest der Fehler zu finden. Damit erreichen wir, trotz langsamer Testsuite, sehr schnelles Feedback für die meisten Fehler.
Dieser Ansatz steht und fällt natürlich mit der Auswahl der Teilmenge an Tests, die häufig ausgeführt werden. Hierfür haben wir in den letzten Jahren zwei unterschiedliche Ansätze entwickelt: Pareto-Testing und Test-Impact-Analyse. In zwei Vorträgen stellen wir erst die Grundideen und Forschungsergebnisse vor und dann die Erfahrungen, die wir bei der Bayerischen Versorgungskammer damit gesammelt haben.
- Dr. Elmar Jürgens und Raphael Nömmer: Pareto- Testing und Test-Impact-Analyse - Grundlagen und Forschungsergebnisse - Im Vortrag stellen wir die Funktionsweise von Pareto-Testing und Test-Impact-Analyse vor und zeigen anhand von empirischen Studien, welche Ergebnisse sie liefern. Außerdem gehen wir auf die Vor- und Nachteile beider Verfahren ein.
- Jeannette Wernicke und Fabian Streitel: Testoptimierung in einem Projekt der Bayerische Versorgungskammer - Die Bayerische Versorgungskammer entwickelt komplexe Softwaresysteme mit großen automatisierten Testsuites. Wir haben für ein System gemeinsam die Test-Suite vermessen und ermittelt, was Pareto-Testing und Test-Impact-Analyse hier bewirken können. Im Vortrag stellen wir unser Vorgehen und die Ergebnisse vor und erläutern, warum wir uns für welches Verfahren entschieden haben.
Zu den Sprechern
Jeannette Wernicke ist Managerin Innovation Lab bei der Bayerische Versorgungskammer. Vorher war sie dort als Software-Entwicklerin und -Architektin mit Schwerpunkt Software-Qualität tätig. Im Rahmen dieser Tätigkeit untersucht sie Verbesserungspotentiale in verschiedenen Systemen, leitet Workshops und hält Vorträge zu den Themen Clean Code, Softwarearchitektur und Unit-Testing.
Raphael Nömmer hat seinen Master an der Technischen Universität München mit einem Fokus auf Software-Engineering und Software-Qualität abgeschlossen. Er hat seine Masterarbeit zu Test-Suite-Minimierung und Pareto-Testing erstellt und promoviert bei der CQSE in diesem Themenbereich.
Fabian Streitel hat als Leiter des CQSE Piloten-Teams die Test-Analysen bei vielen Kunden erfolgreich eingeführt.
Dr. Elmar Jürgens hat die CQSE mitgegründet und beschäftigt sich sein ganzes Berufsleben mit Qualitätsanalysen von Software.