Wann ist eigentlich der richtige Zeitpunkt, um Software-Code zu testen? Antworten auf diese Frage liefern die beiden Ansätze Shift-Left und Shift-Right. Im folgenden Blogartikel stellen wir sie näher vor.
Fehler und Schwächen im Code möglichst frühzeitig zu identifizieren und zu beheben, ist für jedes Software-Projekt essenziell. Doch wann ist der richtige Zeitpunkt, den Code zu testen? Die beiden Ansätze Shift Left und Shift Right beschreiben zwei unterschiedliche Herangehensweisen.
Am besten lassen sich die Richtungsangaben „links“ und „rechts“ nachvollziehen, indem wir einen Blick auf den DevOps-Zyklus werfen. Die einzelnen Schritte in einem Softwareprojekt sind dabei eng miteinander verzahnt. Am besten lässt sich DevOps durch eine endlose Schleife visualisieren. Erhalten die Teams Feedback, setzt sich der Prozess erneut in Gang.
Gut zu wissen: Mehr über DevOps erfahren Sie auch in unserem Blogartikel „DevOps – was ist das eigentlich?“.
Shift Left zielt darauf ab, das Testen als Teil der Softwareentwicklung zu etablieren und Code möglichst frühzeitig und häufig zu testen. Testing rückt damit auf die linke Seite des DevOps-Prozesses.
Vor allem in jüngster Zeit hat Shift-Left zunehmend an Bedeutung gewonnen. IT-Teams müssen Software immer schneller und gleichzeitig in hoher Qualität bereitstellen. Dadurch steigt der Druck. Shift-Left kann dabei helfen, Kosten und Zeit zu sparen, indem Fehler möglichst zu Beginn entdeckt und behoben werden.
Shift Right verschiebt das Testing hingegen weiter nach rechts, sprich ans Ende des Prozesses. Das bedeutet: Die Software wird erst zu einem späteren Zeitpunkt getestet, wenn der Entwicklungsprozess bereits vollständig abgeschlossen ist.
Das Entwicklungsteam und das Qualitätssicherungsteam arbeiten von Anfang an eng zusammen. Das ermöglicht es, verlässliche Tests zu entwickeln, die alle nötigen Anforderungen erfüllen.
Indem regelmäßig getestet wird, sind lange Testphasen am Ende der finalen Entwicklung meist überflüssig.
Damit Shift Left auch in der Praxis gelingt, sind einige Vorbereitungen im Team nötig. Essenziell ist dabei, die passenden Strukturen zu schaffen, die eine frühzeitige Qualitätssicherung ermöglichen. Folgende Tipps können dabei helfen:
Nur wenn alle am gleichen Strang ziehen und sich für die Qualität eines Softwareprojektes verantwortlich fühlen, können Erfolge erzielt werden. Daher ist es wichtig, dass alle im Team verstehen, warum der Shift-Left-Ansatz sinnvoll ist. Alle Teammitglieder sollten daher frühzeitig in den Prozess miteingebunden werden.
Der Shift-Left-Ansatz lässt sich am besten in einem agilen Arbeitsumfeld umsetzen. In regelmäßigen Abständen werden hierbei neue Features entwickelt und bereitgestellt, die parallel getestet werden.
Testfälle zu automatisieren, ist eine wesentliche Voraussetzung dafür, dass die Umstellung zu SHIFT-LEFT gelingt. Das Testing kann somit beschleunigt und in regelmäßigen Abständen wiederholt werden, ohne das Personal aufgestockt werden muss. Die Entwickler erhalten dadurch wiederum schnelles Feedback, das sie bereits in kurzer Zeit umsetzen können.
Eine CI/CD-Pipeline ermöglicht es, regelmäßige Tests automatisch in den Prozess einzuplanen. Der Vorteil: Die Teammitglieder sparen Ressourcen und können sich auf die wesentlichen Aufgaben konzentrieren.
Um die Qualität sicherzustellen und unterschiedliche Funktionen abzudecken, sollten die Teams auf verschiedene Testarten setzen. Beispiele sind Unit-Tests, Code-Tests und funktionale Tests. Idealerweise sollten diese Tests automatisiert werden.
Shift Left bietet viele Vorteile. Fehler können schnell und zuverlässig erkannt und folglich frühzeitig behoben werden. Dennoch ist auch der Shift-Right-Ansatz keineswegs verzichtbar. In einer Entwicklungsumgebung zu testen (Shift Left), bedeutet auch, dass manche Faktoren noch überhaupt nicht berücksichtigt werden können. Bei Shift-Right wird die Software hingegen unter reellen Bedingungen getestet. Das Verhalten der Nutzer kann dabei zum Beispiel betrachtet und miteinbezogen werden. Das ermöglicht es dem Team, neue unerwartete Schwächen aufzudecken.
Wann ist der richtige Zeitpunkt, um Software zu testen? Shift Left bietet hierfür eine klare Antwort: So früh und so häufig wie möglich. Diese Vorgehensweise stellt sicher, dass Schwächen in der Software frühzeitig identifiziert und ausgemerzt werden. Shift Left spielt daher vor allem im DevOps-Zyklus eine wichtige Rolle.
Auf den ersten Blick scheinen sich Shift Left und Shift-Right grundlegend voneinander zu unterscheiden. Verzichtbar ist jedoch keine der beiden Strategien. Denn nur in Kombination können diese beiden Herangehensweisen sicherstellen, dass das Softwareprodukt am Ende die Qualitätsansprüche erfüllt. Wichtige Voraussetzungen dafür: das passende Mindset, die richtige Organisation im Team und eine fundierte Teststrategie.
Wir helfen Ihnen dabei, Shift Left und Shift Right erfolgreich in Ihrem Softwareprojekt zu etablieren. Gerne beraten unsere Qualitätsexperten Sie unverbindlich und professionell!
Wir freuen uns, Ihnen bei Fragen weiterhelfen zu können.