Pro und Contra: Software-Tests in der Cloud

Die Nachfrage nach Cloud Testing nimmt zu. Die erhofften und versprochenen Vorteile lassen sich durch die Angebote allerdings oft nicht erreichen. Sven Euteneuer geht im Gastbeitrag für ZDNet den Ursachen auf den Grund.

Die Versprechen sind bekannt: Es entstehen geringere Kosten als beim traditionellen Vorgehen, zudem ist es flexibler und benötigt weniger Zeit. Auch Software-Tests sind mittlerweile im Cloud-Zeitalter angekommen. Zahlreiche Anbieter von Testdienstleistungen in der Wolke treffen daher auf eine steigende Nachfrage. Ein weiterer, wichtiger Vorteil des Testens via Cloud: Echtzeitbedingungen im Web lassen sich hervorragend simulieren.

Soweit die Realität in Broschüren und in Projektplänen. Im Arbeitsalltag erreichen viele Unternehmen die gesteckten Ziele nicht. Der anvisierte Mehrwert und Effizienzgewinn durch Cloud-Testen stellt sich in diesen Fällen gar nicht oder nur teilweise ein. Was sind die wichtigsten Ursachen?

Technik ist nicht alles

Sven Euteneuer, der Autor dieses Gastbeitrags für ZDNet, ist Global Head of Technical Quality bei der SQS Software Quality Systems AG.Sven Euteneuer, der Autor dieses Gastbeitrags für ZDNet, ist Global Head of Technical Quality bei der SQS Software Quality Systems AG.

In der Diskussion um Software-Tests in der Cloud geht es heute vor allem um Aspekte, die auf die Technik abzielen – zum Beispiel bezüglich der Definition von Service Level Agreements (SLAs): Wie lassen sich diese auf der technischen Ebene monitoren? Wie lässt sich die Testplattform in der Cloud gegen Einbrüche absichern? Was ist notwendig, um die Verbindung zur Cloud-Plattform garantiert unterbrechungsfrei (redundant) und ausfallsicher zu implementieren? Solche Fragen sind wichtig. Und Cloud-Dienstleister müssen sie beantworten können.

Doch Technik ist nicht alles. Und darf auch nicht am Anfang von Software-Testprojekten in der Cloud stehen. Denn letztlich folgt die Technik jenen strategischen und konzeptionellen Weichenstellungen, die Unternehmen zuvor vorgenommen haben – oder eben auch nicht. Die Versäumnisse, die an dieser Stelle oft gemacht werden, zeigen beispielhaft, dass das Thema Industrialisierung der IT häufig noch unterschätzt wird.

Gerade wenn Unternehmen IT-Prozesse auslagern und damit die Verantwortung dafür teilweise abgeben, sind reife und standardisierte Abläufe eine unabdingbare Voraussetzung. Der Wille einer Organisation, Cloud-Services zu nutzen, kann noch so stark sein; ist die Reife jedoch nicht gegeben, stellen sich keine signifikanten Mehrwerte ein.

Ein Symptom für mangelnde Reife ist die Tendenz, das Rad immer wieder neu zu erfinden. So kann es durchaus vorkommen, dass in einer Organisation mehrere Ansätze des internen Software-Testens nebeneinander existieren, dazu noch Lösungsansätze, die auf billige, manuell testende Offshore-Dienstleister setzen, sowie weitere Vereinbarungen mit Cloud-Anbietern für das Software-Testen. Eine solche Vielzahl unterschiedlicher Lösungen lässt sich nicht mehr zusammenführen und neutralisiert alle Kostenvorteile, die Cloud-Lösungen bieten könnten.

Ziel muss es hingegen sein, sich auf einen Satz konsensfähiger Services des Software-Testens festzulegen und diese für das ganze Unternehmen zu standardisieren. Denn nur mit geordneten Testabläufen macht das Buchen von Cloud-Diensten überhaupt Sinn, da diese ja per se standardisiert sind. Nur einheitliche und klar definierte Testprozesse lassen sich effizient in der Cloud abbilden.

Welche Tests in der Cloud funktionieren

