Schnelles Feedback von langlaufenden Tests. Ein Erfahrungsbericht

Dr. Sven Amann

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

Koordinaten

Zusammenfassung

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. Im Vortrag stellen wir erst die Grundideen und Forschungsergebnisse vor und dann die Erfahrungen, die wir bei der Bayerischen Versorgungskammer damit gesammelt haben, als wir beide Ansätze auf der großen automatisierten Testsuite eines komplexen Softwaresystems angewendet und verglichen haben.

Folien

Dr. Sven Amann