Die Ausführung von Tests dominiert in vielen Fällen die Dauer von Software-Builds. Dazu tragen unter anderem die wachsende Anzahl von Integrationstests und funktionaler Tests sowie die sequentielle Ausführung von Tests und etwaige Abhängigkeiten auf externe Dienste bei. Dies führt häufig dazu, das Entwickler*innen Tests nur auf dem CI-Server ausführen und somit den Feedback-Zyklus zwischen Code-Änderung und Testergebnis wesentlich verlängern. Desweiteren stellt häufig sogar in diesem Fall die Ausführung aller Tests für jede Änderung eine Herausforderung in Bezug auf Kosten und Build-Dauer dar. Gradle Enterprise bietet zwei innovative Technologien, die es ermöglichen, Tests früher und häufiger auszuführen: Predictive Test Selection und Test Distribution.
Predictive Test Selection spart Testzeit, in dem es Tests identifiziert, priorisiert und ausführt, die mit hoher Wahrscheinlichkeit zu nützlichem Feedback führen. Dies wird durch Anwendung eines Machine Learning Models erreicht, das auf feingranuläre Code-Snapshots sowie umfassende Test Analytics und Daten über Test-Flakiness einbezieht.
Test Distribution erweitert die parallele Ausführung von Tests, in dem es zusätzlich Remote Agents verwendet und orchestriert. Dies funktioniert sowohl für lokale Builds als auch auf dem CI-Server. So können bestehende Test Suites verteilt und schneller ausgeführt werden.
Individuell oder in Kombination — diese beiden Technologien ermöglichen, Testzeiten dramatisch zu reduzieren, Tests früher im Entwicklungszyklus auszuführen und erreichen somit eine Verkürzung des Feedbackzyklus, die wiederum zu höherer Produktivität und Zufriedenheit der Entwickler*innen führt. In diesem Vortrag werden wir beide Features in Aktion sehen und anhand von öffentlich verfügbaren Gradle-Enterprise-Instanzen bekannter Open-Source-Projekte (Spring, JUnit, Micronaut, …) besprechen, wie sie im Detail funktionieren.
Wichtiger Hinweis!
Auf der Veranstaltung werden Film- und Tonaufnahmen sowie Fotos gemacht, mit deren auch späteren Verwendung Sie sich durch den Besuch der Veranstaltung einverstanden erklären. Wenn Sie nicht fotografiert oder gefilmt werden möchten, können Sie direkt den/die FotografIn oder den/die Kameramann/-frau ansprechen.
Die Aufnahmen können im Internet, auf Social Media Kanälen sowie in Rundfunk-, TV-, und Printmedien (auch Büchern) veröffentlicht werden.
Die Verarbeitung erfolgt aufgrund des berechtigten Interesses der Verantwortlichen, die von ihr organisierte Veranstaltung bildlich zu dokumentieren und einer größeren Öffentlichkeit positiv darüber zu berichten
Eine Veranstaltung des iJUG e.V., organisiert durch die JUG Karlsruhe.
Marc Philipp hat mehr als 10 Jahre Erfahrung in der Entwicklung von Software für Unternehmen und Endanwender sowie als Trainer und Coach für andere Entwickler. Bei Gradle Inc. arbeitet er an Produkten wie Test Distribution und Predictive Test Selection mit dem Ziel, die Produktivität von Entwickler:innen zu verbessern. Er ist seit langem aktiver Committer und Maintainer von JUnit. Außerdem war er Mitinitiator der Crowdfunding-Kampagne JUnit Lambda, ohne die JUnit 5 nicht existieren würde.
diva-e Karlsruhe (Eingang B, 2. OG)
Rintheimer Str. 23
76131 Karlsruhe
Auf der Veranstaltung werden Film- und Tonaufnahmen sowie Fotos gemacht, mit deren auch späteren Verwendung Sie sich durch den Besuch der Veranstaltung einverstanden erklären. Wenn Sie nicht fotografiert oder gefilmt werden möchten, können Sie direkt den/die FotografIn oder den/die Kameramann/-frau ansprechen.
Die Aufnahmen können im Internet, auf Social Media Kanälen sowie in Rundfunk-, TV-, und Printmedien (auch Büchern) veröffentlicht werden.
Die Verarbeitung erfolgt aufgrund des berechtigten Interesses der Verantwortlichen, die von ihr organisierte Veranstaltung bildlich zu dokumentieren und einer größeren Öffentlichkeit positiv darüber zu berichten