Produktinnovation im Zeitalter der vernetzten Produkte und Dienstleistungen
Perfektion ist kein Ziel; es ist eine kontinuierliche Reise, die niemals endet". Brian Tracy
"In einem dynamischen Geschäftsumfeld, das eine schnelle und häufige Bereitstellung von Software erfordert, ist es schwierig, alle möglichen Anwendungsszenarien in der Vorproduktion zu testen. Testen eignet sich hervorragend zum Aufspüren und Beheben von Fehlern, die wir erwarten, während die Fehler, die wir in der Produktion aufdecken, oft völlig überraschend sind.
Kürzlich war British Airways gezwungen, Hunderte von Flügen zu streichen, da ein katastrophaler Ausfall der IT-Systeme zu schweren Störungen des Flugbetriebs führte. Am Flughafen Heathrow, dem Drehkreuz des britischen Luftverkehrs und einem der verkehrsreichsten Flughäfen der Welt, herrschte ein noch nie dagewesenes Chaos, das Zehntausenden von Reisenden an einem stark frequentierten Feiertagswochenende große Unannehmlichkeiten bereitete, da die Fluggesellschaft ihren Flugbetrieb fast drei Tage lang nicht wieder aufnehmen konnte. Diese Katastrophe verursachte nicht nur erhebliche finanzielle Verluste, sondern hat auch das Image von British Airways schwer beschädigt. Dies ist genau die Art von Albtraumszenario und IT-Desaster, die jedes Unternehmen verhindern möchte.
Digitale Unternehmen, vernetzte Landschaften und die Forderung nach 100%iger Betriebszeit
Da ein perfekter Sturm aus aufkommenden Technologien und disruptiven Geschäftsparadigmen wie Industrie 4.0 das Tempo der digitalen Transformation beschleunigt, erfinden sich Unternehmen in praktisch allen wichtigen Bereichen schnell als digitale Unternehmen neu. Die vielleicht größte Auswirkung dieses Wandels spiegelt sich in der Forderung nach einer kontinuierlichen Pflege von Software und Systemen wider, um eine stets verfügbare oder bedarfsorientierte Umgebung in einer vernetzten Landschaft zu unterstützen. In betrieblicher Hinsicht hat dies enorme Auswirkungen, da die Unternehmen ihre technologischen Abläufe und QS-Prozesse neu ausrichten müssen, um eine 100%ige Betriebszeit zu gewährleisten.
Wechselnde Facetten der Software-Qualitätssicherung (QA)
In dem Maße, wie sich die Softwareentwicklung zu einem iterativen Prozess entwickelt hat, hat auch die Software-Qualitätssicherung Schritt gehalten und sich zu einem integrierten und kontinuierlichen Prozess entwickelt, der eine schnelle und schrittweise Bereitstellung unterstützt. Dank des phänomenalen Wachstums von vernetzten Produkten, Geräten und einer Vielzahl von Browsern hat auch die Komplexität der Softwareanwendungen exponentiell zugenommen, was einen umfassenden Test und eine Qualitätssicherung erforderlich macht, die alle
Kritische Implementierungen und Alptraum von IT-Katastrophen
Selbst bei einem gut etablierten QA-Prozess vor der Produktion besteht in einer schnelllebigen Umgebung mit unbekannten/dynamischen Variablen immer die Möglichkeit, dass sich das System in einer unvorhergesehenen Weise verhält und in der Produktionsumgebung zu einem IT-Desaster führt. Da kein Unternehmen einen katastrophalen Softwareausfall riskieren möchte, vor allem nicht bei kritischen Implementierungen, die 100 %ige SLAs erfordern, versuchen sie, das Systemverhalten unter starker Belastung oder Stress zu testen, aber es ist sehr oft eine große Herausforderung, die Produktionsumgebung nachzubilden.
Testen in der Produktion (TiP)
Die aufkommende QS-Praxis des Testens in der Produktion (TiP) ist eine logische Erweiterung der Software-QS und kann ein unschätzbares Werkzeug sein, um sicherzustellen, dass die Software/das System wie erwartet funktioniert, und IT-Katastrophen zu verhindern. TiP ist kein futuristischer Mythos, sondern eine Praxis, die von digitalen Pionieren wie Amazon, Facebook und Google bereits erfolgreich eingesetzt wird. Während es bei der traditionellen Qualitätssicherung darum geht, die Software in der Vorproduktionsphase, d.h. vor der Veröffentlichung, zu testen, geht es bei
- Testen mit Produktionsdaten
- Validierung der Geschäftslogik und der Kundenerfahrung in einer Live-Umgebung
- Testen, nicht simulieren, Notfallwiederherstellung
Es ist wichtig zu beachten, dass TiP nicht der letzte Schritt im Software-Qualitätssicherungsprozess ist, sondern als ein erster Schritt zur Bereitstellung angesehen werden sollte.
Verschiedene Arten von TiP
Einige der beliebten Methoden, die für TiP verwendet werden, werden im Folgenden kurz beschrieben:
Canary Testing , auch bekannt als Canary Deployment, ist eine Technik zum Testen einer neuen Software mit einer kleinen Untergruppe von Benutzern in der Produktionsumgebung. Wenn die Systemleistung und die Ergebnisse den Erwartungen entsprechen, wird die Software für alle Benutzer freigegeben. Wenn nicht, werden Korrekturen vorgenommen, bevor die Funktion für ein breiteres Publikum eingeführt wird.
Der Freigabeprozess von Facebook ist ein großartiges Beispiel für die erfolgreiche Verwendung von Canary-Einsätzen. Wie viele von Ihnen wissen, veröffentlicht Facebook mehrere Versionen an einem Tag. Facebook verwendet eine Teststrategie mit mehreren Kanarienvögeln, wobei der erste nur für die internen Mitarbeiter sichtbar ist und alle Funktionen aktiviert hat, damit sie Probleme mit neuen Funktionen frühzeitig erkennen können.
Canary-Tests sind eine effektive Strategie für die schrittweise Einführung und Validierung der Kundenerfahrung und Geschäftslogik in einer Live-Umgebung.
Blue-Green-Bereitstellung ist eine Technik, bei der Sie zwei möglichst identische Live-Umgebungen erstellen. Wenn, sagen wir, die aktuelle Version in
A/B Split Testing ist eine beliebte Art des experimentellen Testens, bei der zwei Versionen einer Webseite oder einer App bereitgestellt und ihre Leistung bewertet werden. Die Version, die besser abschneidet, wird weiterverwendet, die andere wird verworfen. Dies ist eine effektive Technik, um Varianten der Benutzerfreundlichkeit, des Website-Designs und sogar Produktbeschreibungen und Überschriften zu testen. Erfolgreiche Einzelhändler wie Amazon nutzen A/B-Tests in großem Umfang, um die UX und die Konversionsrate ihrer Dienstleistungen zu verbessern. Einige Unternehmen verwenden auch Multivariaten-Tests, eine fortgeschrittene Form des A/B-Tests. Der Hauptunterschied besteht darin, dass mehrere Elemente zwischen den Versionen variiert werden, um zu sehen, welche Kombination besser abschneidet.
Synthetische Benutzertests, auch bekannt als synthetisches Monitoring, ist eine ausgeklügelte Technik zur Leistungs- und Anwendungsüberwachung, die es ermöglicht, die Benutzererfahrung mit simulierten Benutzern zu testen. Auf diese Weise können Sie verschiedene Attribute testen und ihre Leistung messen, ohne dass echte oder reale Benutzer anwesend sind. Dies ist eine beliebte Strategie, um neue Funktionen und Dienste zu testen, bevor echte Benutzer hinzukommen.
Real User Monitoring (RUM), auch bekannt als passives Monitoring, ist eine Technik zur Aufzeichnung der tatsächlichen Benutzererfahrung/Aktivität in Echtzeit mit Hilfe eines nicht-aufdringlichen Monitoring-Tools. Die gesammelten Daten werden analysiert, um die Leistung der Website, der Anwendung oder des Online-Dienstes zu ermitteln und potenzielle Verbesserungsbereiche sowie Engpässe zu identifizieren. Im Gegensatz zur synthetischen Überwachung (die mit Skripten und simulierten Benutzern durchgeführt wird) wird die Überwachung von echten Benutzern ohne Skripte und mit echten Benutzern durchgeführt. Eine Kombination aus synthetischer und realer Benutzerüberwachung kann sehr effektiv sein, um einen vollständigen Überblick über das System, die Anwendungsleistung und die Benutzererfahrung zu erhalten.
Fault Injection und Recovery-Tests sind Techniken, bei denen ein Fehler oder Ausfall in die Produktionsumgebung eingeführt wird, um die Systemleistung, die Fähigkeit zur Fehlerbehandlung und den Wiederherstellungsprozess zu testen. Sie werden oft in Kombination mit Stresstests eingesetzt, um die Robustheit und Effektivität des geplanten Disaster Recovery-Prozesses zu testen.
Meiner Erfahrung nach neigen selbst Unternehmen mit ausgefeilten Software Assurance-Funktionen dazu, die Notwendigkeit von Testing in Production zu übersehen. Erfolgreiche digitale Einhörner wie Facebook, Amazon und Google haben die Wirksamkeit von
Verfasst von
Seshu Loka, SVP, Technology Strategy & Platform Solutions
At coMakeIT, Seshu drives technology and software transformation solutions along with overseeing customer onboarding, engineering practices, and delivery responsibilities for multiple customers across the UK, Netherlands and Australia.
Unsere Ideen
Weitere Blogs

Testgetriebene Entwicklung (TDD) mit dbt: Erst testen, dann SQL
Testgetriebene Entwicklung mit dbt: Erst testen, dann SQL Wenn Sie mehr als drei Tage als Analytik-Ingenieur verbracht haben, hatten Sie...
Dumky de Wilde

Python Mocking, die heimtückischen Bits
Bei dem Versuch, eine Funktion in meinem Python-Code zu spiegeln, bin ich auf diesen hervorragenden Blog von Durga Swaroop Perla gestoßen. Der Blog...
Jan Vermeir
Contact

