Dunkle Seite der Automatisierungstests & Warum manuelle Tests weiterhin wichtig sind

By Jason Boog

Testautomatisierung ist zu einem so integralen Bestandteil bestimmter Abläufe geworden, dass sich manche Tester fragen, ob sie manuelle Tests vollständig ersetzen wird.  Nicht in absehbarer Zeit.  Als das Team von Tesla das Model 3 entwickelte, bestand eine Möglichkeit zur Steigerung der Produktionsrate darin, eine vollständig automatisierte Montagelinie einzurichten. KI sollte das Auto mit nahezu keiner […]

Testautomatisierung ist zu einem so integralen Bestandteil bestimmter Abläufe geworden, dass sich manche Tester fragen, ob sie manuelle Tests vollständig ersetzen wird. 

Nicht in absehbarer Zeit. 

Als das Team von Tesla das Model 3 entwickelte, bestand eine Möglichkeit zur Steigerung der Produktionsrate darin, eine vollständig automatisierte Montagelinie einzurichten. KI sollte das Auto mit nahezu keiner menschlichen Überwachung montieren. 

Der Plan scheiterte katastrophal.

Autos fuhren ineinander, Türen wurden in Fenster gebohrt und Reifen ließen sich nicht ordnungsgemäß auf ihre Felgen montieren. 

Was ist passiert? Nun, es stellte sich heraus, dass Roboter nicht besonders gut sehen können. Die mit der Montage des Model 3 betraute KI war nicht in der Lage, sich an unerwartete Komplikationen oder geringfügige Fehlausrichtungen anzupassen. Wenn nicht alles genau richtig ausgerichtet war, machte sie katastrophale Fehler. 

Dasselbe gilt für die Testautomatisierung in der Qualitätssicherung. Einige Testformen haben zu viele Variablen und erfordern, dass der manuelle Tester den Ablauf spontan korrigieren und Fehler beheben kann. 

Was ist Testautomatisierung?

Testautomatisierung bedeutet, dass ein Tester der Qualitätssicherung ein Tool verwendet, um einen Testfall auszuführen. Im Entwicklungszyklus wird derselbe Testfall mehrfach getestet.

Einige Testfälle, deren manuelle Bearbeitung durch ein Team von Testern der Qualitätssicherung Stunden dauern würde, können von einem Tool zur Testautomatisierung in wenigen Minuten erledigt werden. Mehrere Tools zur Testautomatisierung sind zum Branchenstandard geworden. 

Die Schattenseite der Testautomatisierung

Andere Branchen, Handwerke und Berufe mussten sich mit der Einführung von Automatisierung in ihrem Tätigkeitsbereich auseinandersetzen. Wann immer das geschehen ist, sei es in der Luftfahrt mit dem Autopiloten, beim Teppichweben oder beim Testen, verlieren die Beschäftigten in diesem Bereich ihr Verständnis für das „Warum“ hinter ihrer Arbeit.

Dieses Phänomen bemerkte der Qualitätssicherungsexperte Jan Jaap Cannegieter bei Testern. Seine größte Sorge ist, dass die Einfachheit der Testautomatisierung und der zunehmende Druck, große Teile des Testprozesses zu automatisieren, zu einer Generation von Testern führen wird, die wissen, welche Aktionen auszuführen sind, aber nicht verstehen, warum. 

Viele Tester wissen alles über bestimmte Tools oder Programmiersprachen, aber sie können mir nicht sagen, was sie testen und warum sie es testen. Und das ist problematisch.

WERDE TEIL DER COMMUNITY
Bereichern Sie Ihren Posteingang mit mehr Führungserkenntnissen aus der Tech-Welt für bessere Software und Systeme.
Get Free Access

Have an account? Log In

Beispiele für schlechte Testautomatisierung

Viele Tester der Qualitätssicherung sehen dasselbe Potenzial in der Testautomatisierung. Typischerweise bedeutet das, dass es erkennbare Trends und häufige Fehler gibt, die ein Tester der Qualitätssicherung machen kann. Hier sind einige häufige Beispiele für schlechte Testautomatisierung. 

Verschachtelung automatisierter Tests

Bei der Verschachtelung automatisierter Tests werden mehrere automatisierte Tests übereinander ausgeführt.  Wenn das passiert, wird es schwierig herauszufinden, was schiefgelaufen ist, sobald ein Fehler auftritt. 

Kurzfristig sind die meisten Fälle von Testautomatisierung positiv. Der Tester der Qualitätssicherung verwendet das richtige Tool und führt es ordnungsgemäß aus. 

