Testautomatisierung vs. manuelles Testen: was macht wann wirklich Sinn?

Software testen

(Bildquelle: Pixabay.com – CC0 Public Domain)

Jedes Softwareentwicklungsteam ist angehalten, seine Ergebnisse zu testen. Trotzdem gibt es so gut wie keine fehlerfreie Software. Wann macht es Sinn, Tools für automatisiertes Testen einzusetzen und wann ist manuelles Testen grundsätzlich die bessere Option, um die Qualität im Entwicklungsprozess optimal zu gewährleisten?

Wann sollten Tools für automatisiertes Testen zum Einsatz kommen?

Der Einsatz automatisierter Tests kann den Entwicklungsprozess prinzipiell immer unterstützen, die Frage ist nur zu welchen Kosten. Denn natürlich bringt dieser Einsatz auch deutlich erhöhte Aufwände und damit Kosten in der Anfangsphase mit sich, um einen Grundstock an Testfällen initial zu entwickeln. Doch in vielen Fällen sind die Einsparungen an anderer Stelle im Testteam deutlich höher und die Verbesserung der Qualität merklich.

Durch die Automatisierung werden Testfälle wiederholbar und können, ohne Einbußen an Qualität und praktisch ohne zusätzlichen Aufwand, beliebig oft und jederzeit durchgeführt werden. Damit eignen sie sich vor allem für große und langfristige Projekte, bei denen viele Builds über eine lange Zeit erfolgen.

Entwickler erhalten dadurch regelmäßiges Feedback zur Qualität ihrer Arbeit und erkennen Probleme schnell. Sie sind nicht auf langwierige manuelle Tests angwiesen, die – eben weil sie manuell durchgeführt werden – zeitintensiver und fehleranfälliger sind im Vergleich zu einem automatisierten Prozess.

Im Verlaufe längerer Entwicklungszyklen werden so umfangreiche Testfälle definiert und immer wieder angewendet, was im rein manuellen Testbetrieb bei einer hohen Anzahl an Testfällen kaum möglich wäre.

Wann mach manuelles Testen doch Sinn?

Bei kurzen Projekten und solchen mit hoher Dynamik ist es schwer, Tests sinnvoll zu automatisieren. Die Daten ändern sich häufig, neue Testfälle kommen laufend hinzu, bestehende Tests müssen oft angepasst werden. Und das alles findet in einem kurzen Zeitfenster statt. In einem solchen Szenario können automatisierte Tests keinen wirklichen Mehrwert bringen, da ihre Entwicklung und Anpassung viel zu aufwändig wären.

Hier ist also manuelles Testen die effektivste Möglichkeit der Qualitätssicherung, auch wenn die Fehlerquote durch den menschlichen Faktor berücksichtig werden muss. Nur manuelles Testen bietet maximale Flexibilität und schnelle Ergebnisse.

Fallweiser Einsatz

Neben der Frage, für welche Projekte und in welcher Situation automatisierte oder manuelle Testverfahren sinnvoller sind, sollte man natürlich auch überlegen, welche Testarten am besten wie unterstützt werden können.

Während Unit Tests und funktionale (Whitebox) Tests häufig auf manuelle Qualitätssicherung zurückgreifen, können Regressions-, Load- und Performance-Tests meist stark von einer Automatisierung profitieren, ebenso besonders Daten-zentrierte Testverfahren.