Anzeige

Anzeige

Software Entwicklung

In der Softwareentwicklung sind traditionelle Testverfahren nach dem Wasserfall-Modell längst veraltet und müssen durch neuere, agilere Methoden ersetzt werden. Shift-Left Testing ist eine dieser Methoden und bringt viele Vorteile für Unternehmen und Entwickler.

Wird eine neue App oder eine neue Software auf den Markt gebracht, hoffen alle Beteiligten, dass diese nahezu problemlos funktioniert. Sollte dies nicht der Fall sein, kostet es das Entwicklerunternehmen nicht nur Zeit und Geld, sondern auch das hart erarbeitete Vertrauen ihrer Kunden. Kleinere Fehler lassen sich in nachträglichen Patches bereinigen, aber ein gewisser Qualitätsstandard wird von Kunden und Käufern von Beginn an vorausgesetzt. Um dies zu gewährleisten sind umfängliche Testverfahren zur Qualitätssicherung unverzichtbar.

Zeit ist Geld

In traditionellen Entwicklungsabläufen wird nach dem sogenannten Wasserfall-Modell getestet. Das heißt, dass spezielle Test-Teams die Software erst kurz vor der Veröffentlichung im kompletten Umfang testen, um vorhandene Fehler endgültig zu beseitigen und schlussendlich eine nahezu perfekte Version auf den Markt zu bringen. Das mag zwar logisch und sinnvoll erscheinen, kann aber auch dazu führen, dass Fehler, die früh auftauchen und nicht rechtzeitig erkannt werden, Folgefehler nach sich ziehen. Diese richten oft noch mehr Schaden an und ihre Beseitigung ist nicht nur schwieriger, sondern auch deutlich teurer. Ein Fehler, der entdeckt und entfernt wird, während sich der Code bereits in Produktion befindet, kann bis zu 100-mal so teuer sein wie ein Fehler, der in einem früheren Entwicklungsstadium gefunden wurde. Oft fehlt Entwicklern am Ende des Entwicklungsprozesses auch schlichtweg die Zeit, sich Verbesserungsvorschlägen von Testern oder Kunden zu widmen. Shift-Left Testing hilft, diese Probleme zu beseitigen. 

Shifting Left

Beim sogenannten Shift-Left Testing werden Testverfahren vom Ende des Entwicklungsprozesses an den Prozessanfang, nach links, verlagert. Der Code wird fortlaufend getestet, noch während er die CI/CD-Pipeline (Continuous Integration/Continuous Delivery) durchläuft. Alle Abschnitte dieser Pipeline – von der Integrationsphase über Test- und Bereitstellungsphase, bis hin zur finalen Implementierungsphase – werden automatisiert und konstant überwacht, was maßgeblich der Verbesserung der Softwarebereitstellung dient.

Menschliche Fehler werden reduziert und es können mehrere Tests zur selben Zeit durchgeführt werden, was den Testern die Möglichkeit bietet, sich anderen, ebenso wichtigen Aufgaben zuzuwenden. Außerdem ermöglicht die Verlagerung des gesamten Prozesses in die Cloud und die Einführung agiler, an DevOps-Praktiken orientierter Methoden, ein viel schnelleres Entwicklungstempo. Traditionelle Testverfahren könnten dabei nicht mithalten. Kontinuierliches und frühzeitiges Testen ermöglicht es Entwicklern, Code schnell freizugeben und dennoch das Qualitätsniveau zu halten. 

Passenden Tests für jedes Problem

Entwickler prüfen nun frühzeitig, wie ein Code mit wichtigen Datenquellen interagiert und wie er sich in verschiedenen Browserumgebungen verhält. Durch API-Tests können HTTP-Anfragen und API-Aufrufe verknüpft werden, um End-to-End-Workflows zu verifizieren. So können Entwickler-Teams die verschiedenen Ebenen ihrer Systeme von einem beliebigen Standort aus validieren. Außerdem werden Browsertests durchgeführt, um herauszufinden, wie sich UI-Änderungen auf Webanwendungen auswirken. Sie bilden die Sicht des Benutzers während kritischer Phasen der Anwendungslogik ab, zeigen also ob nach einem Code-Update beispielsweise der „Kaufen“ Button springt oder nicht mehr anwählbar ist. Diese Tests bilden wiederum neue Schnittstellen mit weiteren Verfahren, wie Unit- oder Sicherheitstests, die nun ebenfalls früher als bisher üblich durchgeführt werden. 

Früher, schneller, effektiver

Shift-Left Testing sorgt dafür, dass Entwickler selbstständiger Arbeiten und mehr Verantwortung für ihre Projekte übernehmen können. Sie können viele Probleme direkt erkennen und beheben, ohne das weitere Tester oder Experten hinzugezogen werden müssen. Somit bleibt ihnen mehr Zeit, um auf wichtige Details zu achten, wodurch wiederum weitere Fehler vermieden werden können. Es beginnt ein positiver Kreislauf. 

