Shift-Left in der Softwareentwicklung, Teil 1 Shift-Left-Testing – die aktuelle Lage

Von Filipe Pereira Martins & Anna Kobylinska 6 min Lesedauer

Anbieter zum Thema

Entwicklungsteams müssen ihren Quellcode immer schneller und häufiger in stets höherer Qualität bereitstellen. Die Linksverschiebung der Qualitätskontrolle – der sogenannte Shift-Left-Ansatz – verspricht Abhilfe und gewinnt in Unternehmen folglich an Bedeutung.

Links auf der Überholspur: Shift-Left-Testing macht effiziente DevSecOps-Workflows erst überhaupt möglich. Hier durchdringt kontinuierliches Testen die kontinuierliche Entwicklung (Dev), Sicherheit (Sec) und Bereitstellung (Ops).
Links auf der Überholspur: Shift-Left-Testing macht effiziente DevSecOps-Workflows erst überhaupt möglich. Hier durchdringt kontinuierliches Testen die kontinuierliche Entwicklung (Dev), Sicherheit (Sec) und Bereitstellung (Ops).

Steil: Relative Kosten eines Softwaredefekts laut einer Analyse von IBM aus dem Jahre 2010; mit dem Aufkommen verteilter Cloud-nativer Anwendungen mag die Diskrepanz sogar noch weiter gestiegen sein.
Steil: Relative Kosten eines Softwaredefekts laut einer Analyse von IBM aus dem Jahre 2010; mit dem Aufkommen verteilter Cloud-nativer Anwendungen mag die Diskrepanz sogar noch weiter gestiegen sein.
(Bild: IBM)

Der Shift-Left-Ansatz verlagert das Testing und andere Aufgaben der Qualitätskontrolle und Leistungsevaluierung in frühere Phasen der Softwareentwicklung. Im DevOps-Lebenszyklus eines Release bedeutet das also eine Linksverschiebung auf der Zeitachse, daher auch der Name.

Der Gedanke dahinter: Durch den Shift-left soll es möglich sein, Softwarefehler früher zu erkennen und zu beheben. Die Linksverschiebung hat also die Aufgabe, die Effizienz zu erhöhen und die Kosten der Softwareentwicklung und -Bereitstellung zu senken.

Ohne Fleiß kein Preis

DevOps und verwandte Ansätze zielen darauf ab, Anwendungen in dynamischen Umgebungen so schnell wie möglich in kleinen Iterationsschritten in die Produktion zu überführen. Laut dem letztjährigen Bericht von GitLab, dem Anbieter der gleichnamigen DevOps-Plattform (The GitLab 2022 Global DevSecOps Survey), nutze fast jedes zweite befragte Unternehmen (47 Prozent) entweder die DevOps- oder die DevSecOps-Methodologie für die Softwareentwicklung.

Als die drei wichtigsten Gründe, sich für DevOps zu entscheiden, nannten die Befragten in der diesjährigen GitLabs-Erhebung in erster Linie verbesserte Code-Qualität, höhere Entwicklerproduktivität und betriebliche Effizienz, sehr dicht gefolgt von verbesserter Sicherheit der resultierenden Anwendungen.

Gewusst, wie: Die DevOps/DevSecOps-Methodologie dominiert die diesjährige GitLab-Umfrage als die am stärksten verbreitete Methodologie der Softwareentwicklung (n=5000, Mehrfachauswahl zulässig).
Gewusst, wie: Die DevOps/DevSecOps-Methodologie dominiert die diesjährige GitLab-Umfrage als die am stärksten verbreitete Methodologie der Softwareentwicklung (n=5000, Mehrfachauswahl zulässig).
(Bild: GitLab)

Andere klare Vorteile waren unter anderem eine kürzere Markteinführungszeit, bessere Kommunikation/Zusammenarbeit und mehr Zufriedenheit unter den Teammitgliedern. In vielen Organisationen kommt aber offenbar ein Mix aus verschiedenen Methodologien zum Tragen. GitLab hat für die Umfrage fünftausend DevOps-Ingenieure gewinnen können.

Die häufige Freigabe kleiner Builds mit geringen Code-Verbesserungen ist heute in Unternehmen da gang und gäbe. 27 Prozent der DevOps-Teams veröffentlichen Code „kontinuierlich“ (also mehrmals täglich), weitere 14 Prozent genau einmal pro Tag und 29 Prozent „alle paar Tage“; die Zahlen addieren sich zu bemerkenswerten 70 Prozent zusammen (The GitLab 2022 Global DevSecOps Survey).

