Qualitätssicherung 2.0

Shift-Left Testing als neuer Standard

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.

Anzeige

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. 

Anzeige
Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

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

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
Anzeige

Artikel zu diesem Thema

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.