Blog - Mr Suricate

WAS IST DER UNTERSCHIED ZWISCHEN MANUELLEN UND AUTOMATISIERTEN TESTS?

Verfasst von Mr Suricate | 22. Feb. 2022 10:00:00

Wenn es darum geht, ein Produkt zu testen, kann sich die Frage stellen: Manuelle oder automatisierte Tests? Um diese Frage zu beantworten, ist es wichtig, zunächst einmal zu verstehen, worin der Unterschied zwischen beiden besteht. 

In den letzten Jahren hat die Testautomatisierung immer mehr Unternehmen überzeugt. Sie sehen darin eine Möglichkeit, die Vermarktung ihrer Produkte und die Einführung neuer Funktionen zu beschleunigen und gleichzeitig die Produktivität ihrer technischen Teams zu optimieren. Die Automatisierung von Funktionstests hat jedoch ihre Grenzen, weshalb manuelle Tests noch eine große Zukunft vor sich haben. 

Sowohl manuelle als auch automatisierte Funktionstests haben ihre Vor- und Nachteile, und die Wahl zwischen den beiden hängt von verschiedenen finanziellen, zeitlichen und materiellen Kriterien sowie von den Projektanforderungen ab. In diesem Artikel werden wir versuchen, zwischen den beiden Praktiken zu unterscheiden, und gleichzeitig aufzeigen, dass sie sich gegenseitig ergänzen und nicht außer Acht gelassen werden sollten.

Manuelle Tests 

Beginnen wir mit den manuellen Tests. Wie der Name schon sagt, werden sie manuell, d. h. von einem Menschen, durchgeführt. Dieser Mensch kann ein Tester, ein digitaler Projektmanager, ein Entwickler usw. sein. Seine Aufgabe ist es, sich in die Lage eines Endbenutzers zu versetzen, um jede Aktion auszuführen und zu überprüfen, ob sich alles wie erwartet verhält. 

Bei manuellen Tests gibt es sowohl angeleitete als auch explorative Tests. Bei einem geführten Test wird das Szenario geschrieben und ein Weg vorgegeben, wobei jeder zu überprüfende Schritt angegeben wird. Bei einem explorativen Test geht es darum, das Produkt wie ein Endbenutzer zu entdecken. Die Aktionen sind nicht vordefiniert und die Überprüfungen werden spontan durchgeführt. Der Vorteil hierbei ist, dass man Szenarien testen kann, an die man vorher nicht gedacht hat. 

Die automatisierte Tests

Automatisierte Funktionstests hingegen werden von " Robotern " mithilfe von Tools und/oder Software durchgeführt und folgen einer vorher vereinbarten und festgelegten Spezifikation. 

Es gibt mehrere Hebel zur Automatisierung. Der erste besteht darin, vordefinierte Aktionen automatisch auszuführen, z. B. auf eine Produktseite zu klicken, das Produkt in den Warenkorb zu legen, sich in sein Konto einzuloggen, seine Lieferinformationen auszufüllen und zur Zahlung überzugehen. Die zweite besteht darin, bestimmte Funktionen zu überprüfen, die eine mehr oder weniger hohe Kritikalität haben und sich direkt auf das Unternehmen auswirken können. In beiden Fällen ist es das Ziel, mögliche Fehler zu erkennen, um sie so schnell wie möglich zu beheben.

Was sind die Vor- und Nachteile der beiden Praktiken? 

Bevor man sich für manuelle oder automatisierte Tests in seinem Projekt entscheidet, sollte man die Stärken und Schwächen des Projekts auflisten. 

Manuelle Tests haben unter anderem den Vorteil, dass sie wenig Budget erfordern, zufällige Tests ermöglichen und eine optimale Nutzererfahrung garantieren. Sie sind jedoch zeitaufwendiger und nicht so genau wie automatisierte Tests, da ein Mensch Fehler machen kann und sie daher weniger zuverlässig sind als ein Roboter. Außerdem ist es nicht immer möglich, die Anwendung auf verschiedenen Betriebssystemen zu testen. 

Im Gegensatz dazu haben automatisierte Funktionstests den Vorteil, dass sie schneller, häufiger und in größerem Umfang durchgeführt werden können. Sie können leichter auf verschiedenen Betriebssystemen, Geräten und Browsern durchgeführt werden. Sie verbessern den Move-to-Prod und verkürzen die Time-to-Market, sind zuverlässiger und das Eskalieren von Fehlern ist effizienter. 

Darüber hinaus ermöglicht die Entwicklung von Technologiefunktionen die Automatisierung neuer Kundenwege, wie z. B. den grafischen Vergleich, das Durchlaufen der digitalen Sicherheitstastatur oder das Testen über APIs.

Automatisierte Funktionstests erfordern jedoch eine höhere Investition und sind kompliziert einzurichten. Sie haben auch einige Einschränkungen. Es ist nämlich nicht möglich, alles zu automatisieren. Beispielsweise lassen sich einige Zugänglichkeitstests automatisieren, insbesondere die Überprüfung, ob die Tags im Front-End-Code korrekt vorhanden sind, aber sie sind nicht zu 100 % automatisierbar. Auch explorative Tests sind aufgrund ihres zufälligen Charakters ohne den Einsatz einer KI, die eine Anwendung selbstständig verstehen kann, kaum automatisierbar. 

Manuelle Tests und automatisierte Tests - sollte man sich dafür entscheiden? 

Die beiden Ansätze ergänzen sich in Wirklichkeit. Denn wie wir in unserem Artikel " Wie wähle ich aus, was ich automatisieren soll" beschrieben haben, reichen automatisierte Funktionstests, auch wenn sie recht ausgereift sind, für sich allein nicht aus, um eine vollständige und aussagekräftige Bewertung einer Anwendung zu liefern. Es ist notwendig, manuelle und automatisierte Tests zu kombinieren, um die Qualität der Entwicklung von Web- oder Mobilanwendungen zu gewährleisten und so eine optimale Investitionsrendite zu erzielen! 

So ist es beispielsweise interessanter, wiederkehrende und sich wiederholende Tests zu automatisieren, ebenso wie funktionale Tests, die sich auf kritischePfade und Funktionen beziehen, oder solche, die auf mehreren Browsern und/oder Geräten durchgeführt werden müssen. Man kann auch Nichtregressionstests hinzufügen, mit denen überprüft wird, ob die vorgenommenen Änderungen die zuvor vorhandenen Funktionen nicht beeinträchtigt haben.

Aber manche Tests müssen manuell bleiben, denn dadurch, dass sie von einem Menschen durchgeführt werden, können Dinge erkannt werden, die eine Maschine nicht sehen würde, z. B. in Bezug auf Ergonomie, Zugänglichkeit etc. Und, wie bereits erwähnt, sind explorative Tests zuverlässiger, wenn sie manuell durchgeführt werden. 

Zusammenfassend lässt sich sagen, dass das Ziel, das Sie verfolgen sollten, wenn Sie eine Industrialisierung Ihrer Testing-Aktivitäten anstreben, Folgendes ist die Automatisierung aller wiederkehrenden Tests und NichtregressionstestsDas bedeutet, dass der manuelle Testaufwand nur für die Validierung neuer Funktionen verwendet wird. 


Und was sind Ihre Überlegungen zu diesem Thema? Teilen Sie es uns in den Kommentaren mit!