Anzeige

Software Entwicklung

Um die Qualität digitaler Produkte zu gewährleisten und gleichzeitig die Kosten für Fehlerbehebungen zu minimieren, empfiehlt es sich, das Testing bereits frühzeitig in den Software-Entwicklungsprozess zu integrieren.

Wie das genau funktioniert und welche Vorteile sich damit verbinden, erklärt Jan Wolter, General Manager EU bei Applause.

Was ist und wofür braucht man Shift-Left Testing?

“Der frühe Tester findet den Bug” – diese Abwandlung eines altbekannten Sprichworts fasst den Ansatz des Shift-Left Testings kurz und knapp zusammen. Indem ich bereits frühzeitig im Software-Lebenszyklus anfange zu testen, kann ich Probleme gleich im Anfangsstadium erkennen und sie so schneller und effizienter korrigieren. Das hat letztlich einen großen Einfluss auf den späteren Projektverlauf und -erfolg. Denn Fehler, die erst am Ende des Entwicklungsprozesses entdeckt werden, richten einen umso größeren Schaden an, da ihre Behebung erheblich mehr Zeit, Aufwand und Geld kostet.

Automatisierungen vereinfachen die Linksverschiebung

So weit, so verständlich. Aber wie sieht die Umsetzung dieses Testing-Ansatzes genau aus? Für die Linksverschiebung von Tests stehen verschiedene Modelle zur Verfügung. Agile/DevOps ist dabei  die nützlichste Methode, denn sie priorisiert die Erstellung und Ausführung von Tests genau in dem Moment, in dem der Code geändert wird. Testautomatisierungen ermöglichen besonders schnelle Tests, die vom QA-Team mehrmals am Tag durchgeführt werden können. Wenn die Automatisierungsskripte Fehler entdecken, werden diese direkt in den Product Development Funnel zurückgeführt – so wird nicht nur die Code-Qualität, sondern ebenso die Code-Abdeckung durch die Entwicklung von Testfällen und Testsuiten kontinuierlich verbessert. 

Prozesse und Kultur anpassen

Der Einsatz von Automatisierungen zu einem frühen Zeitpunkt im SDLC kann den gesamten Software-Lieferzyklus beschleunigen. Daneben gibt es jedoch noch weitere wichtige Schritte, um den Shift-Left-Ansatz konsequent und erfolgreich umzusetzen. Als wichtigste Erkenntnis steht dabei am Anfang, dass sowohl die Entwicklungs- als auch die Test- und Produktmanagement-Teams an der Linksverschiebung beteiligt sein müssen. Mit anderen Worten: Das Shift-Left-Testen ist eine Aufgabe und Verantwortung der gesamten Organisation. Alle Teams müssen dabei klar kommunizieren, damit sie die Bedürfnisse des jeweils anderen verstehen und die richtigen Tests in den Build-Zyklus aufnehmen, Fehler effizient beheben und iterativ vorgehen können. 

Damit dies gelingt, sollten generell vor allem die Tester mit den Anforderungen, dem Software-Design, der Architektur, der Codierung und der Funktionalität bestens vertraut sein. Nur so sind sie in der Lage, zu jedem Zeitpunkt die richtigen Fragen zu stellen, kompetentes Feedback zu geben und so erfolgreich im ständigen Austausch mit den Entwickler:innen und Produktmanager:innen zusammenzuarbeiten.

Umfangreiche Testsuites sicherstellen

Der Begriff "Shift-Left" umfasst sämtliche Arten von Tests und beschreibt letztlich das Ziel, diese mithilfe von Testautomatisierungszyklen früher im Build-Zyklus abzuschließen. Hierfür müssen also verschiedene Arten von Tests sowie statische Code-Analysen mit spezifischen Tools durchgeführt werden – und das in großem Umfang und innerhalb einer CI/CD-Pipeline. Hinzu kommt, dass die Plattformabdeckung in einem ebenfalls großen Umfang aufrechterhalten werden muss. Nur so kann sichergestellt werden, dass die zu testenden Plattformen auf dem neuesten Stand sind und sich in einem testbereiten Zustand befinden.

Genauer gesagt, sollte für jeden Software-Build, der getestet wird, der Umfang der Testsuite folgende Punkte umfassen:

  • eine Mischung aus wichtigen funktionalen Testszenarien,
  • Unit-Tests, die sich auf die geänderten Bereiche zwischen dem vorherigen und dem aktuellen Build beziehen,
  • Sicherheits-, Performance- und relevante explorative Tests, die durch die CI-Jobs ausgelöst und parallel auf verschiedenen unterstützten Plattformen ausgeführt werden.

