Blog - Mr Suricate

Shift-Right Testing: Warum Testen und Automatisieren in der Produktion eine strategische Praxis ist

Verfasst von Mr Suricate | 9. März 2023 10:58:30

Die Produktionsfreigabe macht nur die Hälfte der Softwarelieferung aus. Die andere Hälfte besteht darin, die Qualität in großem Umfang mit echtem Arbeitsaufwand zu sichern.

Ohne das "Shift-Left-Testing" zu ersetzen, das in einem agilen Ansatz darin besteht, die Tests zwischen QA / PO und Entwicklern vorzubereiten, sie auszuführen und die Qualität und Leistung zu Beginn des Entwicklungsprozesses zu bewerten. Das "Shift-Right Testing" ist eine ergänzende Praxis, die es ermöglicht, die Qualität seiner Anwendung in der Vorproduktion und in der Produktion maximal zu sichern.

In diesem Artikel wird erläutert, warum Shift-Right-Testing eine strategische Praxis in Ihrem Entwicklungsprozess ist.

 

Was ist Shift-Right-Testing?

Shift-Right-Testing ist ein Testansatz, bei dem der Testprozess auf die rechte Seite des Lebenszyklus der Softwareentwicklung verlagert wird. 

Das bedeutet, dass die Tests später im Entwicklungsprozess, näher am Zeitpunkt des Einsatzes oder sogar erst nach dem Einsatz durchgeführt werden.

Das Ziel der Shift-right-Tests ist es, die Usability, die Stabilität und aufkommende Produktionsprobleme zu verstehen.

Shift-Right-Testing beinhaltet einen kontinuierlichen Testprozess, der eine frühzeitige Erkennung und Korrektur von Fehlern vor den Endnutzern ermöglicht, was letztendlich zu qualitativ hochwertigerer Software und damit zu einer schnelleren Markteinführung führt.

Tests in der Produktion liefern :

  • Erweiterter Zugriff auf die Produktionsumgebung und auf Module, die nur in der Produktion zugänglich sind (Dienste von Drittanbietern).
  • Die tatsächliche Leistung des Servers, auf dem die Anwendung gehostet wird.
  • Endnutzer und ihr Verhalten, wenn sich die Produktionsnachfrage im Laufe der Zeit ändert.

Shift-Right-Testing ist eng mit der DevOps-Methode verbunden, bei der die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams im Vordergrund steht, um den Prozess der Softwarebereitstellung zu automatisieren und zu rationalisieren.

Arten von Shift-Right-Testing

Das Shift-Right-Testing kann mithilfe verschiedener Techniken durchgeführt werden:

Sondierende Tests

Ein manueller Testansatz, bei dem die Tester die Anwendung mit dem Ziel erkunden, Fehler zu finden, die in anderen Testphasen übersehen worden sein könnten.

Fortlaufende Tests

Kontinuierliches Tes ten ist eine Art des Softwaretests, bei der das Produkt früh, häufig und während des gesamten Prozesses der kontinuierlichen Lieferung ("continuous delivery" - CD) bewertet wird.

Beim kontinuierlichen Testen werden automatisierte Tests eingesetzt, um sicherzustellen, dass die Teams sofortiges Feedback erhalten, damit potenzielle Risiken während des gesamten Lebenszyklus der Softwareentwicklung so schnell wie möglich eingegrenzt werden können.

A/B-Tests

Das Team baut und veröffentlicht zwei Versionen der gleichen Funktionen, um die Reaktion des Nutzers zu überprüfen.

A/B-Tests sind ideal, um die Nutzung der Software und die Vorlieben der Nutzer zu verstehen, und können erst nach der Produktionsfreigabe durchgeführt werden.

Compliance-Tests in der Produktion

Die Infrastruktur, auf die sich eine Anwendung stützt, ändert sich ständig. 

Bei Produktionstests wird die Qualität eines bestimmten Produktionseinsatzes und der sich ständig verändernden Produktionsumgebung analysiert.

Blue/Green deployment

Der blau/grüne Einsatz erfordert zwei Produktionsumgebungen, die gepflegt werden.

Eine wird gerade genutzt, die andere dient als Backup. Das System kann schnell auf die andere Umgebung umschalten, wenn es in der bestehenden Umgebung zu Problemen kommt, z. B. aufgrund eines neuen Codes oder eines Serverausfalls.

Canary Release

Im Zusammenhang mit Softwaretests ist Canary Release die Verbreitung von Änderungen am Programmiercode an eine kleine Gruppe von Endnutzern. 

Diese Tests werden verwendet, um den Code mit einer kleinen Stichprobe zu testen, um die Stabilität der Anwendung zu verstehen.

Feature-Flags (oder Feature-Toggle)

Feature Flags stellen eine Entwicklungstechnik dar, die es ermöglicht, mehrere Versionen einer Funktion in einer Anwendung parallel zu verwalten. 

