In drei Schritten zu einer reiferen Testautomatisierung

Weniger ist mehr. Dies gilt auch für Test-Automation. Es ist wahr, dass der Versuch, zu viel (oder die falschen Dinge) zu schnell zu automatisieren, einen meilenweit zurückwerfen kann.

Mit diesen Grundsätzen im Hinterkopf, halten wir zunächst fest, dass die Automatisierung ein Werkzeug ist, das alle Unternehmen in einer agilen Entwicklungsumgebung priorisieren sollten. Wie du deine Automatisierungspraxis aufbaust, entscheidet darüber, wie viele Vorteile du realisieren kannst.

Anfänger

Denke daran, dass du als Kind erstmal krabbeln gelernt hast, bevor du gehen gelernt hast. Weiter gedacht, musstest du erst gehen lernen, bevor du anfangen konntest zu sprinten. Um dir zu helfen, dich hinsichtlich der Testautomatisierung weiterzuentwickeln, habe ich einige Beispiele mit jeweiligen Schritten skizziert, die du entlang der SDLC unternehmen solltest, damit sich deine Deployment-Pipeline vom Anfänger über den Fortgeschrittenen zum Experten entwickelt.

Mit Zuversicht automatisieren - die Anfängerstufe für Testautomatisierung

In dieser Anfängerstufe geht es darum, schnelle Erfolge für dein Team zu erzielen. Du möchtest, dass dein Entwicklerteam mit dem Einchecken der Tests beginnt und sofort ein Feedback zum bestandenen Fehler gibt. Sobald die Komponententests bestanden sind, kannst du mit einem sehr kleinen Satz automatischer Smoke-Tests beginnen.

Am Anfang kann es einfacher sein, diese Tests nachts durchzuführen. Nach kurzer Zeit wirst du sie schließlich als Teil des Build-Prozesses ausführen wollen, so dass sie bei einem erfolgreichen Build automatisch ausgelöst werden. Sobald sie konsistent sind, kannst du schrittweise weitere Smoketests zu deiner Automatisierungssuite hinzufügen.

mittlere

Wenn du jeweils einen kleinen Test hinzufügst, kannst du schnell Vertrauen in deine Automatisierung gewinnen, da diese kleinen Tests die Bausteine für deine Automatisierungspraxis bilden. Das schafft nicht nur Vertrauen, sondern spart auf lange Sicht auch Zeit, da man nicht mehr zurückgehen und eine größere Anzahl von Tests durchführen muss.

Parallel verschiedene Testverfahren durchführen - die Zwischenstufe für Testautomatisierung

Nun, da du etwas Vertrauen in deinen ersten Satz von Smoke-Sets aufgebaut haben, kannst du beginnen, weitere Schichten der Anwendung anzugreifen. Wenn du zum Beispiel eine Anwendung hast, mit der du sowohl integrierte als auch UI-Tests testen kannst, wäre dies eine gute Gelegenheit, deine Tests aufzufächern und parallel auszuführen. Je mehr du die funktionale Testpyramide abdecken kannst, desto mehr Vertrauen kannst du in deine Regressionstests aufbauen.

Deine Regressionstests sind der Ort, an dem du wirklich beginnen kannst, mehrere Schichten parallel laufen zu lassen, um die Zeit zu verkürzen, um Ergebnisse und Rückmeldungen über die Qualität der Anwendung zu erhalten. Wie deine automatisierten Smoke-Tests wachsen, so reifen auch deine automatisierten Regressionstests Stück für Stück, bis du eine komfortable Testabdeckung erreicht hast und mit der Optimierung beginnen kannst.

Um deine automatisierten Regressionstests zu ergänzen, sollte dein manuelles Team sowohl manuelle Tests als auch kontinuierliche manuelle explorative Tests priorisieren. Je höher die Prozentzahl der Regressionstests ist, die du automatisieren kannst, desto mehr Zeit kannst du für explorative Tests aufwenden und die Abdeckung der Randfälle erhöhen, in denen sich interessante Fehler normalerweise verstecken.