Viele Beispiele für schlechte Testautomatisierung werden erst sechs Monate später problematisch, wenn automatisierte Tests in andere automatisierte Tests verschachtelt wurden, die wiederum in weitere automatisierte Tests eingebettet sind. 

Testautomatisierung der Benutzeroberfläche ohne Überwachung

Durch Tests der Benutzeroberfläche wird sichergestellt, dass ein Benutzer in der Benutzeroberfläche nichts tun kann, was das Programm zum Absturz bringt oder Fehlfunktionen verursacht. Bei manuellen Tests kann dies viele Tester und einen hohen Arbeitsaufwand erfordern. Offen gesagt ist diese Vorgehensweise ineffizient, insbesondere wenn das Programm größer wird und mehr Funktionen getestet werden müssen. 

Durch Testautomatisierung wird der Prozess schneller, kann aber trotzdem die gesamte Rechenleistung des Computers eines Testers der Qualitätssicherung für einen ganzen Tag beanspruchen. Um damit umzugehen, führen Tester der Qualitätssicherung den Test am Ende des Tages aus, lassen ihn über Nacht laufen und kommen am nächsten Morgen zur Arbeit zurück, wo die Ergebnisse bereits auf sie warten. Ergibt Sinn, oder? 

Auf den ersten Blick scheint dies die kluge Vorgehensweise zu sein. Der Tester der Qualitätssicherung verwendet seinen Computer tagsüber, um andere Programme zu testen, und führt anschließend nachts die Testautomatisierung für die Benutzeroberfläche aus.

Gerade weil es intuitiv sinnvoll erscheint, ist dies ein häufiger Fehler. Bei einer unbeaufsichtigten Testautomatisierung kann vieles schiefgehen.

Wenn früh etwas schiefgeht, werden auch die restlichen Ergebnisse falsch sein. Ein ganzer Testtag lieferte keine nützlichen Informationen, weil ein Fehler aufgetreten war, der leicht hätte erkannt und behoben werden können, wenn jemand überprüft hätte, ob der automatisierte Test ordnungsgemäß ausgeführt wurde.

Obwohl automatisiertes Testen manchmal zu falsch positiven Ergebnissen führen kann, lässt sich die Anzahl solcher Fälle durch die Auswahl der richtigen Tools für die QA-Automatisierung erheblich reduzieren. 

Die falschen Dinge automatisieren

Das Einrichten automatisierter Tests nimmt Zeit in Anspruch. Die QA muss sicherstellen, dass die Tools für die Automatisierung für das Projekt geeignet sind und dass die QA-Tester wissen, wie sie die Tools richtig verwenden. 

All das erfordert viel Zeit und Organisation. Wenn das Endergebnis darin besteht, dass ein Test, der normalerweise einmal im Monat ausgeführt wird, automatisiert wird, ist der Aufwand nicht gerechtfertigt. Bevor du mit dem automatisierten Testen beginnst, solltest du sicherstellen, dass das, was du automatisieren möchtest, den QA-Testern messbar viel Zeit erspart.

Du kannst nicht nur Aufgaben automatisieren, die zu selten vorkommen, um den Aufwand zu rechtfertigen, sondern manche Aufgaben lassen sich einfach nicht ohne Weiteres automatisieren.

Manuelles Testen ersetzen

Automatisiertes Testen kann nur das erkennen, wonach es suchen soll. Wenn die Schriftarten auf einer Webseite merkwürdig aussehen, der Test aber nur überprüft, ob alle Links auf der Website funktionieren, wird er ein Problem lösen (die Links), aber nicht bemerken, dass mit dem anderen (den Schriftarten) etwas nicht stimmt. 

Manuelles Testen kann Dinge erkennen, die außerhalb des ursprünglichen Testumfangs liegen. Die Methode des explorativen Testens wurde dafür entwickelt, dem QA-Tester den nötigen Freiraum zu geben, unerwartete Fehler zu finden, sobald sie auftreten, selbst wenn das ursprünglich nicht sein Ziel war. Bei einer einzelnen Aufgabe kann automatisiertes Testen gründlich sein. Umfassend kann es jedoch nicht sein. 

Beispiele für gutes automatisiertes Testen

Testautomatisierung wird eingesetzt, um Risiken zu minimieren. Wenn ein QA-Tester das Risiko minimieren und gleichzeitig die Effizienz maximieren kann, sollte automatisiertes Testen unbedingt eingesetzt werden. Es gibt keinen Grund, warum ein QA-Tester stundenlang die Links auf einer Website manuell überprüfen sollte, wenn ein Webcrawler dieselbe Aufgabe in kürzerer Zeit erledigen kann und dabei wahrscheinlich keinen Fehler macht.

