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

Cloud Security

Cloud Optix für AWS jetzt noch effektiver

Sophos stellt seine AWS (Amazon Web Services)-Erweiterungen für Sophos Cloud Optix vor. Neu ist die automatisierte Erkennung und Reaktion auf Sicherheitsvorfälle in der AWS-Infrastruktur.
Digitales Meeting

New-Work-Umgebungen und Meetings optimal schützen - aber wie?

Mit der strategischen Einführung von New Work verankern Firmen das flexible Arbeiten in Projektteams, das „Work from Anywhere“-Prinzip und hybride Meetings langfristig in ihrer Unternehmensstrategie. Dazu müssen sie in vielen Fällen die ad hoc entstandenen…
Windows 11

Windows 11 – Vor dem Upgrade

Mit Windows 11 stellt Microsoft ein Betriebssystem mit neuen, fortschrittlichen Funktionen zur Verfügung, das sowohl Einzelnutzern als auch Unternehmen eine Reihe potenzieller Vorteile bietet. Während private Anwender sich jedoch in der Regel um nur einen PC…
COBOL

Drei Tipps für eine IT-Strategie von Morgen mit COBOL

Veränderungen von digitalen Strukturen innerhalb eines Unternehmens sind allgegenwärtig: Viele IT-Teams setzen zunehmend auf State-of-the-Art-Technologien und Software und oftmals steht das Ziel im Raum, etablierte Kernsysteme vollständig zu ersetzen.

Anzeige

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

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