Testautomatisierung

Testautomatisierung

Testautomatisierung

Testautomatisierung steigert die Qualität und Effizienz im Entwicklungsprozess und führt so zu einem besseren Produkt. Gleichzeitig können die Entwicklungsdauer und -kosten reduziert werden. So können Testfälle, die bereits erfolgreich durchgeführt wurden auch bei neuen Releases eingesetzt werden. Ein weiterer Vorteil ist die höhere Abdeckung von Testfällen.

Wann ist Testautomatisierung sinnvoll?

Automatisierte Tests lohnen sich dort, wo wiederkehrende Testfälle entstehen.

Die Testpyramide

Die Testpyramide ist ein Modell, das die einzelnen Teststufen nach ihrem Umfang graphisch darstellt. Die klassischen Teststufen, die auch das ISTQB empfiehlt, sind Akzeptanz-, System-, Integrations- sowie Unittests.

 

Testpyramide mit Akzeptanz-Tests an der Spitze, gefolgt von Integrations-, System- und Unittests

 

Die Spitze der Testpyramide bilden Akzeptanztests. Sie stehen am Ende der Testphase und dienen als abschließende Prüfung. Unter realen Einsatzbedingungen wird die Funktionalität geprüft, dies kann beispielsweise in Form von Beta-Tests erfolgen. Da sie aufwendig und kostspielig sind, sollten sie einen geringen Teil der Gesamttests ausmachen.

Vor den Akzeptanztests stehen die Systemtests, bei denen geprüft wird, ob die Anwendung als ganzheitliches System funktioniert. In der Regel erfolgt dies mit Hilfe von Testdaten auf einem Testsystem.

Den Systemtests gehen die Integrationstests voran. Diese dienen zur Prüfung, ob die einzelnen Komponenten des Gesamtsystems fehlerfrei zusammenspielen.

Die Basis im Testprozess bilden die Unit-Tests, bei denen die einzelnen Komponenten der Anwendung isoliert geprüft werden.

Tools zur Testautomatisierung

Die Liste der Tools zur Testautmatisierung ist lang und die Auswahl abhängig vom Testfall. Um einige beispielhaft zu nennen: Selenium, Soap UI, Cucumber, Ranorex werden häufig in der Automatisierung von Tests angewendet.

Continuous Testing

Eine Herausforderung für das Testen von Software stellt das Continuous Delivery-Prinzip der agilen Softwareentwicklung dar. Durch die kürzeren Entwicklungszeiten und ständige Entwicklung neuer Features muss ein effizientes Testkonzept eingeführt werden. Parallel zur Entwicklung sollten vollautomatisierte Tests die Software-Stabilität prüfen, um eine Beurteilung dieser zu ermöglichen. Ein solches Konzept greift somit nicht erst im Bereich der UI-Tests, sondern bereits auf der Ebene von Integrations- und Unit-Tests.

 

VORTEILE VON TESTAUTOMATISIERUNG

Schnellere Entwicklung

Frühzeitige Aufdeckung von Fehlern

Bessere Systemqualität

Verbesserung der Systemstabilität und Performance

Kostenreduzierung

Fehlerbehebungskosten werden gesenkt

Flexibilität

Tests können unabhängig von Arbeitszeiten ablaufen

Artikel, die Sie auch interessieren könnten:

Weitere Artikel finden Sie in unserem IT-Blog.