Acht Gründe, warum manuelles Testen immer noch notwendig ist

Obwohl wir eine wachsende Zahl an Test-Automationswerkzeugen und Frameworks zur Verfügung haben, kann und sollte nicht alles automatisiert werden.

Manchmal ist es günstiger und effektiver, beim manuellen Testen zu bleiben. Dieser Artikel beleuchtet acht Aspekte, warum manuelles Testen immer noch notwendig ist und in welchen Situationen es anstelle der Automatisierung eingesetzt werden kann.

Wir alle sind schon einmal auf einen Bug in unseren Lieblings-Apps gestoßen. In einem früheren Artikel haben wir bereits die Bedeutung von Softwaretests hervorgehoben. Es gibt verschiedene Ansätze zum Software testen, die sich generell in manuelles und automatisiertes Testen einteilen lassen.

1. Zeitaufwand

Auch wenn automatisierte Tests schneller und mit weniger Eingaben des Testers ausgeführt werden, kann die Einrichtung der Automationsinfrastruktur zeitaufwendig sein.

In einigen Fällen wäre ein manuelles Testen schneller als das Erstellen von automatisierten Tests.

Die Einrichtung der automatisierten Umgebung und der Tests ist in frühen Projektphasen einfacher und weniger zeitintensiv.

Bei komplexeren Projekten mit vielen miteinander verbundenen Komponenten kann die Einrichtung jedoch mehr Zeit und Ressourcen beanspruchen.

2. Menschliches Empfinden

Automatisierte Tests können menschliche Sinne nicht nachahmen.

Letztendlich führt ein Computer die Tests durch und überprüft Werte.

Für Endbenutzer sind die visuellen Aspekte einer App genauso wichtig wie die korrekte Funktionsweise ihrer Funktionen.

Automatisierte Tests würden in den meisten Fällen nur überprüfen, ob beispielsweise der Text eines Labels auf dem Bildschirm angezeigt wird, aber nicht dessen Position.

Manuelles Testen ist hier praktischer, da die visuelle Darstellung eines Elements leicht überprüft werden kann.

Bei komplexen Benutzeroberflächen (z. B. mit vielen Animationen oder interaktiven Elementen) ist manuelles Testen oft schneller und kostengünstiger, während nur der SDK- und/oder API-Teil automatisiert werden sollte, um Regressionen in der Geschäftslogik zu vermeiden.

3. Erfahrungsbedarf

Wenn automatisierte Tests schlecht geschrieben werden und keine Best Practices befolgen, können die Ergebnisse irreführend sein und somit nutzlos.

Aus unserer Erfahrung mit vielen Test-Automations-Projekten sollten erfahrene Ingenieure die Planung und Implementierung der Test-Automation übernehmen.

Diese Ingenieure folgen Best Practices, um Testumgebungen zu erstellen, Tests zu schreiben, und den Code zu warten.

Automatisierte Tests müssen täglich gewartet und überprüft werden.

4. Sicherheit

Bei komplexen Projekten sollten alle benötigten Berechtigungen für die Testeausführung sorgfältig geprüft werden.

In manchen Projekten haben Test-Automationsingenieure möglicherweise nicht vollen Zugriff auf das System und sind auf bestimmte Systeme und Umgebungen beschränkt.

In solchen Fällen ist es wichtig abzuwägen, ob automatisiertes Testen überhaupt sinnvoll ist.

Tests können nicht in Systemen ausgeführt werden, für die kein ausreichender Zugriffslevel besteht.

5. Explorative Tests

Explorative Tests sind eine Art von Test, bei der keine Testfälle im Voraus erstellt werden, sondern Tester das System spontan überprüfen.

Es kann helfen, schnell größere Fehler zu identifizieren und somit ein Produkt zu entwickeln, das tatsächlich benötigt wird.

Obwohl explorative Tests sehr einfach durchzuführen sind, können sie nicht automatisiert werden, da automatisierte Tests aus von einem Testingenieur erstellten Testszenarien bestehen.

Diese Szenarien sind starr, und der Computer überprüft nur die Dinge, die zum Überprüfen und Verifizieren geschrieben wurden – nichts mehr und nichts weniger.