Diese Industrialisierung der Testprozesse bedeutet dabei nicht unbedingt Testautomatisierung. Natürlich lässt sich die Cloud einsetzen, um bestimmte Aspekte des Testens zu automatisieren. Dies trifft besonders auf Last- und Performancetests zu, bei denen Lastszenarien oft wiederholt ablaufen müssen, oder bei denen eine besonders realitätsnahe Messung des Systemverhaltens – und damit ein Test der Produktionsumgebung – gewünscht ist.

Für andere Aufgaben der Automatisierung – wie den Test grafischer Benutzeroberflächen – stellen Cloud-Lösungen heute noch Nischenprodukte dar. Dies liegt darin begründet, dass sich die Automatisierung komplex vernetzter Systeme der klassischen IT effizienter mit lokalen Werkzeugen umsetzen lässt. Betrachtet man hingegen die Automation leichtgewichtiger Systeme wie mobiler Apps ergeben sich größere Effizienzpotenziale.

Ganz anders stellt sich die Situation beim Thema Testinfrastruktur dar. Hier spielen Cloud-Lösungen in der Bereitstellung von zum Beispiel Testumgebungen und -werkzeugen ihre Stärken aus – auch für den Fall, dass ein Unternehmen die Testwerkzeuge sogar selbst besitzt. Dank der Cloud können weltweit Hunderte oder Tausende damit arbeiten und nicht nur eine Handvoll Menschen vor Ort. Auch lassen sich virtualisierte Testumgebungen grafisch konfigurieren und mit einem Mausklick aufsetzen. Rüst- und Totzeiten durch nicht oder falsch zur Verfügung stehende Testumgebungen lassen sich damit erheblich verringern.

Auch hier zahlt sich Industrialisierung in Form von Modularisierung und Standardisierung aus: Für Organisationen mit komplexen, interdependenten und stark individuellen IT-Landschaften ergeben sich naturgemäß geringere Vorteile als im Fall einfacher, modularer und aus Standardkomponenten bereitgestellter Umgebungen. Als Beispiel sei auch hier die Bereitstellung von Testumgebungen für das Testen mobiler Apps genannt. Durch die geringe Komplexität und Interdependenz solcher Apps ist es möglich, Testumgebungen mit hoher Effizienz aus einer private oder Public Cloud nach Bedarf zusammenzustellen.

sqs-cloud-testingMobile Testumgebungen aus der Cloud (Grafik: SQS)

Datenschutz und Sicherheit sind allerdings nicht nur im Licht der NSA-Affäre die am meisten diskutierten Fragen beim Cloud Computing. Insbesondere hier gilt: Kaum jemand macht es richtig. So erfordert eine Einbeziehung der Cloud in das Testvorgehen eine systematische Risikoeinschätzung sowohl im Hinblick auf den Datenschutz, als auch auf die IT-Sicherheit. Im Zweifel müssen Produktionsdaten – zum Beispiel, wenn sie personenbezogene Datensätze enthalten – erst aufwändig anonymisiert oder synthetisch erzeugt werden, bevor sie sich risikofrei in der Cloud verwenden lassen.

Angesichts all dieser potenziellen Stolpersteine und eventuell nötiger Vorabinvestitionen muss mit der Absicht, Teile des Testens in die Cloud zu verlagern, eine sehr genaue Kosten-Nutzen-Rechnung einhergehen. Diese muss auch für absehbare Reibungsverluste und Anlaufschwierigkeiten Kosten beziffern, wenn sie für eine realistische, nicht wolkige Einschätzung sorgen soll.

Drei Schritte in die Test-Cloud

Um eine solche Transparenz zu erhalten, empfiehlt sich vor dem Eintauchen in eine Test-Cloud ein Dreischritt aus einem „Cloud Readiness“-Assessment (Wo stehe ich?), Reifung (Was muss ich ändern?) und einem Implementierungsplan (Wie soll das Testen über die Cloud konkret aussehen?).