Ein Jahr zuvor (2021) legten ein vergleichbares Tempo gerade einmal neun von zehn Befragten vor – heute sind es gut sechsmal mehr. Das höhere Entwicklungstempo geht für Unternehmen mit neuen Herausforderungen der Qualitätssicherung einher. Die von GitHub befragten Organisationen mussten ihre internen Prozesse neu evaluieren und an die neuen Realitäten im aktuellen Wettbewerbsumfeld anpassen.

Qualitätskontrolle und Sicherheit

Als Teil des kontinuierlichen Softwareentwicklung und der progressiven Bereitstellung übernehmen DevOps-Teams zunehmend die Verantwortung für das Gesamtresultat. Sie müssen immer öfter auch für die Cybersicherheit ihrer Anwendungen geradestehen.

Aus der diesjährigen Umfrage geht hervor, dass gut dir Hälfte der Entwicklerinnen und Entwickler (53%) für die Cybersicherheit „vollumfänglich“ verantwortlich fühlt, ein Anstieg von 14 Prozent gegenüber dem Jahr 2021. Die Marktforscher von GitLab spekulieren, dass dieser Trend ein weiteres Zeichen dafür sein dürfte, dass sich die Sicherheit „nach links verschiebt“.

Je früher, desto besser: Das Shift-Left-Testing nach Altassian, dem Anbieter des Bitbucket-Ökosystems von Pipeline-Integrationen.
Je früher, desto besser: Das Shift-Left-Testing nach Altassian, dem Anbieter des Bitbucket-Ökosystems von Pipeline-Integrationen.
(Bild: Atlassian)

Und tatsächlich: 57 Prozent der befragten Security-Fachkräfte sind überzeugt, dass ihre Organisationen den Shift-Left-Ansatz bereits umgesetzt hätten oder noch soeben mit der Implementierung durch die Zielgerade rasen würden. (Ein weiteres Drittel wollte sich mit dieser Aufgabe mehr als zwei weitere Jahre Zeit lassen.) 39 Prozent der Developer fühlen sich für die Sicherheit nicht im Alleingang, sondern vielmehr als Teil eines größeren Teams verantwortlich. Sieben Prozent der Befragten trügen zwar ihren Teil bei, hätten aber im Team weniger Verantwortung als andere.

Während der Wunsch, die Tests der Cybersicherheit nach links zu verlagern, in den Unternehmen anscheinend vorhanden ist, zeigt der Bericht eine Diskrepanz zwischen dem Versprechen der Linksverschiebung und der gelebten Realität hinsichtlich der Bereitschaft zu finanziellen Investitionen. Nur jeder oder jede zehnte Befragte gab an, dass sie zusätzliche Mittel für die Sicherheit erhalten hätten.

Softwaretests stellen nach wie vor eine Herausforderung für die Unternehmen dar. In den Jahren 2019 bis 2021 waren sie der häufigste Grund für Verzögerungen der Veröffentlichung von Software-Releases. Softwaretests war der Umfrage zufolge eines von insgesamt fünf gleichwertigen Problemfeldern im Hinblick auf die fristgerechte Bereitstellung – neben der Code-Entwicklung, -Überprüfung, Sicherheitsanalyse und der Handhabung von Testdaten.

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

(Weniger) Grabenkämpfe in DevOps

Die Tatsache, dass sich Sicherheitsexperten und Entwickler immer noch nicht grün sind, hilft vermutlich auch kaum: „Es mag zwar ein Klischee sein, wenn man behauptet, dass die Sec- und die Dev-Leute im DevOps-Umfeld streitlustig seien, aber Jahr für Jahr belegen die Zahlen, dass sie zumindest nicht immer auf einer Wellenlänge liegen“, heißt es in dem Bericht. Die Entwickler müssten oft nach wie vor als Prügelknabe herhalten.

Die Hälfte der Sicherheitsexperten in der GitLabs-Umfrage vertreten die Meinung, dass zuvor unbekannte Schwachstellen in 75 Prozent der Fälle auf Development-Fehler zurückzuführen seien. Nur knapp einer von fünf Mitgliedern von Sicherheitsteams haben den Entwicklern das Aufspüren von 50 bis 75 Prozent der aufgedeckten Bugs angerechnet.

Der Prozentsatz der Sicherheitsteammitglieder, die sich über Developer „beschweren“ würden, habe im Vergleich zum vergangenen Jahr deutlich abgenommen, heißt es in dem Bericht. Die Cybersicherheit sei der wichtigste Investitionsbereich für 2022, mit Cloud Computing an zweiter Stelle.