Da Software-Releases dynamisch sind, müssen die Testsuites zwischen den Builds überprüft und gepflegt werden. So lässt sich sicherstellen, dass der Umfang relevant bleibt und mit dem geänderten Code oder den implementierten Story Points Schritt hält. Schließlich müssen auch die für das Testen vorgesehenen Plattformen (mobile Geräte, Webbrowser, Desktops usw.) zwischen und während der Zyklen in einem betriebsbereiten Zustand sein. 

Testautomatisierungscode wie Produktionscode behandeln

Damit Testautomatisierung zum Enabler für Shift-Links und agiles Testen werden kann, muss die Testautomatisierung von hohem Wert sein. Um diesen Wert zu erreichen, sollten Entwickler und Testingenieure den Testcode durch Source Control und Code Reviews pflegen. Darüber hinaus sollten sie ihre Tests innerhalb der CI-Pipeline halten und immer grünes Licht für den Code geben – es sei denn, es liegt ein echter Fehler vor.

Bei jeder Testautomatisierung gibt es ein unvermeidliches Maß an Unregelmäßigkeiten. Um dieses auf ein Minimum zu reduzieren, sollten die Codierungsstandards befolgt, Qualitätstransparenz sichergestellt sowie weitere Methoden wie etwa KI-Algorithmen einbezogen werden.

Fazit

Indem IT-Teams all diese Punkte berücksichtigen, können sie letztlich die Kodierung und das Testen zu einer einzigen Aktivität zusammenfassen, in der Folge ihre Effizienz steigern und Code-Instabilitäten drastisch reduzieren. In einem solchen iterativen Entwicklungs- und Testprozess lassen sich Bugs früher identifizieren, die Kosten für Fehlerbehebungen entsprechend reduzieren und Software schneller und häufiger veröffentlichen.

Jan Wolter, General Manager
Jan Wolter
General Manager, Applause

Artikel zu diesem Thema

Pareto
Mär 31, 2021

Testautomatisierung – aber richtig: Anwendungen besser und schneller bereitstellen

Ohne sie ist der Geschäftserfolg in Gefahr. Doch auch ein Zuviel kann mehr schaden als…
DevOps
Jan 15, 2021

Bei der Implementierung von DevOps gilt: Der Weg ist das Ziel

Die Erwartungen an Softwareentwickler sind in den letzten Jahren rasant gestiegen: Immer…
Hacker
Dez 17, 2020

Wie Bug-Bounty-Programme Penetrationstests den Rang ablaufen

In den letzten Jahren hat sich die Art und Weise, wie IT entwickelt, geliefert und…

Weitere Artikel

Managed Services

Visibility as a Service bietet umfassenden Schutz für kritische IT-Services

NETSCOUT SYSTEMS, ein Anbieter von Cybersecurity-, Service Assurance- und Business Analytics-Lösungen, hat heute sein Managed Service-Angebot NETSCOUT Visibility as a Service (VaaS) vorgestellt, das rund um die Uhr Tests, Überwachung, Fehlerbehebung und…
Code - Software

Sechs profunde Gründe für die gemeinsame Codebasis von Programmen

Es ist wenig sinnvoll, das Rad ständig neu erfinden zu wollen. In der Software-Entwicklung ist das aber immer noch häufige Praxis. VNC erklärt die wichtigsten Vorteile einer einheitlichen Codebasis.
Software

Mythen rund um Softwareverteilung

Beim Endpoint-Management und bei der Verteilung von Softwarepaketen finden sich IT-Chefs und Admins häufig mit dem Status Quo ab. Sie können sich nicht vorstellen, dass es auch einfacher, zuverlässiger und ressourcenschonender als bisher geht.
Open Source

Die Open-Source-Revolution ist in den Fachabteilungen angekommen

Viele IT- und Entwicklungsabteilungen in Unternehmen haben die Fesseln von Closed Source inzwischen abgeworfen und setzen auf quelloffene Software. Schließlich müssen sie im Zuge der Digitalen Transformation sich schnell ändernde IT-Anforderungen umsetzen und…
Dokumentenmanagement

5 Ansatzpunkte, die ein DMS in der Logistikbranche abdecken sollte

Digitalisierung ja – aber wie packen wir es an? Diese Frage treibt viele Verantwortliche für Prozessmanagement und in der Unternehmensführung um. Der «Digital Office Index» der Bitkom zeigte deutlich, dass der deutsche Mittelstand beim Thema Digitalisierung…
Remote Monitoring

IT optimieren mit Remote Monitoring und Management

Schon mal von RMM gehört? Noch nicht? Dann wird es Zeit, denn mit Remote Monitoring und Management können kleine und mittelständische Unternehmen in der IT-Verwaltung massiv entlastet werden – zudem wird ihre Infrastruktur stabiler und ausfallsicherer. Wir…

Anzeige

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

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