Eine gute Faustregel dafür, wann automatisiertes statt manuelles Testen eingesetzt werden sollte, ist die Frage, ob der Test schnell oder kontinuierlich ausgeführt wird. Wenn der Test kontinuierlich laufen soll, ist automatisiertes Testen der richtige Weg. 

Menschen sind Maschinen unterlegen, wenn es darum geht, sich wiederholende Aufgaben konstant auf hohem Niveau auszuführen. Wir sehnen uns nach Abwechslung und schalten gedanklich ab, wenn wir zu lange dasselbe tun. Dadurch können sich Fehler einschleichen. 

So wird ein QA-Tester feststellen, dass er: a) mehr Zeit aufgewendet hat, als wenn er automatisiertes Testen durchgeführt hätte, und b) schlechtere Arbeit geleistet und später noch mehr Probleme verursacht hat. 

Jason Huggins, der Begründer des beliebten Automatisierungstesters Selenium, entwickelte das Programm, weil er feststellte, dass er als Tester so viele seiner Tage damit verbrachte, dieselben Aufgaben auszuführen – Aufgaben, die seiner Meinung nach so einfach und unkompliziert waren, dass selbst ein Roboter sie erledigen konnte. Deshalb entwickelte er ein Skript, das die Browserfunktionen automatisch für ihn testete. Es war sofort erfolgreich und wurde schnell zum Branchenstandard. 

Selbst QA-Experten, die dem automatisierten Testen skeptisch gegenüberstehen, wissen, dass es in vielen Fällen sinnvoll ist. 

Warum manuelles Testen niemals aussterben wird

Wir haben die guten, die schlechten und die sehr schlechten Aspekte von AT betrachtet. Wir wissen, in welchen Situationen es gut funktioniert und wo es dazu führt, dass Montagelinien Autoreifen durch die Fabrik schleudern. Schauen wir uns eine Weile das manuelle Testen an und betrachten wir, warum es für QA-Tester nach wie vor so wichtig ist. 

Automatisiertes Testen erfordert Überwachung

Wie oben am Beispiel von Musks Model 3 und den Risiken nächtlicher Testautomatisierung erwähnt, kann vieles schiefgehen, wenn man Automatisierungstools sich selbst überlässt. 

Das automatisierte Testen erfordert Überwachung-GIF

Die größten Vorteile des automatisierten Testens ergeben sich, wenn es gemeinsam mit manuellem Testen oder unter der Aufsicht eines QA-Testers durchgeführt wird. Schon aus diesem Grund können QA-Tester beruhigt sein, dass AT ihre Rollen in absehbarer Zukunft nicht übernehmen wird. 

More Articles

Manuelles Testen nutzt exploratives Testen

Wenn ein Tester einen explorativen Test durchführt, erkundet er die Software ohne vordefinierten Plan. Es ist eine der beliebtesten Testformen in der Qualitätssicherung.

Exploratives Testen kann nur durch manuelles Testen durchgeführt werden. 

Der Vorteil des explorativen Testens besteht darin, dass der Tester seine Erkenntnisse spontan berücksichtigen kann, ohne einen weiteren Testfall schreiben zu müssen. 

Exploratives Testen ermöglicht außerdem Zusammenarbeit, die Entwicklung von Theorien und Teamarbeit – alles spontan. 

Da die agile Entwicklungstheorie immer bedeutender geworden ist, hat auch das explorative Testen an Bedeutung gewonnen. 

Dem automatisierten Testen fehlt die Flexibilität und Kreativität, um für exploratives Testen agil genug zu sein. Es funktioniert am besten in einer starren Umgebung, in der genau bekannt ist, wonach gesucht werden soll. Exploratives Testen ist das genaue Gegenteil – der Tester in der Qualitätssicherung wird angewiesen, dorthin zu gehen, wohin er möchte. 

Was denken Sie?

Manche Menschen schwören auf automatisiertes Testen, während andere weiterhin der Meinung sind, dass manuelles Testen der richtige Weg ist. Wie können Teams in der Qualitätssicherung Ihrer Meinung nach das Beste aus automatisiertem Testen herausholen? Sind Sie der Meinung, dass wir für KI beim Testen bereit sind?

Abonnieren Sie den Newsletter des CTO Club, um die neuesten Artikel und Aktualisierungen von Branchenexperten zu erhalten.

Jason Boog

In seiner 15-jährigen Laufbahn arbeitete Jason Boog als QA-Tester, QA-Analyst und Senior QA-Analyst an Videospielen, kommerziellen Websites und interaktiven Webanwendungen. Mehr als ein Jahrzehnt lang baute er als Director of Quality & Client Support bei einer Full-Service-Digitalagentur das QA-Team und den Prozess aus.

Follow the author:

You may also like