Siebenundfünfzig Prozent der Befragten gaben in der Umfrage an, dass Sicherheit eine Leistungskennzahl für die Entwickler in ihrem Unternehmen darstelle, aber 56 Prozent behaupteten, dass es schwierig sei, Entwickler dazu zu bringen, der Behebung von Code-Schwachstellen wirklich Priorität einzuräumen. Mit der Problematik von Shift-Left-Testing im Zusammenhang mit der Cybersicherheit befasst sich der zweite Teil dieser Reihe.

Tooling für Shift-Left-Automatik

Fast drei Viertel der DevOps-Teams verwenden bereits eine DevOps-Plattform oder wollen diesen Schritt bis Jahresende vollziehen. 69 Prozent der von GitLab Befragten wollen ihre Toolchains konsolidieren, um die Herausforderungen mit Überwachung von Software zu überwinden, (verzögerte) Projektpläne in den Griff zu bekommen und „lebensmüden“ Entwicklerinnen und Entwicklern die (misslichen) Arbeitsbedingungen zu verbessern.

Im vergangenen Jahr hat die Automatisierung von DevOps-Pipelines und Softwaretests drastisch zugenommen. Die Automatisierung schreitet unaufhaltsam voran. Während im Jahre 2020 nur acht Prozent der Umfrageteilnehmer aus Automatisierung Nutzen zogen, waren es im Jahre 2021 beinahe einer von vier.

Im Jahre 2022 hat nahezu jedes zweite Team (47%) bestätigt, dass die Tests in ihrer Entwicklungsabteilung heute bereits vollständig automatisiert ablaufen. Weitere 21 Prozent planen, automatisierte Tests bis Ende des Jahres 2022 einzuführen. Lediglich 15% wollen sich mit dieser Aufgabe noch mehr Zeit lassen.

Anscheinend wird überall mehr getestet. 53 Prozent der Umfrageteilnehmer gaben an, dass das Testen bereits beim Schreiben des Codes stattfindet – die klassische Definition von Shift-Left. Das sind im Übrigen ganze 21 Prozentpunkte mehr als im Jahr zuvor und beinahe genauso viele wie die 57 Prozent der Befragten, die sich bewusst zu Shift-Left bekennen und es so beim Namen nennen.

Etwa sechs von zehn Developern testen ihren eigenen Code. Das sind 34 Prozentpunkte mehr als im Jahre 2021. 50 Prozent der Teilnehmerinnen und Teilnehmer bestätigt, dass in ihrer Organisation Testfachkräfte und Entwickler gemeinsam arbeiten, um den Code in Echtzeit zu testen, während er geschrieben wird.

Die zunehmende Rolle von Künstlicher Intelligenz und Machine Learning als vermeintlicher „Geheimwaffe“ ist in der aktuellen Erhebung nicht zu übersehen. 37 Prozent der Teams KI/ML nutzen beim Testen ihrer Software (gegenüber 25 Prozent im Jahr zuvor); weitere 20 Prozent planen, noch in diesem Jahr aufzuholen. Weitere 19 Prozent wollen die Einführung von KI/ML-gestützten Tests in den nächsten zwei bis drei Jahren hinter sich bringen; die anderen legen darauf offenbar keinen gesteigerten Wert.

Ganze 62 Prozent der Befragten praktizieren ModelOps, während gut die Hälfte auf KI/ML zur Überprüfung von Code (jedoch nicht zum Testen der resultierenden Software) setzen. Fast 40 Prozent der Teams gaben an, dass sie zum Testen ihre Codebasis „Bots“ verwenden würden, im Vergleich zu 15 Prozent im Jahr zuvor. 31 Prozent der Teams verwenden KI/ML für die Codeüberprüfung, fast doppelt so viele wie die Befragten im letzten Jahr. Nur fünf Prozent der Teams haben überhaupt noch keine Pläne geschmiedet, KI/ML in ihre DevOps-Praktiken einzubinden.

Im Allgemeinen herrscht die Überzeugung, dass es im Grunde genommen viel zu viele DevOps-Tools gibt. Die Unzufriedenheit der Entwickler:innen hängt zum Teil aber auch einfach damit zusammen, dass sich diese Werkzeuge in ihrem Leistungsumfang vortrefflich überschneiden. Mit der Wahl der passenden Dev(Sec)Ops-Tools für Shift-Left-Testing befasst sich der dritte Teil dieser Artikelreihe.

Fazit

Die Entwicklung von Software durchläuft gerade eine neue Metamorphose, angetrieben von dem Drang zu einer höheren Effizienz, beflügelt durch neue Ansätze. Zur kontinuierlichen Integration und kontinuierlichen Bereitstellung will sich Shift-Left-Maßnahmen noch kontinuierliches Testen dazugesellen.

(ID:49232324)