Auch die Art der Zusammenarbeit von Entwicklerteams innerhalb eines Unternehmens verändert sich mit der neuen Testing-Realität. Tests werden nicht länger von speziellen Test-Teams durchgeführt, sondern von Mitarbeitern aus verschiedenen Bereichen. Dadurch findet ein direkter und offener Austausch statt, um zusammen die besten und schnellsten Lösungen für etwaige Probleme zu finden. 

So wie verschiedene Blickwinkel nötig sind, um effiziente Lösungen zu finden, braucht es auch mehrere Datenquellen. Barrierefreier Zugriff auf korrelierte Metriken, Traces und Logs ermöglicht es den Entwicklern, ihre Testergebnisse mit Daten aus ihrem gesamten Stack in Beziehung zu setzen. So verfügen sie über den nötigen Kontext und können fehlgeschlagene Tests erkennen sowie Fehler beheben, noch bevor der Code in Produktion geht. All diese Punkte zeigen, dass Qualitätssicherung ein ganzheitlicher Prozess ist, der jeden Teil des Entwicklungszyklus, umfassende Datenquellen und Entwicklerteams aus verschiedenen Bereichen einbezieht. Das vormalige Inselleben der Tests scheint da wie aus der Zeit gefallen.

Der Schlüssel zum Erfolg

Fehler möglichst früh zu erkennen und schnell zu beheben – bestenfalls noch bevor diese zu ernsten Problemen werden können – ist der Schlüssel für effektive Qualitätssicherung. So sind weniger Korrekturschleifen notwendig, es kommt zu weniger und kürzeren Ausfallzeiten und neue Software kann früher bereitgestellt werden. Der Shifting-Left Ansatz und automatisiertes Testen beschleunigt den Entwicklungsprozess, steigert die Produktqualität und bietet Entwicklerteams mehr Zeit und Möglichkeiten, weitere kreative und innovative Projekte zu verfolgen. So können Unternehmen Zeit und Geld sparen und sowohl auf Entwickler- als auch auf Kundenseite steigt die Zufriedenheit. 

Stefan Marx, Director Product Management EMEA
Stefan Marx
Director Product Management EMEA, Datadog
Marx ist seit über 20 Jahren in der IT-Entwicklung und -Beratung tätig. In den vergangenen Jahren arbeitete er mit verschiedenen Architekturen und Techniken wie Java Enterprise Systemen und spezialisierten Webanwendungen. Seine Tätigkeitsschwerpunkte liegen in der Planung, dem Aufbau und dem Betrieb der Anwendungen mit Blick auf die Anforderungen und Problemstellungen hinter den konkreten IT-Projekten.

Artikel zu diesem Thema

Cloud
Mai 04, 2021

Die Mischung macht’s - Den richtigen Cloud-Mix finden

Die Hybrid Cloud hat sich - insbesondere nach dem Aufwachen aus dem „Cloud-Only-Traum“ -…
Software Entwicklung
Apr 15, 2021

Shift-Left Testing: Durch frühe Tests den Entwicklungsprozess iterativer gestalten

Um die Qualität digitaler Produkte zu gewährleisten und gleichzeitig die Kosten für…
Mitarbeiter Team
Feb 22, 2021

Der Faktor „Mensch“ in der Softwareentwicklung

Im Jahr 2021 wird das Konzept von DevOps noch stärker an Relevanz gewinnen. Immer mehr…

Weitere Artikel

Programmieren

Wie der Reifegrad der Softwarebereitstellung das Geschäftswachstum ankurbelt

CloudBees gab die Ergebnisse einer Studie bekannt, die in seinem Auftrag von Forrester Consulting durchgeführt wurde und die zeigt, dass Unternehmen mit einem hohen Reifegrad der Software-Bereitstellung dreimal wahrscheinlicher ein jährliches Wachstum von 15…
Login

Jamf verbessert die Verwaltung von gemeinsam genutzten iPhones und iPads

Jamf, Softwareanbieter für Apple-Gerätemanagement, bringt einen neuen Single Login-Workflow auf den Markt, der von Jamf Setup und Jamf Reset unterstützt wird. Der Workflow vereinfacht und sichert die Bereitstellung von gemeinsam genutzten Geräten.
Software

Software wird immer komplexer und sicherer

Die Softwareentwicklung wird sich in den kommenden Jahren mit einer immer höheren Komplexität und stark steigenden Sicherheitsanforderungen konfrontiert sehen. Dies geht aus dem aktuellen Report „IT-Trends der 2020er Jahre“ hervor.
Anwendungssicherheit

Cloud-native Architekturen überfordern herkömmliche Sicherheitslösungen

Traditionelle Ansätze für die Anwendungssicherheit sind durch die zunehmende Nutzung von Cloud-nativen Architekturen, DevOps und agilen Methoden überfordert. Das ist eines der Ergebnisse der unabhängigen weltweiten Umfrage im Auftrag des…

Anzeige

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button "Zum Newsletter anmelden" stimme ich der Datenschutzerklärung zu.