Ihre Aufgabe ist es, eine Funktion in einer Anwendung zu aktivieren oder zu deaktivieren, ohne dass sie neu bereitgestellt werden muss.

Dies hilft dem Team, Änderungen vorzunehmen, ohne zusätzlichen Code zu pushen, und ermöglicht ein kontrollierteres Experimentieren während des gesamten Funktionslebenszyklus.

Chaos-Test

Chaos-Tests versuchen, das Unerwartete zu lösen. Es ist ein Ansatz, um ein System zu bauen, das jeder Art von Ausfall standhalten kann. 

Fehler werden in die Software und in den Server eingebaut, um zu überprüfen, wie die Software funktioniert und auch, ob sie sich erholen kann.

Belastungstests

Bei dieser Art von Test wird die Leistung eines Systems unter verschiedenen Belastungen oder Stressniveaus gemessen, um sicherzustellen, dass es das erwartete Verkehrsaufkommen und die erwartete Nutzung bewältigen kann.

 

Strategische Vorteile des Shift-Right-Testing

Verbesserung der Softwarequalität 

Shift-Right-Testing kann helfen, Probleme zu entdecken, die in früheren Testphasen (mit Shift-Left-Testing) vielleicht nicht erkannt wurden.

Dies kann dazu beitragen, die Gesamtqualität der Software zu verbessern und das Risiko von Fehlern, die die Endnutzer betreffen, zu verringern.

Unangenehme Überraschungen ausschließen

Die tatsächliche Leistung von Software in der Produktionsumgebung ist nicht vorhersehbar. Dabei spielen mehrere externe Faktoren eine Rolle, wie z. B. die schwankende Nutzung von Ressourcen.

Shift-Right-Testdaten sind Testergebnisse der tatsächlichen Arbeitsbelastung, die dabei helfen, Probleme mit der Leistung, der Funktionalität und der Benutzererfahrung zu erkennen.

So können Probleme in kleinen Schritten gelöst werden, anstatt später mit großen Problemen konfrontiert zu werden. 

Schnellere Time-to-market

Durch das schnelle Erkennen und Beheben von Problemen können Shift-Right-Tests dazu beitragen, neue Funktionen und Versionen schneller auf den Markt zu bringen, wodurch Organisationen wettbewerbsfähiger bleiben.

Verbesserte Nutzererfahrung

Shift-Right-Tests basieren darauf, wie der Kunde die Anwendung nutzt.

Durch das Erkennen und Behandeln von Problemen, die sich auf die tatsächliche Nutzererfahrung auswirken, können Shift-Right-Tests dazu beitragen, eine reibungslose und fehlerfreie Nutzerreise zu gewährleisten.

Erhöhte Agilität

Durch die Möglichkeit, schnell zu experimentieren und Feedback zu geben, helfen Shift-Right-Tests Organisationen dabei, besser auf die schwankenden Marktbedingungen und die Erwartungen der Kunden von heute und morgen zu reagieren. 

 

Shift-Right Testing | Die Bedeutung der Automatisierung in der Produktion

Die Testautomatisierung ist der Schlüssel zum Shift-Right-Testing. Mit einem Tool für automatisierte Tests lässt sich eine ganze Pipeline von kontinuierlichen Tests konfigurieren, die Integrations-, Leistungs- und Sicherheitstests umfasst.

Diese automatisierten Tools können eingesetzt werden, um unerwartetes Verhalten in der Produktionsumgebung zu erkennen, sobald es auftritt. Sie sammeln automatisch Daten über die in Produktion befindliche Software, sodass Sie leicht erkennen können, welche Teile Ihrer Software korrigiert werden müssen.

Im Wesentlichen ist die Automatisierung bei Shift-Right entscheidend, um schnellere, genauere und kostengünstigere Tests zu erhalten!

Vorteile der Automatisierung Ihrer Shift-Right-Tests : 

  • Schnellere Rückmeldungen
  • Größere Testabdeckung
  • Gewährleistet, dass die Software gründlich und konstant getestet wird
  • Kosten senken 

 

Mr Suricate | Eine SaaS-Lösung zur Automatisierung Ihrer Tests in der Produktion

Mr Suricate ist eine SaaS-No-Code-Lösung für automatisierte Tests, die in Echtzeit Fehler auf Webseiten, mobilen Apps und APIs aufspürt. 

Im Kontext von Shift-Right-Testing hat die Lösung mehrere entscheidende Vorteile: 

  • Getaktete und regelmäßige Produktionsausführungen
  • Ein System von Tags und Funktionen, um eine umfassende Testabdeckung zu gewährleisten
  • Eine API, die in Ihr CI/CD integriert wird
  • Service "kontinuierliche/proaktive Wartung"
  • Dashboards, die die Aktivität der Anwendung und ihre Nutzbarkeit überwachen

Unsere Lösung für die Testautomatisierung hat vielen Unternehmen geholfen, Innovationen voranzutreiben und ihre digitale Transformation zu beschleunigen.