News

14.05.2012

"Testing the Cloud" oder "Testing in the Cloud"

Europa und im speziellen Österreich erlebt einmal mehr eine Westströmung. Nicht im Atlantik (Stichwort Azoren Hoch / Tief) hat sich etwas zusammengebraut, sondern jenseits des Atlantiks. Und wie es bei Wetterumschwüngen so usus ist, reden wir alle darüber und stellen mystisch fest: "The Cloud has arrived".

Auch vor dem Thema Testing macht die Cloud nicht Halt. Doch was ist nun das Interessante an Cloud und Testing? Ist es „Testing the Cloud“ – also das Testen von Cloud-Services – oder das „Testing in the Cloud“ – also das Verlagern der Testaktivitäten in die Cloud?

Beim Testen der Cloud spricht der Kundige zunächst einmal von der Qualitätssicherung Cloud basierter Systeme. Die provokante Frage dabei: Was soll hier gesichert werden? Das Qualitätsmanagement und auch die Qualitätssicherung werden doch elegant an den Cloud-Service-Anbieter, häufig mittels definierten SLAs, ausgelagert.Ein 24/7 Betrieb ist garantiert, und wenn die Cloud nicht gut genug performt oder funktionale Schwächen zeigt, dann wechselt man eben den Anbieter.

In der Cloud scheint Qualität also kein Thema zu sein, oder doch? Wenn wir an Cloud-Services denken, kommen uns immer einzelne, in sich gekapselte Services für Teile eines gesamten Geschäftsprozesses in den Sinn. Egal, ob wir an Google Docs©oder an Sales Force© denken – ein bestimmter Teil eines Geschäftsprozesses wird bedient.

Somit ist und bleibt die Qualitätssicherung der System-Integration ein Thema. Vor allem aus komplexen IT-Landschaften, die an immer mehr Stellen Cloud-Services eingebunden haben, ist der klassische System-Integrationstest nicht wegzudenken. Ähnlich wie beim Testen von Standard-Software gilt es, die Testfallfindung dabei intelligent zu gestalten, um nicht bereits zugesicherte Funktionalitäten des Cloud-Services in die eigenen Tests einfließen zu lassen. Dem Testerherz mag eine solche Vorgehensweise schmerzen, denn wer garantiert, dass nicht in der Cloud auch noch Fehler lauern? Trotz allem, im Sinne eines risikobasierten Testansatzes muss man sich hier korrekt abgrenzen, um Testprojekte erfolgreich durchführen zu können.

Wenn wir also trotz Cloud testen müssen, dann können wir doch gleich die Cloud dazu nutzen und testen eben „In-The-Cloud“. Die Software-und Hardware-Anbieter haben es uns vorgemacht: SaaS (Software as a Service), PaaS (Platformas a Service) – warum also nicht TaaS (Testing as a Service)? Es gibt ja schließlich auch (S)DaaS (Software Development as a Service).

Die Aufgabenstellung scheint klar,wenngleich ein wichtiger Punkt zu beachten ist: Nachdem die Umsetzung des Cloud-Service bedingt durch das Service Design keiner fixen geographischen Position zuzuordnen ist, muss man sich als Unternehmen auf rechtlicher Seite absichern. Eine solche Absicherung erfolgt in zwei Bereichen:

  1. Dementsprechende (länderübergreifende) „Non Disclouser Agreements“ mit den Cloud-Anbietern
  2. Eine Verfremdung der in der Cloud verwendeten Testdaten (sollten diese aus der Produktion stammen) bzw. ein komplettes Synthetisieren jener Testdaten

Ist Rechtsicherheit hergestellt, steht TaaS nicht mehr viel im Wege. Zu überlegen gilt noch, welche Services für die Cloud geeignet sind und welche nicht.

Beginnend bei nicht-funktionalen Tests zeigt sich sehr schnell, dass ein klassischer Last- und Performance-Test eher ungeeignet für einen Cloud-Service ist. Es würde schon eher als Hacker-Angriff (Stichwort DoS) interpretiert werden, wenn aus der Cloud plötzlich die Server eines Unternehmens penetriert werden, selbst wenn es sich dabei um Testserver handelt.

Ganz anders sieht es bei statischen Testverfahren wie z.B. beim Security Testing aus. Statische Code Analyse eignet sich hervorragend fürTaaS. Selbst die lizenztechnischen Themenstellungen rund um den Service sind mit SaaS schnell abgedeckt (wie z. B. bei HP Fortify). Somit steht dem Testergebnis aus der Cloud nichts im Wege.

Der funktionale Test ist ebenfalls sehr gut geeignet, um als Cloud-Service abgebildet zu werden. Mit einem Bündel an Managed Testing Services, wie sie mittlerweile einige wenige Anbieter am Markt anbieten, können Unternehmen ihre Testaktivitäten bequem in die Cloud verlagern. Von der logischen Testfallfindung auf Basis von Anforderungsanalysen bis hin zur konkreten Testfallerstellung (vor allem bei der Verwendung von synthetischen Testdaten) ist die Cloud ein höchst geeignetes Instrument. Die Testdurchführung selbst kann dann mittels PaaS ebenfalls in der Cloud stattfinden. Neben der damit einhergehenden besseren Steuerbarkeit der Services (Stichwort SLA) kommt es zudem zu einer Professionalisierung der Testaktivitäten, da einzelne Testservices zielgerichtet im Sinne der jeweils gewünschten Teststrategie angesteuert werden können.

Das Fazit kann also nur lauten: Ja, die Cloud ist angekommen. Nicht nur bei den Software- und Hardware-Anbietern, sondern auch bei Testspezialisten. TaaS ist kein Zukunftsmodell mehr, sondern Realität. Egal, ob man nun die Cloud selbst damit testet oder das Instrument Cloud zum Testen verwendet. Nach Outsourcing 1.0 und 2.0 sind wir im Zeitalter des Cloudsourcing angelangt.

Johannes Kreiner, Geschäftsführer SQS

SQS Kundenmagazin [PDF]