Softwareentwicklung und deren Prozesse haben sich in den letzten Jahren in einem rasanten Tempo weiterentwickelt. Wird das manuelle Softwaretesting mit der zunehmenden Verbreitung von automatisiertem Testing und künstlicher Intelligenz in Zukunft noch benötigt? Unser Testexperte Michael Vocelka zeigt auf, warum sich eher ein Mix automatisierter und manueller Methoden, in Abhängigkeit verschiedener Aspekte, etablieren wird.

Das manuelle Softwaretesting hat eine lange Geschichte und ist ein wichtiger und nicht wegzudenkender Bestandteil des Softwareentwicklungsprozesses geworden. Es übt eine wichtige Rolle bei der Prüfung und Sicherstellung der Qualität einer Software aus. Tester überprüfen die Benutzeroberflächen und die Funktionalitäten einer Anwendung, anhand vordefinierter Testfälle, um potenzielle Probleme oder Abweichungen der Software zu identifizieren. Dies mit dem Ziel, dass Softwareprodukte in Übereinstimmung mit den Anforderungen und Spezifikationen funktionieren und den Anforderungen der Stakeholder und Benutzer entsprechen.

In den letzten Jahren hat sich die Softwareentwicklung und deren Prozesse in einem rasanten Tempo verändert und weiterentwickelt. Mit der Einführung von Automatisierungstools und dem maschinellen Lernen, können viele Prozesse durch Automatisierungstools effizienter und schneller ausgeführt werden. Diese Entwicklung hat auch den Bereich des Softwaretesting erreicht. Automatisierte Tests, die durch Test-Automatisierungs-Tools von Computern ausgeführt werden, haben an Popularität gewonnen. Das Automatisierte Testing bietet dabei eine Vielzahl von Vorteilen gegenüber dem manuellem Softwaretesting.

Automatisierte Tests können schnell und exakt durchgeführt werden. Die Zeit, welche durch manuelles Testing aufgewendet werden würde, reduziert sich erheblich. Des Weiteren sind automatisierte Tests wiederholbar und liefern konsistente Ergebnisse, was bei manuellem Testing nicht immer der Fall ist.

Ausserdem kann die Verwendung von Automatisierungstools dazu beitragen, den Prozess des Softwaretesting zu beschleunigen, da diese regelmässig(-er) und in kurzen Abständen durchgeführt werden können. Dies einerseits für stetig wiederholbare Testfälle oder auch für sich komplex wiederholende Abläufe.

Hierbei kann die künstliche Intelligenz (KI) eine wichtige Rolle spielen und ist mit dem automatisiertem Testing eng verbunden. Mit dem Einsatz von KI-Technologien können Test-Automatisierungs-Tools «intelligenter» werden und dabei Testfälle automatisch erstellen, priorisieren und durchführen. Dabei kann die KI unterstützen, die Testprozesse zu automatisieren und zu optimieren.

Allerdings sollte hier nicht ausser Acht gelassen werden, dass der Einsatz einer KI-Technologie ein fundiertes Wissen und Verständnis erfordert, um dies in den automatisierten Testprozess einzubinden.

Auch gibt es unterschiedliche Herangehensweisen des automatisierten Testens bei den beiden Software-Entwicklungs-Methoden Agile und Wasserfall.

Im Falle der Wasserfall-Methode werden die automatisierten Tests üblicherweise gegen Ende einer jeden Entwicklungsphase durchgeführt. Dies bedeutet, die automatisierten Test werden in einer späteren Phase des Projekts durchgeführt. Hierbei dient die Durchführung der Tests der Überprüfung der Software, ob die in den frühen Entwicklungsphasen festgelegten Anforderungen diese auch erfüllen.

