Anzeige

Anzeige

VERANSTALTUNGEN

Software Quality Days 2019
15.01.19 - 18.01.19
In Wien

CloudFest 2019
23.03.19 - 29.03.19
In Europa-Park, Rust

SMX München
02.04.19 - 03.04.19
In ICM – Internationales Congress Center München

Anzeige

Anzeige

Anzeige

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

GRID LIST
Mac-Malware

Mac-Malware ist im Kommen

WatchGuard Technologies hat seinen Internet Security Report für das dritte Quartal 2018…
DSGVO Datentunnel

DSGVO wird Treiber für die sichere E-Mail

Die neuen gesetzlichen Datenschutzvorgaben haben die IT- und Business-Entscheider in…
Freelancer

Mit freien IT-Experten Projekte erfolgreich umsetzen

Die Zusammenarbeit mit Freelancern ist eine gute Chance, Digitalisierungsprojekte…
Roboter fährt Auto

Die Autobranche gibt bei KI Gas – und sollte weiter hochschalten

Künstliche Intelligenz (KI) wird unser Leben massiv verändern und sich zu einem der…
IoT Security

Mangelnde IoT-Sicherheit führt zu Verlusten in Unternehmen

In einer globalen Umfrage von DigiCert zum Internet der Dinge (State of IoT Survey 2018)…
Compliance

Compliance ist Haupttreiber von Data Governance

Das Business Application Research Center (BARC) veröffentlicht “How To Rule Your Data…
Smarte News aus der IT-Welt