Veröffentlicht: März 18, 2021
Der wahre Weg zum Erfolg beim Testen in der Produktion
Tests in der Produktion wurden oft als eine Testmethode angesehen, die viel Chaos verursachte. Allerdings haben wir das gelernt kein Frontalunterricht. Auch das Testen in der Produktion ist ein Problem. Lesen Sie weiter für mehr.
„Schließen Sie die Brandschutztüren!“ schrien die Sturmtruppen, als sie Han und Chewie durch die Gänge des Todessterns jagten. Die Türen begannen sich zu schließen – aber Han und Chewie schlüpften hindurch, bevor sie versiegelt wurde. „Öffne die Explosionstüren! Öffne die Explosionstüren!“ schrien die Sturmtruppen, als ihnen klar wurde, dass sie jetzt feststeckten.
So sah früher das Testen in der Produktion aus. Entwickler ließen ihre Releases durch die sich schließenden Explosionsschutztüren laufen, während das QA-Team sie verfolgte. Das war sicher metaphorisch gemeint, aber ich würde dieses Szenario gerne im echten Leben erleben. Die schlechte Nachricht für die QA in dieser Situation war, dass die Flucht von Han und Chewie zur Zerstörung des Todessterns führte. Dasselbe gilt in der Welt des kontinuierlichen Testens, in der die Entwickler in der Hoffnung, ihre mobilen Apps auf dem neuesten Stand zu halten, die QA vernachlässigen und nur noch mehr Chaos verursachen. In diesem Fall wird das Leid auf die Benutzer übertragen – und raten Sie mal, wohin das reicht? Ja – auf das Unternehmen selbst.
Aus diesem Grund waren Tests in der Produktion in den meisten Unternehmen viele Jahre lang verboten. Hier ist die Kehrseite: kein Frontalunterricht. Auch das Testen in der Produktion ist problematisch.
Da Produktionsumgebungen umfassender aufgebaut sind als Testumgebungen und oft nicht auf dem neuesten Stand sind, werden Sie den gewünschten realen Testumfang verpassen. Das Ergebnis ist, dass das Testen insgesamt weniger effektiv ist.
Der Todesstern des Testens
Wenn wir von Tests in der Produktion sprechen, beziehen wir uns auf Tests in einer Live-Umgebung; Der Wert liegt darin, wie die Umgebung die reale Welt nachahmt. Tests in Nicht-Produktionsumgebungen sind zu kontrolliert und es mangelt an authentischem Datenverkehr und authentischen Daten. Ich möchte nicht sagen, dass Tests vor der Produktion ein Problem darstellen; Natürlich nicht – es ist von unschätzbarem Wert beim Testen spezifischer Bedingungen und Funktionen einer App. Das Problem ist, dass eine solche Umgebung Grenzen hat.
Ich höre Sie da draußen und ja, wenn Sie Ihre Produktionsumgebung in einer Nicht-Produktionsumgebung perfekt replizieren könnten, würden einige der Herausforderungen beseitigt. Allerdings sind die Anforderungen astronomisch. Sie müssen dieselben Datenbanken und Abhängigkeiten verwenden und denselben Benutzerverkehr simulieren. Wenn es nur eine Möglichkeit gäbe, in einer solchen Umgebung ohne Kosten zu testen …
Es gibt!
Testen in der Produktion – und darüber möchten wir heute sprechen.
Das Risiko ist da
Natürlich birgt das Testen in der Produktion Risiken. Wenn es das nicht gäbe, gäbe es keine Leute, die einem sagen würden, dass man es nicht tun soll. Sie versuchen, Probleme mit beschädigten Daten, überlasteten Systemen und unbeabsichtigten Folgen der Auswirkungen der Tests auf andere Produktionssysteme zu vermeiden.
Hier sind einige weitere der unzähligen Möglichkeiten, wie Tests in der Produktion schiefgehen können:
Defekte Produktion — Wenn Sie Tests ausführen, werden diese entweder bestanden oder nicht bestanden. Ich weiß, es ist schockierend in seiner Einfachheit. Die Herausforderung besteht darin, dass ein fehlgeschlagener Test in einer Produktionsumgebung die Produktionsumgebung lahmlegen und zu App-Ausfällen führen kann.
Sicherheit — Manchmal müssen Sicherheitsmaßnahmen deaktiviert werden, um Tests in der Produktion durchzuführen. Ich bin mir sicher, dass Sie die Probleme darin erkennen können.
Scheindaten — Während Scheindaten in einer speziellen Testumgebung mehr als akzeptabel sind, können sie in der Produktion die Arbeit vermasseln, indem sie Ihre Datenintegrität beeinträchtigen. Das macht Tests in der Produktion zu einem potenziellen Geschäftsrisiko. Auch das Entfernen von Junk-Daten birgt potenzielle Gefahren, da dabei Daten verloren gehen können.
Systemleistung — Wenn Sie Lasttests in der Produktion durchführen, kann sich dies negativ auf die Leistung auswirken. Der daraus resultierende Schaden wird sich auf eine gesamte Organisation auswirken.
Enge Testfenster — Wenn Sie beispielsweise Soak-Tests durchführen, kann es durch Tests in der Produktion zu Unterbrechungen kommen, was zu fehlerhaften Tests und falschen Fehlschlägen führt.
Weniger Werkzeuge — Es ist schwieriger, Ergebnisse zu erzielen, wenn Sie aus Sicherheits- und Leistungsgründen Ihre bevorzugten Tools beim Testen in der Produktion nicht verwenden können.
Also ja, es ist riskant, aber ich möchte Ihnen nicht sagen, dass Tests in der Produktion eine schlechte Sache sind. Es hilft dabei, Ihre mobilen Apps realen Szenarien auszusetzen. In einem solchen System ist es einfacher, Fehler zu finden, als sie in Ihrer regulären Testumgebung zu finden. Selbst wenn Sie Leistungstests in einer Laborumgebung durchführen, bedeutet das nicht, dass Sie in der Produktion dieselben Ergebnisse sehen werden.
Was machen wir? Wir lesen natürlich weiter!
In der Produktion richtig testen
Der einfachste Weg, bei dieser Methode voranzukommen, besteht darin, Prozesse und Methoden zu entwickeln, die dies gewährleisten safe Tests mit minimaler Benutzerbelastung. Schauen wir uns einige Beispiele an.
Ein mehrschichtiger Ansatz
Beginnen wir mit einer Multiple-Choice-Frage. Wie testet man in der Produktion?
- Mit Testservern in Ihrem Produktionsrechenzentrum.
- Separate Ausführung von Anwendungen auf Ihrer Produktionsplattform.
- Ausführen von Livetests mit Ihrem gesamten in der Produktion bereitgestellten Code.
- Alle der oben genannten
Die Antwort sollte natürlich D lauten. Durch die Schichtung Ihrer Produktionstests können Sie Ihre Produktionsumgebung auf unterschiedliche Weise testen. Als Nächstes können Sie die Testauswirkungen minimieren, indem Sie Testfälle aufeinander abstimmen. Das Ergebnis ist ein geringerer Wartungsaufwand für die Testumgebung und minimale Auswirkungen auf Ihre Benutzer.
Ampel
Wenn Sie Leistungstests durchführen, kann dies Auswirkungen auf Ihre gesamte Benutzerbasis haben. Leistungstests haben die Angewohnheit, dass Server langsam laufen, und dafür hat niemand Zeit, insbesondere in einer Produktionsumgebung. Analysieren Sie als Vorbereitung für Leistungstests die Zahlen und prüfen Sie, wann die Anzahl der Benutzer am geringsten ist. Wenn Sie tiefer blicken möchten, können Sie sich auch die Zeiten ansehen, in denen die ressourcenintensivsten Prozesse in der Umgebung ausgeführt werden.
Daten sammeln
Verwenden Sie beim Testen in der Produktion echte Verkehrsdaten, die Sie sammeln können, z. B. Benutzerströme, Verhalten und Ressourcen. Verwenden Sie diese Daten dann, um Ihre Testfalllast zu steigern. Damit können Sie Tests in der Produktion mit der Gewissheit durchführen, dass das simulierte Verhalten realistisch ist.
Überwachung ist der Schlüssel
Achten Sie immer auf die Kennzahlen. Das sagen wir. Wenn Sie bei der Durchführung eines Produktionstests die Zahlen beobachten, wissen Sie, ob und wie sich Ihre Tests auf das Endbenutzererlebnis auswirken. Wenn dies der Fall ist, müssen Sie die Tests beenden.
Anmelden
Eine letzte Möglichkeit, Ihre App mit echten Benutzern in der Produktion zu testen, ist die Verwendung einer „Opt-in“-Funktion zur Vorschau neuer Versionen. Mit dieser Methode haben Sie echte Benutzer, die Sie überwachen und Daten sammeln können. Das Beste daran ist, dass Sie sich bei Problemen keine Sorgen um die Endbenutzererfahrung machen müssen, da diese sich im Voraus bereit erklärt haben, die App zu testen. Sobald Sie die Daten haben, können Sie Ihre Tests entsprechend anpassen.
Tests in der Produktion sind riskant, aber wertvoll
Der Druck ist groß. Im Jahr 2021 ist die Fähigkeit eines Unternehmens, Code schnell in die Produktion zu bringen und fehlerfreie Erfahrungen zu liefern, wichtiger denn je. Allerdings müssen Sie diese Funktionalität testen, um die bestmögliche App bereitzustellen.
Sicher, beim Testen in einer Nicht-Produktionsumgebung können viele Fehler auftreten, aber es gibt immer ein paar, die durchschlüpfen.
Der beste Teil des Testens in der Produktion besteht darin, dass Sie den besten Überblick darüber erhalten, wie Ihre App bei Interaktion mit dem Endbenutzer funktioniert.
Der Punkt ist, dass es sicherlich Risiken gibt, aber nicht, dass wir das Konzept des Testens in der Produktion verteufeln sollten. Es lohnt sich, die Risiken zu verstehen und Systeme zu entwickeln, die sie mindern. Es geht darum, die bestmögliche App in kürzester Zeit zu veröffentlichen.
Mehr über erfahren Digital.ai Continuous Testing ab dieses Webinar-Video darüber, warum das Testen in der Cloud wichtiger denn je ist.
Auch interessant
Wiederholungen sind einfach. Zu wissen, was sie dir gesagt haben, nicht.
Wenn Sie einen Appium-Test ausführen, können Sie ihn bereits wiederholen…
Wiederholte Versuche beheben keinen fehlerhaften Locator.
Ein Anmeldetest ist am Montag erfolgreich, am Dienstag fehlgeschlagen und…
Wie ein Team aus dem öffentlichen Sektor seine UiPath-Strategie auf mobile Tests ausweitete
Dies ist eine wahre Kundengeschichte. Wir haben die Identität des Kunden nicht öffentlich gemacht…