Auf der anderen Seite wird bei der Agilen-Methode das automatisierte Testen während der gesamten Phase des Entwicklungsprozesses integriert. Dabei werden in der Regel auf den unterschiedlichen Abnahmestufen (Unit, Integrations- und Abnahmetesting) diese automatisierten Tests durchgeführt und unterstützen dabei die Überprüfung der kontinuierlichen Integration und Bereitstellung der Software. Hierbei werden die automatiserten Tests häufiger durchgeführt, um Abweichungen oder Fehler in der frühen Entwicklungsphase zu erkennen.

Ein weiterer Unterschied der beiden Methodologien ist, dass die automatisierten Tests im Agilen oft von den Entwicklern selbst durchgeführt werden, währenddessen im Wasserfall die automatisierten Tests oft von einem eigenständigen Testteam durchgeführt werden.

Es stellt sich die berechtigte Frage, ob mit der zunehmenden Verbreitung von automatisiertem Testing und künstlicher Intelligenz das manuelle Softwaretesting in Zukunft noch überhaupt benötigt wird oder ob es gar innerhalb der nächsten Jahre wegfallen könnte. Auf der einen Seite gibt es die Argumente, die für das Automatisierte Testing sprechen, auf der anderen Seite gute Gründe für ein weiterhin manuelles Testing.

Automatisierte Tests sind (in absehbarer Zeit) nur so gut, wie sie von Menschen aufgesetzt und konfiguriert worden sind. Sobald es zu einer Änderung oder Ergänzung der Software kommt, müssen diese wiederum angepasst werden.

Durch manuelles Testing können in derartigen Situationen unerwartete Fehler und Probleme erkannt werden, welche beim automatisiertem Testing übersehen würden. Manuelle Tests sind flexibler und können in Situationen eingesetzt werden, in denen automatisierte Tests nicht oder nur bedingt funktionieren würden.

Nicht zu unterschätzen ist der Instinkt und die Erfahrung des manuellen Testers, wenn es um die Überprüfung der Benutzeroberfläche oder um das explorative Testing geht.

Automatisiertes Testen benötigt eine nicht unerhebliche Initialinvestition in Bezug auf Zeit und Ressourcen, bspw. um automatisierte Testfälle zu erstellen und zu implementieren. Es muss klar festgelegt werden, welche Testfälle durch das Automatisierungstool durchgeführt werden können und sollen, da es wahrscheinlich nicht möglich sein wird, alle Szenarien vollständig abdecken zu können.

Ausschlaggebend bei der Festlegung des Verfahrens ist demnach, welche Anforderungen und Ziele das Projekt und das Unternehmen an die zu testende Systeme bzw. Anwendungen verfolgt und welches Zeit- und Ressourcenbudget dazu zur Verfügung steht.

Aufgrund der aufgezeigten Faktoren ist es aus meiner Sicht unwahrscheinlich, dass das manuelle Testen komplett aussterben wird. Es gibt viele Arten von Tests, wo Automatisierung nicht hinreichend gut weiterhelfen kann und auf das manuelle Testen zurückgegriffen werden muss. Daher wird es in weiten Bereichen einen Mix von beiden Methoden geben, dies in Abhängigkeit der genannten Aspekte.

————————-

Das Unternehmen Boxcon AG unterstützt Schweizer Finanzinstitute bei der Umsetzung verschiedenster Digitalisierungsvorhaben. In unserem Lösungs- und Beratungshaus finden Sie Persönlichkeiten mit speziellen fachlichen und methodischen Fähigkeiten, passend für Ihre jeweilige Aufgabenstellung. Wie die Vielfalt der fachlichen Qualifikationen in der Breite überzeugt, so einzigartig ist auch der gemeinsame Kern von Eigenschaften aller unserer ausgewählten Boxcon-Expertinnen und -Experten als Rückversicherung für Ihre erfolgreichen Projekte.

Kontaktieren Sie uns oder folgen Sie uns auf LinkedIn. Wir freuen uns darauf, Sie kennenzulernen.

Kompetent, sympathisch und erstaunlich. Consulting beyond the box - made in Switzerland