Die Ausführung von automatisierten Tests ist essentieller Bestandteil funktionierender CI. Allerdings sind Test-Suites auf höheren Ebenen der Testpyramide für die CI oft zu langsam.
Ein Ansatz, diese Tests doch in die CI zu integrieren, ist die Ausführung einer kleinen Teilmenge, die schnell genug ist. Das lohnt sich dann, wenn die Teilmenge einen Großteil der Fehler findet.
Wir haben eine Vielzahl von Testauswahlverfahren aus der Forschung evaluiert, auf Basis von Code-Coverage, Machine-Learning, historischen Resultaten und mehr. Im Vortrag stellen wir die besten Verfahren vor und zeigen, welche davon sich in der Praxis bewährt haben.
Wert für die Teilnehmenden:
1) Überblick über Testselektionsverfahren
2) Guideline, welche Verfahren mit einfach verfügbaren Daten auskommen, und wie gut sie sich in der Praxis schlagen
3) Kenntnis, welche Verfahren mit aufwändiger zu erhebenden Daten arbeiten, wieviel besser sie sind, und Abwägungen, wann sich diese Verfahren lohnen
4) Anleitung, wie sich eine optimale Smoke-Test-Suite erheben lässt, die in 6% der Zeit (die die Ausführung aller Tests benötigt) 80% der Fehler findet (die die gesamte Testsuite finden würde).
5) Best Practices zur Integration von Testselektionsverfahren in die CI Pipeline.
Adressierte Probleme:
Je mehr automatisierte Tests ich habe, desto dauert die Ausführung aller Tests. Insbesondere auf den höheren Stufen der Testpyramide (zB UI Tests, API-Tests, Integrationstests, ...). Das verlängert Test-Feedback und reduziert den Wert der Tests.
Es gibt verschiedene Verfahren, die diejenigen Tests selektieren können, die das beste Kosten-Nutzen-Verhältnis haben. Ihre Anwendbarkeit hängt jedoch davon ab, welche Daten sich im Testprojekt wie einfach beschaffen lassen.
Sprache: Deutsch
Level: Newcomer
Zielgruppe: Tester, Test-Manager, Entwickler, Architekten