6. Nicht alles kann automatisiert werden

Wie bereits erwähnt, ist es weder empfehlenswert noch möglich, alles zu automatisieren.

Wenn Sie ein mobiles Produkt haben und validieren müssen, wie es auf vielen verschiedenen Geräten/Bildschirmgrößen/Betriebssystemen/Herstellern funktioniert – ist es nicht praktikabel, dies zu automatisieren.

Viele ältere Handys unterstützen keine Automatisierung.

Es kann auch Situationen geben, in denen es keine Automatisierungstools für bestimmte Plattformen oder Gerätetypen gibt.

Ein weiteres Beispiel wäre eine Telefonanwendung, bei der Sie die Funktion zum Rufen von Notrufnummern testen müssen.

In diesem Fall ist es wichtig, im Voraus zu denken und die potenziellen Risiken zu berücksichtigen, die mit der Automatisierung solcher Funktionalitätstests verbunden sind.

Die Haupfunktion, die hier getestet werden würde, wäre das Öffnen des Anrufsbildschirms, nicht der Anruf selbst.

Es ist wichtig zu wissen, welche Tests stabil genug für automatisiertes Testen sind, da dieses Szenario möglicherweise fehlschlagen kann und in diesem Fall solche Tests nicht nur Probleme für die Tester, sondern auch für das Unternehmen selbst verursachen können.

Manchmal werden Informationen nur sehr kurz angezeigt oder können überhaupt nicht erkannt werden – in diesen Fällen wäre manuelles Testen besser geeignet, da automatisierte Tests eine gewisse Zeit benötigen, um ein Element zu erkennen, während ein Mensch es sofort wahrnimmt.

Auch aufgrund der Fähigkeiten des Testframeworks oder der Tools kann es Einschränkungen geben, Elemente in Benachrichtigungen lesen und lokalisieren zu können.

Dies lässt sich manuell leicht überprüfen.

7. Stabilität

Wenn eine Anwendung entwickelt wird und noch nicht sehr stabil ist, ist es sinnlos, Ressourcen und Zeit in die Erstellung einer Automatisierungsumgebung und automatisierter Tests zu investieren, da die Tests nach jedem Anwendungsupdate ständig aktualisiert werden müssten.

Natürlich müssen auch Testfälle und -szenarien überprüft werden, um die gewünschten Ergebnisse zu erzielen, aber wenn eine Anwendung instabil ist, sind die Ergebnisse der automatisierten Tests eher falsch.

Wenn die Anwendung stabil ist, sind die automatisierten Tests ebenfalls stabil und objektiv. Bevor dies der Fall ist, ist es besser, die Anwendung manuell zu testen, um wertvolle Ergebnisse zu erhalten.

8. Validierung von Benutzergeschichten

Zuletzt kann man Benutzergeschichten nicht ohne manuelles Testen validieren.

Hier muss die Funktionalität anhand der gegebenen Dokumentation überprüft und verifiziert werden.

Dies kann nur von einem Tester durchgeführt werden, der zunächst einen manuellen Test durchführt und die Funktionalität der neu hinzugefügten Funktionen oder Änderungen verifiziert.

Wenn sofort ein automatisierter Test erstellt wird, können Fehler auftreten.

Erst nach Durchführung manueller Tests der dokumentierten Funktionalität werden Testszenarien geschrieben.

Um die Funktionalität objektiv zu testen, müssen zuerst Fehler behoben werden.

Erst dann können automatisierte Tests erstellt werden.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass sowohl manuelle als auch automatisierte Testmethoden ihre Vor- und Nachteile haben.

Es liegt am Tester zu entscheiden, welche Methode am besten zu den Projektbedürfnissen passt und in welcher Phase.

Fazit

Wenn Sie bei Ihrem Projekt unsicher sind, kontaktieren Sie uns und vereinbaren Sie eine Beratung.

Unser wachsendes Team von über 550 ISTQB zertifizierten Software-Testingenieuren hat bereits an Hunderten von Testprojekten gearbeitet und verfügt über umfassende Erfahrung mit verschiedenen Testframeworks, -tools und -ansätzen.