Business Analyst mit Qualitätsblick
Die Integration von Qualität in den Softwareentwicklungsprozess sollte von Anfang an Priorität haben. Die Erfahrungen aus dem Testing-Bereich können...
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.
Shift Left bezeichnet das Prinzip, Testaktivitäten so früh wie möglich im Entwicklungsprozess durchzuführen. Dabei werden Tests in frühe Phasen der Entwicklung integriert, um potenzielle Fehler oder Probleme rechtzeitig zu erkennen und zu beheben. Dadurch lassen sich Qualitätsprobleme vermeiden und Entwicklungskosten senken, da Fehler frühzeitig behoben werden.
Shift Left und Shift Right sind zwei unterschiedliche Ansätze im Software-Testing. Während Shift Left das frühzeitige Testen im Entwicklungsprozess fokussiert, zielt Shift Right darauf ab, die Anwendung nach dem Go-Live in der Produktion zu überwachen und zu testen. Shift Right ermöglicht somit das Sammeln von Echtzeit-Daten zur Verbesserung der Qualität und Benutzererfahrung.
Shift Left reduziert Entwicklungsrisiken und Kosten, indem Fehler früh erkannt und behoben werden. Der Ansatz fördert zudem eine effiziente Zusammenarbeit zwischen Entwicklern und Testern und sorgt für eine höhere Qualität der Software, da die Anforderungen frühzeitig überprüft und Schwachstellen rechtzeitig identifiziert werden.
Shift Right ergänzt das traditionelle Testen, indem es sicherstellt, dass die Software auch in realen Produktionsumgebungen stabil läuft. Durch Monitoring und Tests nach dem Go-Live können Probleme identifiziert werden, die während der Entwicklung nicht sichtbar waren. Shift Right bietet zudem die Möglichkeit, das Nutzerverhalten zu analysieren und die Anwendung kontinuierlich zu verbessern.
Synthetisches Monitoring ist ein Bestandteil des Shift-Right-Ansatzes. Dabei werden Tests automatisiert und regelmäßig in der Produktionsumgebung durchgeführt, um sicherzustellen, dass die Anwendung stabil und fehlerfrei läuft. Dies ermöglicht eine proaktive Erkennung und Behebung von Problemen, bevor sie die Nutzererfahrung beeinträchtigen.
Synthetisches Monitoring hilft, Fehler zu identifizieren, bevor sie für Nutzer sichtbar werden. Da es kontinuierlich und ohne Benutzerinteraktion läuft, kann es frühzeitig Schwachstellen in der Stabilität und Performance aufdecken. Das verbessert die Verfügbarkeit und Zuverlässigkeit der Anwendung und schützt die Nutzererfahrung.
Das Testdatenmanagement in Produktionsumgebungen ist anspruchsvoll, da Testdaten realen Kundendaten ähneln müssen, jedoch keine echten personenbezogenen Daten enthalten dürfen. Die Generierung synthetischer Daten, die trotzdem realitätsnahe Testbedingungen schaffen, ist entscheidend, um Datenschutzvorgaben einzuhalten und die Produktionsumgebung nicht zu beeinträchtigen.
Shift Left passt gut in agile Entwicklungsprozesse, da es die Prinzipien der frühen Fehlererkennung und kontinuierlichen Verbesserung unterstützt. Testaktivitäten werden direkt in die Sprints integriert, und Testautomatisierung wird gefördert. Dies ermöglicht eine engere Zusammenarbeit zwischen Entwicklern und Testern und sorgt für schnelle Rückmeldungen und kürzere Entwicklungszyklen.
Die Kombination von Shift Left und Shift Right bietet eine ganzheitliche Qualitätssicherung, die den gesamten Softwarelebenszyklus abdeckt. Während Shift Left durch frühe Tests und Fehlererkennung die Entwicklungseffizienz verbessert, sorgt Shift Right dafür, dass die Software auch nach dem Go-Live stabil läuft. Zusammen ermöglichen sie eine durchgängige Qualität und positive Benutzererfahrungen.
Acceptance-Test-Driven Development (ATDD) unterstützt sowohl Shift Left als auch Shift Right, indem es eine enge Verzahnung zwischen Anforderungen und Tests schafft. ATDD legt Tests als Bestandteil der Anforderungsdefinition fest, was die Zusammenarbeit zwischen Entwicklern, Testern und Product Ownern stärkt. Dadurch wird die Qualitätssicherung von der Entwicklung bis in die Produktion sichergestellt.
Die Integration von Qualität in den Softwareentwicklungsprozess sollte von Anfang an Priorität haben. Die Erfahrungen aus dem Testing-Bereich können...
Bettina Buchholz ist Strategischer Lead für Quality Assurance & Test bei der DB Netz AG und ist Product Ownerin der testfokussierten CI/CD-Pipeline...
In dieser speziellen Sommerfolge habe ich einige der häufigsten Fragen beantwortet, die ihr mir in den letzten Monaten geschickt habt. Z.B. welche...