Experte

Die wichtigste Kompetenz dieser SDLC-Zwischenstufe ist der Aufbau eines Testfallmanagementsystems und einer Berichtsstruktur. Es ist der Schlüssel, um sicherzustellen, dass alle Ihre Ergebnisse an einen einzigen Ort gehen, um von einer einzigen Ansicht aus gesehen zu werden. Auf diese Weise hast du eine konsistente Sicht auf eventuelle Ausfälle und kannst bequem entscheiden, ob du diese einsetzen möchtest oder nicht.

Arbeiten mit Quality Gates - die Expertenstufe für Testautomatisierung

Der größte Unterschied zwischen der Zwischenstufe und der Expertenstufe ist die Implementierung von Quality Gates. Dies passt zu deinem Bedarf an einem Testfallmanagementsystem, da Quality Gates es dir ermöglicht, alle Builds abzulehnen, bevor du weitere Tests durchführst.

Auch hier ist es dein Ziel, deinem Entwicklungsteam schnelles und frühzeitiges Feedback zu geben, damit es rechtzeitig eine Ursachenanalyse durchführen kann. Auf diese Weise stellst du sicher, dass kritische Fehler nicht weiter in die Entwicklung einfließen, wodurch kostspieligere und zeitgerechtere Fehlerbehebungen vermieden werden.

Der Schlüssel dazu ist, in jeder Phase gerade genug zu testen, bevor du deine Tests erweiterst und auffächerst. Es gibt eine Menge, die abgedeckt werden muss, also finde einen bequemen Punkt, bevor du neue Testumgebungen hinzufügst.

Schließlich bist du gut damit beraten an jedem Quality Gate weitere Zuversicht aufzubauen, bevor du weitere zeitaufwändigere und kostenintensivere Maßnahmen zur Automatisierung durchführst. Oftmals, wenn du diese zeitaufwendigen Tests durchführst, kann es zu einem Flaschenhals werden und dich ausbremsen.

Wie Crowdtesting dir hilft deine Testautomatisierung auf die nächste Stufe zu heben

Der Weg vom Anfänger zum Experten führt nicht von heute auf morgen. Es erfordert ein Engagement für den Prozess und Geduld, um schrittweise voranzukommen. Dieses Engagement beinhaltet eine Investition in Technologie, eine Reihe von etablierten Prozessen und die Möglichkeit, deine Fortschritte zu verfolgen und darüber zu berichten.

Obwohl dies alles wie eine gewaltige Aufgabe erscheint (und das ist es auch), können viele der Probleme, mit denen Unternehmen bei automatisierten Tests konfrontiert sind, mit Hilfe von Crowdtesting gemildert werden. Mit den Ressourcen, die du benötigst, wird deine Deployment-Pipeline im Handumdrehen wie die eines Experten aussehen.

Möchten Sie mehr wie dies anzeigen?
Drew Horn
Director, Automation Delivery
Lesedauer: 5 min

Optimierung des Kundenerlebnisses beim Laden von Elektrofahrzeugen

So geht reibungsloses Aufladen: Testen von Funktionen, Zahlungen, UX und Barrierefreiheit.

Deshalb scheitern Projekte zum maschinellen Lernen

In diesem Artikel: 5 Hauptgründe für das Scheitern von ML-Projekten und wie Unternehmen sie vermeiden.

Krypto-Wallets entwickeln: Worauf müssen Developer achten?

Kryptowährungen verzeichnen weiterhin eine steigende Popularität. Welche Features ein gelungenes Krypto-Wallet benötigt, erfahren Sie hier.

10 Tipps zur Optimierung des Nutzer-Onboardings beim Online-Glücksspiel

Wenn neue Spieler sich schnell registrieren und spielen können, gewinnen alle