Software

Testen in der Cloud: Automatisiertes Testen in virtualisierten Umgebungen

Seite: 2/2

Anbieter zum Thema

Anpassen kein Problem

Die Middleware ist sowohl über eine Web-Oberfläche als auch über eine kommandozeilenbasierte Schnittstelle bedienbar. Da es sich bei OpenNebula um Open-Source-Software handelt, ist auch eine Anpassung für spezielle Anforderungen kein Problem. So wurde z.B. ein neuer Scheduler entwickelt, um das System auch für die Cloud nutzen zu können. Für die Durchführung des Softwaretests ist es erforderlich, ein entsprechendes VM-Image zu erstellen, in dem die zu testende Software installiert ist. Anschließend lässt sich dieses eine Image dazu verwenden, beliebig viele parallel ausführbare Instanzen zu erzeugen, auf denen die Testfälle unabhängig voneinander durchgeführt werden. Die Testfälle selbst werden mit Hilfe der von sepp.med entwickelten MBTsuite [2] aus einem, auf Basis der Anforderungen erstellten, Verhaltensmodell der zu testenden Anwendung erzeugt. Die Verteilung und Überwachung der Testaufgaben in der Cloud erfolgt über eine zentrale Instanz (Master). Diese kennt alle für eine Testausführung relevanten Details, Anzahl und Struktur der Testfälle sowie ggf. Zeit- und Ressourcen-Anforderungen, und sie kann die notwendigen Ressourcen (Worker) von der Middleware via OCCI [3] anfordern, steuern und auch wieder frei geben.

Ohne zusätzlichen Aufwand

Durch den der Cloud-Technologie inhärenten Einsatz von Virtualisierungstechnik, ermöglicht der Einsatz von VMs neben der skalierbaren parallelen Ausführung von Testfällen auch das gleichzeitige Testen unterschiedlicher Versionsstände der zu testenden Software unter verschiedenen Betriebssystemen und Betriebssystem-Versionen. Somit kann ein paralleler Softwaretest praktisch ohne zusätzlichen Aufwand zu einem Systemkonfigurationstest erweitert werden. Dabei kann man neben den Softwarekomponenten auch die Hardware, z.B. die Anzahl der einer VM zugeordneten CPU-Kerne oder der Ausbau des Hauptspeichers, verändern, wodurch die erreichbare Testabdeckung signifikant verbessert werden kann.

Qualität der Software merklich steigern

Auch die Dokumentation und Reproduzierbarkeit von Testläufen wird durch den Einsatz der Cloud wesentlich vereinfacht. Da die konfigurierten VM-Images in einem Repository abgelegt und gespeichert werden können, ist es möglich, bestimmte Fehlerszenarien und Testläufe unter identischen Bedingungen auch zu einem späteren Zeitpunkt zu wiederholen. Zudem ist es denkbar, dass ein Kunde im Fehlerfall ein Image seines Systems erzeugt, in die Cloud hoch lädt und geeignete Testfälle dann auf diesem Image durchgeführt werden, um den Fehler nachzustellen.

Der Einsatz automatisierter Tests im Zusammenspiel von modellzentriertem Testen mit Cloud-Technologie bietet beste Voraussetzungen, die Effizienz der Software-Qualitätssicherung merklich und vor allem nachhaltig zu steigern. Der auf Virtualisierung und Skalierbarkeit beruhende Ansatz ermöglicht es Unternehmen jeder Größe, eine fast beliebige Anzahl von Testfällen effizient abzuarbeiten. Kosten entstehen dabei nur für tatsächlich in Anspruch genommene Leistungen.

Instruktionsgenaue Simulation

In einem weiteren zentralen Teil des Förderprojekts wird der Test von Software für eingebettete Systeme in der Cloud untersucht werden. Hier ist insbesondere die Erprobung von Open Virtual Plattform [4] vorgesehen, einem Tool, das die instruktionsgenaue Simulation von eingebetteter Hardware ermöglicht. Auch hier kann die Cloud ihren Vorteil der kostengünstigen Rechenleistung ausspielen und den frühzeitigen Test von Software auf virtueller Hardware ermöglichen. Grundlage dafür ist ein Vorgehensmodell bei dem die Entwicklung von Test, Software und Hardware gleichzeitig beginnen kann. Anfangs werden die rein virtuellen Modelle für Test, Software und Hardware immer weiter verfeinert und mit Hilfe der Cloud konsistent gehalten. Erst später wird die reale Hardware tatsächlich gefertigt, während Software und Test bereits weitgehend abgeschlossen sein können.

Links und Referenzen

[1] http://opennebula.org/

[2] http://www.seppmed.de/produkte/mbtsuite.html

[3] http://occi-wg.org/

[4] http://www.ovpworld.org/

[5] http://www.cetes.eu

* * Dipl.-Phys. Matthias Pruksch, Projektleiter, seppmed, Prof. Dr.-Ing. Dietmar Fey (FAU), Lehrstuhlinhaber, sowie Alexander Ditter, M.Sc. (FAU) – Wissenschaftlicher Mitarbeiter, Dipl.-Inf. Steffen Limmer (FAU) – Wissenschaftlicher Mitarbeiter

*

(ID:39918040)