Die Integration von Shift Left und Shift Right in den Entwicklungsprozess bietet eine ganzheitliche Qualitätssicherung. Shift Left fördert das frühzeitige Testen, um Engpässe zu vermeiden und die Entwicklungseffizienz zu steigern. Shift Right ergänzt dies durch Monitoring in der Produktionsphase, um reale Nutzungsdaten zu analysieren und kontinuierliche Verbesserungen zu ermöglichen. Gemeinsam sorgen diese Ansätze für eine robuste und zuverlässige Softwarequalität.
Heute spreche ich mit Björn Scherer über Shift Left und Shift Right. Wir beleuchten, wie man Testaktivitäten effizient über den gesamten Entwicklungsprozess verteilt und warum es sinnvoll ist, auch in der Produktionsphase intensiv zu testen. Björn teilt wertvolle Einblicke und konkrete Beispiele aus seiner Arbeit, wie etwa die Nutzung von synthetischem Monitoring zur proaktiven Fehlererkennung. Unser Gespräch zeigt, wie man durch einen ganzheitlichen Ansatz die Softwarequalität erheblich steigern kann. Eine inspirierende Folge für alle, die sich für fortschrittliche Testmethoden interessieren!
“Wenn es super läuft und es fällt was um, haben wir es behoben, bevor der erste Kunde gemerkt hat, dass was kaputt ist.” - Bjoern Scherer
Björn Scherer brennt bereits seit über 18 Jahren für das Thema Software-Qualitätssicherung. Seit mehr als 10 Jahren arbeitet er im Generali Konzern, wo er Entwicklungsteams hilft, Testautomatisierung als Booster für ihren Software-Entwicklungsprozess zu nutzen, durch Nachhaltigkeit, Stabilität und Erkenntnisse aus den Testergebnissen. Seit einigen Jahren ist er als Lead Test-Engineer für CosmosDirekt aktiv, wo er durch Weiterentwicklung der Test-Methodik und -Automatisierung den Weg in eine DevOps Organisation unterstützt. Zuvor hat Björn im Dienst der T-Systems TestFactory vielen Projekten mit Last- & Performance-Tests zu einem stabilen Lastverhalten verholfen.
Am Ende eines Entwicklungsprozesses kommt es häufig zu Engpässen bei Testaktivitäten. Trotz agiler Methoden und DevOps-Praktiken bleibt dieses Problem bestehen. Das Shift-Left-Prinzip zielt darauf ab, Tests so früh wie möglich im Entwicklungsprozess durchzuführen. Durch diese Vorgehensweise können potenzielle Probleme frühzeitig identifiziert und behoben werden, bevor sie kostspielig werden. Dabei ist es entscheidend, Aufgaben parallelisierbar zu gestalten, um Engpässe zu vermeiden und einen effizienten Workflow zu gewährleisten.
Im Gegensatz zum Shift-Left-Ansatz zielt Shift Right darauf ab, Qualitätssicherungsmaßnahmen nach dem Go-Live durchzuführen. Oftmals können nicht alle Tests vollständig vor der Produktivsetzung abgeschlossen werden, sodass ein minimales Testset ausreicht, um den Go-Live zu ermöglichen. Hier wird verstärktes Monitoring in der Produktion hinzugefügt, um das System unter realen Bedingungen zu überwachen und frühzeitig auf potenzielle Probleme zu reagieren. Dieser Ansatz ermöglicht eine kontinuierliche Verbesserung der Anwendungsqualität durch tatsächliche Nutzungsdaten und direkte Rückmeldungen aus der Produktion.
Beide Ansätze – Shift Left und Shift Right – bieten wertvolle Vorteile und können in Kombination eine umfassendere Qualitätssicherung gewährleisten. Während Shift Left durch frühzeitiges Testen Parallelisierung ermöglicht und Fehler vorzeitig entdeckt, liefert Shift Right wertvolle Einblicke in die tatsächliche Nutzung und Stabilität der Anwendung im produktiven Betrieb. Ein integrativer Ansatz, beispielsweise durch den Einsatz von Acceptance-Test-Driven Development (ATDD), verbindet Entwicklungs- und Testprozesse eng miteinander und fördert so eine durchgängige Qualitätssicherung.
Ein zentraler Bestandteil des Shift-Right-Ansatzes ist das synthetische Monitoring. Dieses proaktive Testverfahren umfasst regelmäßig ausgeführte Szenarien, die sicherstellen, dass das System auch ohne aktive Nutzer ordnungsgemäß funktioniert. Besonders bei Benutzeroberflächen (UI-basierten Anwendungen) spielt synthetisches Monitoring eine wichtige Rolle, da diese oft anfälliger für Fehler sind. Es hilft, potenzielle Probleme zu erkennen und zu beheben, bevor sie sich negativ auf die Nutzer auswirken, und trägt somit maßgeblich zur Stabilität und Zuverlässigkeit der Anwendung bei.
Eine besondere Herausforderung beim synthetischen Monitoring ist das Management von Testdaten in Produktionsumgebungen. Hierbei ist es essenziell, synthetische Testdaten zu erstellen, die realen Kundendaten ähneln, jedoch keine echten personenbezogenen Daten enthalten. Der sorgfältige Umgang mit diesen Daten ermöglicht es, reale Anwendungsfälle realitätsnah zu testen, ohne die Benutzererfahrung oder operative Daten zu beeinträchtigen. Ein effektives Testdatenmanagement sichert damit eine kontinuierlich hohe Qualität der durchgeführten Tests und schützt gleichzeitig die Integrität der Produktivumgebung.