Automatisiertes Testen ist nix neues mehr. Jede gute Software wird mit automatisierten Unit-Tests und Integrationstests entwickelt um bei Änderungen immer zu wissen, ob noch alles einwandfrei funktioniert. Frameworks und Reporting-Tools gibt es genug. Sie haben ihrem Platz am Markt gefunden und sind auch kaum mehr wegzudenken. Doch schnell wird manch Geschäftsführer übereifrig, denn wozu braucht man nun noch manuelle Tester?

Softwareentwickler sichern „innere Qualität“

Entwickler sind meist Spezialisten. Sie konzentrieren sich auf ein Problem, bzw. auf die Implementierung einer Lösung für dieses Problem entsprechend der Spezifikation. Zu ihrem Job gehört es sicherzustellen, dass die Funktionen machen was sie sollen und nicht machen, was sie nicht sollen. Dies passiert, indem alle möglichen Testfälle berücksichtigt werden. Im besten Fall gibt die Spezifikation alle vor. Im schlechten Fall ist die Spezifikation unvollständig und dem Entwickler fallen die Lücken auf und er baut entsprechende Test (in Absprache, damit die Logik nicht falsch umgesetzt wird) ein. Im schlechtesten Fall wird der Entwickler allein gelassen und muss selbstständig die Testfälle definieren. Bei WOGRA erwarten wir von unseren Entwicklern, dass sie verstehen, was der Kunde benötigt um zusammen mit dem Kunden das bestmögliche Resultat zu erarbeiten. Aber bei vielen Unternehmen sind Softwareentwickler die verlängerte Werkbank und arbeiten einfach ein Pflichtenheft ab. Wenn man bedenkt, dass gerade beim Off- und Nearshoring die fachliche Expertise nicht in den Händen des Entwicklers liegt und er die Domäne der Software nicht kennen muss, gleicht die Aufgabe des Testens einem Blindflug.

Testen der Tests und Usability

Aus diesem Blickwinkel heraus wird bereits die erste Sinnhaftigkeit von manuellen Tests klar: Manuelle Tests werden in aller Regel von fachlichen Experten durchgeführt. Diese kennen ihre Domäne. Und nicht nur das. Diese kennen auch Begrifflichkeiten, wie sie vielleicht nur Inhouse verwendet werden, z.B. Abkürzungen. Und diese wissen genau, welche Fallstricke sich in Formularen und speziellen Prozesselementen befinden und gehen gezielt auf deren Suche. Gerade bei einer neuen Software ist das dann spannend. Denn die manuellen Tester haben selbstverständlich auch ihre Teststuites, die sie abarbeiten müssen. Diese Suites spiegeln oft gezielte Prozesse wieder. An dieser Stelle lässt sich schnell feststellen, ob der Tester nachvollziehen kann, was er bzw. die Software tut. Kommt es hier zu Fragen und Problemen, muss entweder am Prozess oder an der Usability nachgebessert werden.

Monkey Tests

Jetzt kommen wir zu einem besonders interessanten Bereich des Testings: Monkey Tests. Wem das an dieser Stelle nichts sagt: Stellen Sie sich vor, ein Affe sitzt vor Ihrer Software und haut einfach mal in die Tastatur, klickt wild herum und verschiebt ggf. Elemente. Er weiß natürlich nicht, dass in dem Feld Postleitzahl keine Buchstaben stehen sollen. Ist ihm auch egal. Er weiß auch nicht, dass er den Button da oben rechts erst klicken soll, wenn schon zumindest eine Adresse gespeichert wurde. Ist ihm auch egal. Und er weiß natürlich auch nicht, dass die Drag&Drop Funktion nur auf die blau markierten Items durchgeführt werden kann. Sie ahnen es – es ist ihm auch egal. Und genau jetzt kommt der Teil, vor dem sich alle fürchten: Was passiert?

Manuelle Tests machen die Würze

Wer nun noch sagt, manuelle Tests gehören der Vergangenheit an, irrt gewaltig. Es braucht Fachexpertise, die sowohl das Konzept als auch die Usability prüft und dabei ggf. Fehler in der Programmierung entdeckt (sowohl bei der Implementierung der Logik als auch bei der Implementierung der Tests). Und es braucht jemanden, der einfach mal „drauflos hackt“, denn es wird immer neue User geben, für die die Software vollkommen neu ist und die genau in dieses Verhalten reinlaufen.