Entscheidungskriterien: Welche Testfälle sollten automatisiert werden?

Die Einführung von Testautomatisierung ist ein entscheidender Schritt für Entwicklungsteams, um die Effizienz zu steigern und die Qualität von Softwareprodukten zu verbessern. Vor allem in der agilen Softwareentwicklung, mit häufigen Releasezyklen, ist die Testautomatisierung nicht mehr wegzudenken. Die Vorteile der Testautomatisierung habe ich in diesem Artikel beschrieben: Die Vorteile der Testautomatisierung: schnelle, häufige und umfassende Qualitätssicherung.

Neben der Wahl der richtigen Umsetzungsstrategie, der Tool- und Prozessauswahl stehen viele am Anfang vor der Herausforderung, die ersten Testfälle für die Automatisierung strategisch auszuwählen. Alles scheint wichtig und am liebsten sollte alles sofort automatisiert werden. 

Da es sinnvoll ist, die technischen Schulden (fehlende automatisierte Regressionstests sind als technische Schulden anzusehen) systematisch abzuarbeiten, haben wir für unsere Projekte eine Liste für die Priorisierung der Testfälle abgeleitet.

Diese Checkliste listet die wichtigsten Kriterien auf, die bei der Entscheidung für die Automatisierung von Testfällen berücksichtigt werden sollten.

Kriterien für die Auswahl

  1. Häufigkeit der Verwendung:

    Priorisieren Sie Tests, die häufig durchgeführt werden müssen und aufsummiert einen hohen manuellen Aufwand verursachen.

    Die Automatisierung dieser Tests zum frühestmöglichen Zeitpunkt ermöglicht es Ihnen mehr Zeit für die Umsetzung anderer Aufgaben freizuschaufeln und erhöht somit die Testeffizienz.

  2. Relevanz:

    Identifizieren Sie Testfälle, die für den Kunden von hoher Bedeutung sind und wichtige Szenarien der Anwendung abdecken.

    Die Automatisierung dieser Testfälle stellt sicher, dass die Kernfunktionalität kontinuierlich auf Zuverlässigkeit getestet wird und wichtige Pfade nicht übersehen werden.

  3. Komplexität:

    Beginnen Sie mit der Automatisierung der Testfälle mit möglichst geringer Komplexität.

    Dadurch haben Sie die Möglichkeit, die methodische Anwendung der Testautomatisierung, die Verwendung der ausgesuchten Testwerkzeuge und die Vorbereitung erforderlicher Testdaten anhand von ersten einfachen Szenarien schrittweise mit wenigen Herausforderungen zu erlernen und dabei dennoch sinnvolle Szenarien zu automatisieren, die die oberen 2 Kriterien erfüllen (Bsp. Login-Maske).

    Solche Vorgehensweise reduziert signifikant das Risiko von dem Scheitern der gesamten Testautomatisierungsinitiative gleich in den ersten Wochen, wenn Sie fälschlicherweise mit den komplexesten Geschäftsabläufen starten und von zig gleichzeitigen Herausforderungen überwältigt werden (Analogie: Schwimmen lernen in 20 m hohen Wellen in Portugal). Nach initialen Erfolgen können Sie anschließend die Tests mit höherer Komplexität bzw. Vorbereitungsaufwand in Angriff nehmen.

    Je einfacher die Szenarien, desto mehr sind diese für die Automatisierung geeignet. In bestimmten Situationen lohnt sich die Automatisierung hochkomplexer, selten durchgeführter Testfälle nicht, da der Erstellungs- und Pflegeaufwand die unregelmäßigen Aufwände der manuellen Durchführung überwiegen.

  4. Transparenz:

    Automatisiere nur Testfälle, die klar und präzise beschrieben sind.

    Klare Beschreibungen, saubere Aufteilung und eindeutige Testziele sind eine Voraussetzung für die erfolgreiche Implementierung automatisierter Testfälle und verringern das Risiko von Missverständnissen oder ungenauer Implementierung.

  5. Stabilität:

    Automatisieren Sie auf höheren Ebenen nur Szenarien und Arbeitsabläufe, die gut abgestimmt sind und sich nicht mehr wesentlich ändern werden. Dies gilt für alle Aspekte eines Systems. Seien es die Oberflächen, der Prozess oder die Datenstruktur. Je weniger Änderungen durch die Entwicklung an einem Bereich noch durchgeführt werden, desto stabiler und aussagekräftiger sind die Testfallergebnisse.

    Bei Bereichen, die im Rahmen der Entwicklung noch stark geändert werden, kann es schnell zu „false negatives“ (fehlschlagende Testfälle, aber richtige Funktionalität der Anwendung) kommen, was zu hohen Wartungsaufwänden durch Klärung und Anpassung der Tests führt.

Zusammenfassung

Die erfolgreiche Einführung der Testautomatisierung erfordert eine sorgfältige Auswahl der ersten Testfälle. Vor allem am Anfang in der Einführungsphase empfiehlt es sich nicht wahllos vorzugehen, sondern systematisch und strategisch die Testfälle auszuwählen, um so früh wie möglich von der Automatisierung zu profitieren und sich selbst die Zeit für weitere Optimierung „freizuschaufeln“. Durch die Berücksichtigung der jeweiligen Faktoren kann eine solide Auswahl für die Automatisierung getroffen werden.

Dieser strategische Ansatz ermöglicht es Ihnen, zeitnahe Erfolgserlebnisse mit der Testautomatisierung zu erzielen, die Effizienz zu steigern und die Qualität Ihrer Softwareprodukte nachhaltig zu verbessern.

Mit wachsendem Wissen und Erfahrung können dann auch die Tests mit Prio 2 und niedriger in Angriff genommen und erfolgreich umgesetzt werden.

Weiterführende Unterstützung:

Sie möchten mehr darüber erfahren, wie Sie erfolgreich moderne Qualitätssicherungsprozesse und Testautomatisierung in Ihrem Unternehmen etablieren? Wir unterstützen Sie gerne dabei!

Als Unternehmen blicken wir auf eine hohe Zahl erfolgreich umgesetzter Projekte in funktionaler und nicht funktionaler Qualitätssicherung zurück. Diese Erfahrung geben wir im Rahmen unserer praxisorientierter Schulungen und Unterstützungsdienstleistungen sehr gerne an unseren Kunden weiter.

Sehen Sie sich gerne unser Schulungsangebot an:

oder nähere Informationen zu unseren Testing-Services

Waldemar Siebert

Test-Enthusiast
at SimplyTest GmbH, Nürnberg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert