IT-Sicherheit in Produktion und Technik
12.09.17 - 13.09.17
In Berlin

Be CIO: IT Management im digitalen Wandel
13.09.17 - 13.09.17
In Köln

IBC 2017
14.09.17 - 18.09.17
In Amsterdam

Orbit IT-Forum: Auf dem Weg zum Arbeitsplatz der Zukunft
27.09.17 - 27.09.17
In Leverkusen

it-sa 2017
10.10.17 - 12.10.17
In Nürnberg

Software DevelopmentTestautomatisierung ist in der IT nichts Neues. Gerade in der agilen Softwareentwicklung sind kontinuierliche Tests zur Sicherung der Qualität unerlässlich. Viele Unternehmen bleiben aber auf halbem Weg stehen, meint der IT-Full-Service-Provider Consol: Sie konzentrieren sich auf Unit-Tests und vernachlässigen die Disziplinen Integrations- und UI-Tests.

Unit-Tests bilden die Basis der Testabdeckung und sind in der Softwareentwicklung Standard. Bei diesem Testverfahren werden einzelne Komponenten einer Software isoliert betrachtet und im Hinblick auf ihre fehlerfreie Funktionalität überprüft. Damit kann auch frühzeitig im Entwicklungsprozess erkannt werden, ob sich ein Code-Abschnitt wie erwartet verhält.

"In vielen Unternehmen beschränkt sich die Testautomatisierung heute immer noch auf Unit-Tests. Die Management- und auch die Projektleitungsebenen scheuen sich vielfach, entsprechende Mittel bereitzustellen, um auch Integrations- und UI-Tests voll automatisiert durchzuführen. Der Grund ist klar: Die initiale Investition sowie der Pflegeaufwand sind in diesen Bereichen im Vergleich zu manuellen Tests relativ hoch", erklärt Christoph Deppisch, Consultant und Software-Architekt bei Consol. "Mittel- und langfristig wird sich die kontinuierliche Durchführung von automatisierten Tests aber in allen Bereichen immer lohnen, sowohl finanziell als auch qualitativ."

Unit-Tests können immer nur der erste Schritt einer vollständigen Testautomatisierung sein. Heutige IT-Systemlandschaften werden zunehmend komplexer und das Zusammenspiel verteilter Komponenten immer wichtiger. Um Änderungen oder neu entwickelte Funktionalitäten einer Enterprise-Applikation schnell und problemlos in den Produktivbetrieb zu überführen, ist es unverzichtbar, sie von Anfang an im Hinblick auf ihre Schnittstellenkonformität mit anderen Anwendungen zu überprüfen. Möglich ist dies mittels Integrationstests.

Automatisierung im Bereich Integration ist deutlich aufwändiger als bei Unit-Tests, da die Abhängigkeiten unterschiedlicher Systeme voneinander simuliert werden müssen. Doch hierfür gibt es Tools wie das weit verbreitete Arquillian. Auch Consol stellt hier mit Citrus eine Lösung bereit, die ausgezeichnet mit Arquillian zusammenarbeiten kann: Citrus ermöglicht voll automatisierte Integrations- und Schnittstellentests selbst in großen, komplexen Szenarien und bietet eine hohe Einsatzflexibilität, da unterschiedlichste Nachrichtenprotokolle und Datenformate unterstützt werden. Alle Testfälle werden voll automatisiert durchgeführt und dokumentiert, so dass sich die einwandfreie Integration der Software bei ihrer Auslieferung lückenlos nachweisen lässt.

Letzter Schritt in der End-to-End-Testautomatisierung sind User-Interface (UI)-Tests für die Überprüfung der Benutzeroberfläche, zum Beispiel eines Web-Frontends oder einer Rich-Client-Anwendung. Sie simulieren Benutzeraktionen auf unterschiedlichen grafischen Oberflächen, um sicherzustellen, dass die vom Server gelieferten Daten immer korrekt angezeigt werden. Auch hierfür gibt es erprobte Tools wie das Web-Testing-Framework Selenium (seleniumhq.org) oder die Consol-Lösung Sakuli (github.com/ConSol/sakuli), die zusätzlich zu Browser-basierten Inhalten auch native Desktopanwendungen automatisiert testen kann. Sakuli eignet sich durch die Integration mit diversen Monitoring-Plattformen hervorragend für ein End-to-End Application Monitoring.

"Klar ist, dass Unit-Tests zwingend erforderlich sind und die Basis jeder Qualitätssicherung bilden. Aber sie sind nur der erste Schritt auf dem Weg zu einer vollständigen End-to-End-Testautomatisierung", so Deppisch. "Eine solche ist erst gegeben, wenn auch Integrations- und UI-Tests kontinuierlich durchgeführt werden. Sie sind zwar komplexer, aber mit den heute verfügbaren Tools lassen sich die damit verbundenen Herausforderungen gut meistern. Und eins sollte dabei prinzipiell nicht vergessen werden: Eine durchgängige Testautomatisierung ist eine Grundvoraussetzung für eine erfolgreiche Einführung von Continuous-Delivery- und Deployment-Prozessen in der Softwareentwicklung."

www.consol.de

Frische IT-News gefällig?
IT Newsletter Hier bestellen:

Newsletter IT-Management
Strategien verfeinert mit profunden Beiträgen und frischen Analysen

Newsletter IT-Security
Pikante Fachartikel gewürzt mit Shortnews in Whitepaper-Bouquet