Das „Cloud Readiness“-Assessment“ evaluiert systematisch, welche Teile der IT-Architektur in Bezug auf das Software-Testen in die Cloud ausgelagert werden können, und welche Reifegrade das Unternehmen beim Testen aufweist: Gibt es systematische Testprozesse? Sind diese organisationsweit ausgerollt? Oder folgt jedes Projekt seinem eigenen Vorgehen? Welche Testvorgehen und -infrastrukturen sind im Einsatz?

Die Fragen sollten sich bis hin zu den Testwerkzeugen erstrecken: Welche werden verwendet? Zu welchen Plattformen sind sie kompatibel? In einem solchen Frage- und Antwortspiel lassen sich alle relevanten Betrachtungsgegenstände und die Anforderungen an sie möglichst komplett abdecken. Die Liste der Betrachtungsgegenstände und der Anforderungen kann sich dabei auf Standards wie CMMI, SPICE für Projektorganisationen sowie auf ITIL für den IT-Betrieb stützen – je nachdem, welches Referenzmodell das jeweilige Unternehmen bereits im Einsatz hat.

Anhand der im Assessment festgestellten Erfüllungsgrade lässt sich darauf schließen, wie gut bestimmte Prozesse für das Cloud-Testen geeignet sind. Verfügt ein Unternehmen bereits über eine zentrale Testorganisation, kann diese nun definieren, welche Testaktivitäten am ehesten in Frage kommen. Existiert diese zentrale Stelle nicht, liegt es nahe, einzelne Testprojekte für die Cloud zu identifizieren. Insofern liefert ein „Cloud Readiness“-Assessment eine Art Marschroute für die einzelnen Schritte hin zur Cloud und zeigt auch notwendige Verbesserungsmaßnahmen auf, die erforderlich sind – und wie viel sie kosten.

Zugleich geben die Assessment-Ergebnisse bereits konkrete Hinweise für die Anbieterauswahl. Ein Beispiel: Zeigt die Untersuchung, dass ein Unternehmen bestimmte Werkzeugketten einsetzt, kommen Anbieter, die diese Technologien nicht unterstützen, schon einmal nicht in Frage. Oder falls deutlich wird, dass aufgrund gesetzlicher Datenschutzauflagen nur ein Datenhosting innerhalb der EU möglich ist, schränkt dies die möglichen kommenden Dienstleister ebenfalls ein.

Im zweiten Schritt geht es darum, die im Assessment identifizierten Lücken zu schließen, falls die betroffenen Prozesse in die Cloud transferiert werden sollen und der dafür notwendige Aufwand vertretbar ist. Diese Verbesserungsmaßnahmen finden aus Effizienzgründen zumeist in Zusammenarbeit mit dafür ausgewiesenen Spezialisten und Beratern statt. Sie stellen auf der organisatorisch-prozessualen, der testmethodischen sowie der technologischen Ebene die notwendige „Cloud Readiness“ her.

Im dritten Schritt schließlich können die Verantwortlichen das System für das Cloud-Testen auf Basis des Assessments und der Verbesserungsmaßnahmen implementieren. Die zuvor systematisch definierten Anforderungen dienen nun sowohl als Vorgehensplan bei der Auswahl des Cloud-Anbieters als auch beim Aufsetzen der Testinfrastruktur.

Die Aufwände fallen dabei – je nach Testart – sehr unterschiedlich aus. Last- und Performancetests oder die Qualitätsprüfung von Software-Code liefen auch bisher schon zumeist als Managed Service. Durch diese bereits vorhandene Standardisierung ist eine Verlagerung in die Cloud schon mehr oder weniger vorgezeichnet.

AUTOR

Sven Euteneuer ...

... ist Global Head of Technical Quality bei SQS Software Quality Systems AG in Köln. Das seit über 30 Jahren bestehende Unternehmen ist Spezialist für Software-Qualität. Es kann auf über 7000 abgeschlossene Projekte verweisen und zählt die Hälfte der DAX-30 Unternehmen zu seinen Kunden.

Themenseiten: Cloud-Computing, Gastbeiträge, IT-Business, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Pro und Contra: Software-Tests in der Cloud

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *