Die Strategie zur Auswahl zwischen manuellen und automatisierten Tests wird von vielen Faktoren bestimmt, einschließlich Kosten, Zielen, Stabilität der Funktionalität und verfügbaren personellen Ressourcen.
Hintergrund: In den Anfangszeiten der Automatisierung wurde angenommen, dass das Ziel darin besteht, 100 % der Tests automatisiert abzudecken. Später wurde klar: Nicht alle Überprüfungen sollten automatisiert werden – einige Aufgaben lassen sich einfacher, schneller und kostengünstiger manuell durchführen.
Problem: Automatisierung bringt nur dann Nutzen, wenn immer wieder die gleichen Szenarien ausgeführt werden. Einmalige, schnell sich ändernde oder subjektive (visuelle, UX) Überprüfungen lassen sich viel einfacher manuell durchführen. Bei dem Versuch, "alles zu automatisieren", wächst schnell das Budget und der Nutzen geht verloren.
Lösung: Es ist wünschenswert, zuerst das zu automatisieren, was:
Manuelle Tests sind relevant für:
Wichtige Merkmale:
Kann man Vorteile erzielen, indem man alle Tests im Projekt automatisiert?
Nein, denn viele Tests werden sich schneller ändern, als dass sie die investierten Anstrengungen amortisieren können, und die Unterstützung der Automatisierung wird teurer sein als die Durchführung der gleichen Tests manuell.
Kann manuelle Testen bei einem Release auf Produktion notwendig sein?
Ja, denn einige Aufgaben (insbesondere solche, die UI/UX und visuelle Regression betreffen) sind schwer oder unmöglich angemessen zu automatisieren.
Ist es rentabel, Tests für "einmalige"/explorative Aufgaben zu automatisieren?
Nein, Automatisierung kostet Zeit und Ressourcen, die sich bei einem einmaligen oder selten genutzten Test nicht amortisieren.
Das Team beschloss, alle manuellen Test-Cases zu automatisieren, einschließlich der Überprüfung der Cross-Browser-Funktionalität auf unkonventionellen Geräten und der visuellen Layout-Kontrolle. Infolgedessen wurden in wenigen Monaten Hunderte von Stunden für die Pflege veralteter Tests aufgewendet.
Vorteile:
Nachteile:
Das Team hat zusammen mit dem Manager eine Liste kritischer Geschäftsszenarien (Registrierung, Zahlungsüberprüfung) erstellt, die stabil automatisiert wurden; alles andere wird manuell oder teilweise (mit Hilfe von explorativem Testen) getestet.
Vorteile:
Nachteile: