Definition „Shift-Left-Ansatz“ Was ist Shift-Left Testing?

Von zeroshope

Anbieter zum Thema

In der Software-Entwicklung kollidieren zwei Ideale: Qualität und Geschwindigkeit der Entwicklung. Wer zu schnell arbeitet, riskiert Fehler. Wer auf Qualität achtet, braucht zu lange. Das Shift Left Testing ist ein Hilfsmittel, die Kollision zu entschärfen.

Beim Shift Left Testing wird steht eine Software gemäß der Maxime „Teste frühzeitig und häufig“ bereits in der Anforderungsphase auf dem Prüfstand.
Beim Shift Left Testing wird steht eine Software gemäß der Maxime „Teste frühzeitig und häufig“ bereits in der Anforderungsphase auf dem Prüfstand.
(Bild: Startup Stock Photos / Pexels)

Software-Entwicklung läuft traditionell nach dem sogenannten Wasserfall-Modell ab. Nacheinander werden die folgenden Phasen „von oben nach unten“ bzw. auf einem Zeitstrahl von links nach rechts abgearbeitet:

  • Definition der Anforderungen
  • Entwicklung des Designs
  • Coding
  • Tests
  • Veröffentlichung
eBook DevSecOps
eBook „DevOps und Security“
(Bild: Dev-Insider)

E-Book zum Thema

Das eBook „DevOps und Security“ erläutert die Unterschiede von DevSecOps, SecDevOps und DevOpsSec und befasst sich mit dem Warum und Wie.


Auf den ersten Blick ergibt diese Reihenfolge durchaus Sinn: Dadurch, dass die Tests am Ende stehen, werden hier alle Fehler bereinigt. Dies erscheint praktisch, weil so anschließend eine möglichst perfekte Version der Software veröffentlicht werden kann.

Probleme des Wasserfall-Modells

Im Alltag zeigten sich allerdings einige Probleme des Wasserfall-Modells, die durch das sogenannte Shift Left Testing gelöst werden können:

  • Werden bestimmte Fehler nicht frühzeitig erkannt, kann dies zu Folgefehlern führen.
  • Wird die Software im Auftrag eines Kunden entwickelt, ist es problematisch, wenn dieser erst ganz am Ende beim Testen eingebunden wird. Bemängelt er beispielsweise ein fehlerhaftes Design, kostet dies viel Zeit.
  • Die Tage und Wochen vor der Veröffentlichung sind tatsächlich kaum für das Testen geeignet. Bug-Fixes, erste Updates und „Polier“-Prozesse bestimmen den Alltag.
  • Selbst wenn Tester Fehlerberichte erstellen oder Verbesserungsvorschläge einreichen, haben die Entwickler deshalb oft schlicht nicht die Zeit, um sich diesen zu widmen.

Die Linksverschiebung

Beim Shift Left Testing wird der Wasserfall aufgelöst. Die Reihenfolge ohne Tests sieht jetzt so aus: Anforderungen - Design - Coding - Veröffentlichung. Das Testen wird auf dem Zeitstrahl möglichst weit nach links geschoben und mehrfach durchgeführt.

Die Reihenfolge sieht so aus: Anforderungen - Tests - Design - Tests - Coding - Tests - Veröffentlichung. Dieses Verfahren bietet die folgenden Vorteile:

  • Dadurch, dass keine Folgefehler entstehen, steigt die Entwicklungsgeschwindigkeit, obwohl tatsächlich mehr getestet wird.
  • Alle Stakeholder werden frühzeitig eingebunden. Dies ermöglicht es, etwaige Fehler beispielsweise im Design schnell zu identifizieren.
  • Testprotokolle können optimiert werden. Dadurch, dass die Tester eher und mehr eingebunden werden, können sie ihre eigene Arbeit verbessern. Dies liegt erstens daran, dass sie weniger Zeitdruck haben. Und zweitens kommunizieren sie wesentlich mehr mit den an der Entwicklung beteiligten Parteien.

Shift Left Testing ist eine Hilfe

Shift Left Testing ist durch seine Vorteile ein wirksames Hilfsmittel, um die Kollision der beiden Ideale „Geschwindigkeit“ und „Qualität“ zu entschärfen. Es ist allerdings nicht die ultimative Lösung. Testphasen können beispielsweise immer noch künstlich ausgedehnt oder nicht ernst genug genommen werden. Die Linksverschiebung ist deshalb kein Allheilmittel.

E-Book zum Thema

DevOps und Security

eBook DevSecOps
eBook „DevOps und Security“
(Bild: Dev-Insider)

Sicherheit sollte eng mit den DevOps-Prozessen integriert und gleich zu Beginn der Entwicklung berücksichtigt werden. Die Frage lautet, wie man eine Veränderung am besten umsetzt, die Organisation und die Unternehmenskultur betrifft.

Dieses eBook umfasst die folgenden Themen:

  • Wozu DevOps um Security erweitern?
  • DevSecOps, SecDevOps und DevOpsSec
  • DevSecOps: So geht es in der Praxis

(ID:46611926)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung