Agile Entwicklung erfordert Continuous Testing DevOps und „Shift left“ in drei Schritten
Durch „Shift Left“ rückt das Testen auf dem Zeitstrahl des Software Development Lifecycle weiter nach links. Warum der Begriff bei DevOps und agiler Entwicklung aber etwas irreführend ist und was Unternehmen tun müssen, erläutert Malcom Isaacs von Micro Focus.
Anbieter zum Thema

Konventionelle Entwicklungsmodelle werden aktuell vermehrt von agilen Methoden und DevOps-Konzepten abgelöst. Damit gehen Prozessoptimierungen einher, in der Software-Entwicklung sieht man beispielsweise vermehrt einen „Shift left“-Trend.
Im Zuge dieses „Linksrucks“ geht es darum, im Entwicklungszyklus möglichst frühzeitig mit dem Testen zu beginnen. Im Folgenden befasst sich Malcolm Isaacs, Senior Solutions Marketing Manager bei Micro Focus, mit den drei wichtigsten Aspekten dieses Trends:
1. Iterative Entwicklung
Früher entwickelte man Software schrittweise entlang einer Zeitachse, die von links nach rechts verlief. Nachdem die Software freigegeben war, musste das Operations-Team sicherstellen, dass alles funktioniert und die – in der Regel zahlreichen – Probleme beheben. Den meisten dürfte in diesem Kontext das Wasserfallmodell ein Begriff sein.
Heute verfolgt man bei der Entwicklung eine gänzlich andere Vorgehensweise: Die Produkte werden iterativ, also in Entwicklungszyklen, hergestellt. Ziel ist es, dem Nutzer so schnell wie möglich ein brauchbares Produkt zu liefern. Das bedeutet, dass man zunächst ein „Minimum Viable Product“ (MVP), also eine rudimentäre, aber dennoch nutzbare Version des Produkts zur Verfügung stellt und das darauffolgende Kundenfeedback in die weitere Entwicklung einfließen lässt.
Das Team entwickelt dann schrittweise zusätzliche Funktionalitäten, die sogenannten „Stories“, die nach dem gleichen Prinzip wie das MVP an die Kunden ausgeliefert werden, bis das Projekt abgeschlossen ist. Dabei ist ein hohes Maß an Kooperation zwischen Business Analysten, Product Ownern, Entwicklern, Testern und Kunden erforderlich.
2. Der Shift-Left und das Testen
Je später ein Fehler erkannt wird, desto teurer ist es, ihn zu beheben. Wenn ein Defekt sicherheitsrelevant ist oder gegen Vorschriften wie die Datenschutzgrundverordnung (DSGVO) verstößt, kann es zu hohen Geldstrafen kommen – von den Auswirkungen auf die Unternehmensreputation ganz zu schweigen.
Wird er hingegen mehr oder weniger im Moment seiner Entstehung entdeckt, kann man ihn sofort beheben und damit spätere, mitunter schwerwiegende Komplikationen vermeiden. Man sollte den Testing-Prozess auf der Entwicklungs-Zeitachse also nach links verlagern, das heißt, früher mit dem Testen beginnen. Auch für die schnelle Bereitstellung eines brauchbaren MVP ist dieses Verfahren unabdingbar.
Im Grunde genommen ist der Begriff Shift-Left irreführend, denn gemeint ist damit nicht, dass sich das Testing in eine frühere Phase der Entwicklung verschiebt. Vielmehr geht es um das kontinuierliche Testen über den gesamten Lebenszyklus der Softwareentwicklung; das sogenannte Continuous Testing, das den Schlüssel zu einer effektiven, kontinuierlichen Integration darstellt.
3. Automatisierte Tests
Um die Testzeiten zu verkürzen und eine möglichst gute Testabdeckung zu erzielen, müssen Tests automatisiert werden. Getestet werden mindestens die Disziplinen Funktion, Leistung und Sicherheit.
Doch trotz der zahlreichen Vorteile, die das dargestellte Konzept mit sich bringt, sind bislang laut dem World Quality Report 2018-19 nur 14 bis 18 Prozent der Testaktivitäten automatisiert. Dafür gibt es eine Reihe von Gründen. Die kontinuierliche Integration bedeutet, dass sich der Quellcode ständig ändert und viele automatisierte Tests nicht robust genug sind.
Zweitens erfordert automatisiertes Testing zuverlässige Testumgebungen und Testdaten. Insbesondere Daten aus Produktionssystemen müssen Vorschriften wie der allgemeinen Datenschutzgrundverordnung (DSGVO) der EU entsprechen. In vielen Teams sind dafür bislang noch nicht die nötigen Skills vorhanden.
Fazit
Durch die schrittweise Einführung der Automatisierung in ihre Prozesse können Unternehmen im Laufe der Zeit eine Pipeline entwickeln, die in der Lage ist, zuverlässige und konsistente Testumgebungen und Testdaten bereitzustellen und automatisierte Tests über den gesamten Lebenszyklus hinweg durchzuführen. Durch den Shift-Left werden Fehler schneller gefunden, sind weniger kostspielig zu beheben und ermöglichen es den Teams, ihre Bemühungen auf den Geschäftswert zu konzentrieren, anstatt auf das Debugging
(ID:45790561)