Die Frage hat mich echt zum Nachdenken gebracht, denn sind die manuellen Tester eigentlich auf Dauer gesehen überflüssig?

Muss man ein technischer Tester werden, um seinen Arbeitsplatz in der Softwarebranche zu retten?

Werden manuelle Tester in Zukunft ihren Wert und ihren Arbeitsplatz verlieren, wenn sie nicht bald zur Automatisierung übergehen?

 

Testautomatisierung kann manuelle Tests NIEMALS ersetzen.

Ein klassisches Argument ist, dass die Testautomatisierung niemals zufällige Fehler finden kann, die durch manuelle Erkundungstests gefunden werden können.

Ich hatte in der Vergangenheit mehrere Kollegen, die keinerlei Programmierkenntnisse besaßen und das Programmieren hassten, aber sie waren extrem gute manuelle Tester und konnten Fehler finden, die sonst niemand finden konnte. Das macht einen manuellen Test und vor allem einen manuell testenden Tester aus, um die Ecke denken. Positive aber auch Negative Test definieren, ausführen.

Abgesehen davon ist Testautomatisierung wünschenswert.

Die gute Nachricht ist, dass viele Anstrengungen unternommen wurden, um die Testautomatisierung zu vereinfachen. Es ist möglich, die Testautomatisierung mit Aufzeichnung und Wiedergabe ohne Programmierkenntnisse zu erlernen und anzuwenden. Zum Beispiel erfordern Selenium IDE, Ranorex und TestCompelte keine Programmierkenntnisse für die Testautomatisierung.

 

Wenn ihr mit den oben genannten Testautomatisierungssuites für die Aufzeichnung und Wiedergabe vertraut seid, könnt ihr zu Test-Suites übergehen, die eher skriptorientiert sind. Wendet dazu z.B. Automatisierung mit Selenium WebDriver anstelle von Selenium IDE an.

Mein persönlicher Ratschlag lautet: Automatisierung und manuelles Testen sind keine Todfeinde.

Da ihr erfahrene Tester seid und immer in der Nähe von Entwicklern arbeitet, gibt es viele Möglichkeiten, das Programmieren zu lernen. In der IT-Branche kann es nie schaden, Programmieren zu lernen. Aber ob es ein Muss ist, ist eine Frage, die man eben inhaltlich unterscheiden muss.

IT-Unternehmen bieten interne Schulungen in Form von Coding Dojo oder Coding Jam an, eine gute Gelegenheit, sich mit den neuesten Programmierpraktiken vertraut zu machen.

Natürlich kann man sich als Fachmann für manuelle Tests weiterentwickeln, indem man neue Techniken und Methoden erforscht und verschiedene Produkte in unterschiedlichen Branchen und Bereichen testet. Verschiedene Tools und Arbeitsabläufe ausprobieren. Das ist gut so! Aber meiner Meinung nach muss der nächste Schritt die Testautomatisierung sein.

  • Regressionen. Wenn ein Tester, anstatt einen automatisierten Test für ein Problem zu schreiben, die zu reproduzierenden Schritte in einem manuellen Testszenario aufzeichnet und sich dann darauf verlässt, dass dieses bestimmte Szenario in Zukunft bei jeder neuen Version des Produkts manuell abgearbeitet wird, wird dieser Prozess irgendwann scheitern. Würde ein Tester dagegen einen automatisierten Test für dieses Problem schreiben und diesen Test täglich oder als Teil eines Pre-Release- oder Post-Build-Prozesses durchführen, ist die Chance, eine Regression zu vermeiden, wesentlich höher.
  • Menschlicher Faktor. Oftmals, insbesondere nach der Freigabe, ist es notwendig, die bereitgestellte Anwendung auf höchster Ebene zu überprüfen. Wird dies manuell durchgeführt, kommt der "menschliche Faktor" ins Spiel. Was ist, wenn man vergisst, einen Teil der Anwendung zu überprüfen, der dann nicht mehr funktioniert? Bei einem automatisierten Test ist die Wahrscheinlichkeit, dass er etwas vergisst, geringer als 0, und er würde Zeile für Zeile dem folgen, wofür er programmiert wurde.
  • Menschliche Voreingenommenheit. Menschen neigen dazu, Meinungen zu haben; Maschinen (nun, da bin ich mir heutzutage nicht mehr sicher) haben das nicht - ein automatisierter Test würde strikt den Anweisungen folgen, Menschen können ihre eigene Meinung mit einbringen. So können Sie beispielsweise Wörter in einem Testszenario anders interpretieren als die Person, die es geschrieben hat.
    Schnelleres Feedback. Automatisierte Tests liefern ein schnelleres Feedback und spielen eine wichtige Rolle bei der kontinuierlichen Integration und Bereitstellung.
  • Manuelle Tests können langweilig sein. Ich erinnere mich an die Zeiten, in denen wir nur manuelle Tests durchgeführt haben. Und ich erinnere mich auch daran, dass ich Motivationsschwierigkeiten hatte, den Testszenarien Schritt für Schritt zu folgen, was schließlich dazu führte, dass ich einige Schritte, auf die ich mich verlassen hatte, übersprang oder geistig umstellte. Ich erinnere mich, dass ich beim manuellen Testen leicht abgelenkt wurde und nicht bereit war, wieder von vorne anzufangen und so zu tun, als ob ich das Szenario ohne Unterbrechung verfolgen würde. Sagt mir nicht, dass ihr das noch nie getan haben, 🙂 dann lügt ihr euch selbst an.
  • Lasttests. Last-/Stresstests lassen sich in der Regel eigentlich nur schlecht manuell durchführen.
  • Validierungstests. Nehmen wir an, Sie haben eine Eingabe mit einigen benutzerdefinierten Validierungsregeln. Es wäre im Allgemeinen einfacher, anschaulicher und schneller, mehrere Werte für diese Eingabe mit einem automatisierten Test zu überprüfen.
  • Ihr werdet sichere Tester sein. Wenn ihr die Fähigkeit zur Testautomatisierung mitbringen, stärkt das euer Vertrauen in die Arbeit und die Qualität, die ihr liefert - Ihr wisst, dass die Fehler, die euch gefangen habt, aufgrund der automatisierten Tests, die ihr geschrieben habt, nicht in die Produktion gelangen.
  • Fachwissen
    • analytische Fähigkeiten (aus der Testperspektive)
    • Ihr seid zum Beispiel derjenige, der frühzeitig (in der Anforderungs- und Analysephase) Fehler findet, weil ihr die funktionalen Auswirkungen auf das Produkt abschätzen könnt und vielleicht schon auf Lücken oder fehlende Pfade hinweisen.

Und vergesst nicht, dass ihr mit Automatisierungskenntnissen auch euren Wert auf dem Markt steigern könnt.