Mit der Cloud testen

Artikel von Sujith Shajee

Einführung

Mit der Cloud testen“ ist ein relativ verwirrender Ausdruck – nicht vom konzeptionellen Gesichtspunkt her, sondern aufgrund der Formulierung. Die Frage, die sich in diesem Zusammenhang stellt, ist: „Bedeutet der Ausdruck testen mit Hilfe von etwas, das sich in der Cloud befindet, oder einfach testen von etwas, das sich in der Cloud befindet?“

Wie in diversen Blogs, Fachartikeln oder Diskussionen übereinstimmend festgestellt wird, ist die Cloud kein neues, sondern ein in der Geschäftswelt bereits seit Jahren genutztes Konzept. Die Cloud hat bereits sehr viel Beifall seit der Einführung des On-Demand-Konzepts in die IT-Welt erhalten. Zur Vereinfachung und zum besseren Verständnis des Konzepts ist die Zerlegung des Test-Paradigmas in „Testen in der Cloud“ und „Testen mit der Cloud“ ein guter Startpunkt.

Testen in der Cloud

Betrachten wir dieses Konzept anhand eines einfachen Beispiels. Ein Web-Service, der Amortisierungsberechnungen für Hypothekendarlehen anhand der Darlehenshöhe, dem effektiven Jahreszins und des Besitzes ausführen soll, wird innerhalb einer Cloud-Infrastruktur ausgeführt und für Konsumenten geöffnet. Dieser Web-Service wird von vielen Finanzinstitutionen verwendet, die Hypothekarkredite als Teil ihrer Dienstleistungen anbieten.

Unter Berücksichtigung von Faktoren, die die Nutzerbasis des Web-Service betreffen, kommen verschiedene Teststrategien ins Spiel. Für den Fall, dass der Web-Service funktionell stabil war, als das Deployment gemacht wurde, ist die Performance des Web-Service in der Cloud als kritisches Element zu testen.

Lassen Sie uns die verschiedenen Teststrategien betrachten, die ins Spiel kommen, um den oben genannten Web-Service zu validieren, nachdem er in der Anbieter-Cloud-Infrastruktur in Betrieb genommen worden ist.

  • Lasttests – Steigerung der Nachfrage auf den Web-Service und Bestimmung der Reaktionszeit auf der vom Cloud-Anbieter bereitgestellten Infrastruktur,
  • Stresstests – Kontinuierliche Steigerung der Belastung und Bestimmung der Bruchstelle des Web-Service auf der vom Cloud-Anbieter bereitgestellten Infrastruktur,
  • Verfügbarkeitstest – Betreiben des WebServices für eine längere Zeit, um die Fehlerentdeckungs- und Fehlerbehebungszeit zu bestimmen,
  • Sicherheitstest – Bestimmung von Genehmigungs- oder Authentifizierungsfehler,
  • Interoperabilitätstests – Benennung der Probleme, die bei Umgebungsmigrationen entstehen,
  • Latency-Test  – Bestimmung von Anomalien beim Senden und Empfangen von Anfragen/Antworten über die Cloud,
  • Dauertest – Bestimmung von Problemen, die bei konstanter Belastung des Dienstes über eine Zeitspanne hinweg auftreten,
  • Lastspitzentest – Erzeugung von Lastspitzen und Bestimmung der Ausfallzeiten oder Performance-Probleme,
  • Skalierbarkeitstest – Bestimmung von Vergrößerungs- und Verkleinerungsmöglichkeiten.

Bei der Validierung bestimmt ein Mitarbeiter der Qualitätssicherung die Stabilität der vom Cloud-Anbieter bereitgestellten Infrastruktur mit der für den Betrieb in der Cloud vorgesehen Anwendung.

Fazit

 

  • „Testen in der Cloud“ ist das Testen von Anwendungen, die in der Cloud betrieben werden.
  • Die Anwendung wird auf Funktion, Leistung und Sicherheit validiert, während sie in der Cloud betrieben wird.
  • Absicht ist es, Performancetests der Cloud-Infrastruktur während des Validierungsprozesses in der Cloud durchzuführen.

Testen mit der Cloud

Jetzt ist es an der Zeit herauszufinden, was der Begriff „Testen mit der Cloud“ inhaltlich bedeutet.

Sprechen wir zunächst jedoch kurz über Cloud als Dienst, d. h. über das Zurverfügungstellen von Diensten über das Netz. Diese Dienste können vielfältiger Art sein, zum Beispiel infrastuktur-, software-, plattform- oder auch speicherbasiert. Letztlich unterstützt der Dienst den Kunden dabei, Mehraufwände und Kosten zu vermeiden.

Mit Software as a Service (SaaS) kann die Organisation Aufwände für die Aufrechterhaltung der Infrastruktur vermeiden, die für den Betrieb der Anwendungen notwendig wären, da alle Versionswechsel und Wartungen durch den Cloud-Anbieter verwaltet werden, für den sich die Organisation entschieden hat.

Testen mit der Cloud“ verwendet die Infrastruktur in der Cloud für die Validierungsaktivitäten.

Einer der wichtigsten Gründe, warum Organisationen „Testen mit der Cloud“ einsetzen, ist die Vermeidung der hohen Kosten, die mit der Wartung der Testwerkzeuge einhergehen. Limitierte Mittel für die Werkzeuglizenz-Beschaffung sowie harte (einzuhaltende) Abgabefristen sind andere Faktoren, die Organisationen zum „Testen mit der “ verführen. Ein weiterer attraktiver Aspekt des „Testens mit der Cloud“ ist die On-Demand-Natur – oder um es mit Layman zu sagen: „Man zahlt nur, wenn man sie verwendet.“

Cloud-Test-Anbieter bieten den Kunden eine Vielzahl von Dienstleistungen: Testsoftware für Automatisierungs- und Performancetests, Infrastruktur zur Simulation von Produktionsumgebungen sowie Plattformen, die dem Mitarbeiter der Qualitätssicherung dabei hilft, Automatisierungsskripts für Anwendungen zu entwickeln.

Betrachten wir ein paar charakteristische Merkmale der Umsetzung von „Testen mit der Cloud“:

  • Der für den Kunden wichtigste Faktor liegt in der Reduzierung der Kosten für die Wartung von Infrastruktur und Software. Da die Verantwortlichkeit hierfür beim Anbieter liegt, ergibt sich daraus ein gesicherter monetärer Nutzen für den Kunden.
  • Ein weiteres wichtiges Merkmal ist der On-Demand-Service. Der Kunde zahlt nur für die Leistungen und Services, die er auch in Anspruch nimmt. Das macht die Dinge auf allen Ebenen einfacher.
  • Der Kunde muss sich nicht um Versionswechsel und Wartungsarbeiten an der Software kümmern. Regelmäßige Kontrollen und Versionswechsel liegen in der Verantwortlichkeit des Anbieters.
  • Da die Ressourcen in einer größeren Gruppe aufgeteilt werden, ist eine Auslastung der Ressourcen jederzeit gewährleistet.
  • Die Infrastruktur ist an einem Standort zentralisiert, wodurch Kosten gesenkt werden.
  • Das Vorhalten von Ressourcen durch den Cloud-Anbieter erlaubt die Kontrolle über die Ressourcenverteilung und ermöglicht eine Skalierbarkeit, ohne dabei Lastspitzen zu erzeugen.
  • Niedrigere Umfeld-Einrichtungszeiten.

Allerdings gibt es auch eine Kehrseite dieser Medaille. „Testen mit der Cloud“ kommt mit eigenen Problemen wie Sicherheit, ersten Einrichtungskosten, und so weiter. Ein weiterer Aspekt bei der Bewertung von „Testen mit der Cloud“ ist, ob die Leistung der Cloud-Infrastruktur des Anbieters genau überprüft werden kann und ob diese Leistung variieren kann. Allerdings sind das Fragen, die der Kunde durch sorgfältige Untersuchung und Behandlung eingrenzen kann.

Fazit

 

  • „Testen mit der Cloud“ ist das Ergebnis der Cloud als Service.
  • Test-Infrastruktur oder -Software in der Cloud wird für das Testen genutzt.
  • Die Absicht ist, vorhandene Angebote aus dem Netz zu nutzen, um die Kosten zu reduzieren.

Nachtrag

„Testen in der Cloud“ und „Testen mit der Cloud“ sind völlig getrennte Einheiten mit eigenen Zuständigkeiten in der IT-Branche. Während „Testen in der Cloud“ die Anwendung in der Cloud-Infrastruktur einführt, wird beim „Testen mit der Cloud“ durch die Nutzung der Infrastruktur in der Cloud die Validierung der Anwendung vorangetrieben.

Der Artikel wurde aus dem Englischen übersetzt und ist erstmals in Testing Experience Nr. 20, „Testing in the Cloud“ (Dezember 2012) erschienen.

Schreibe einen Kommentar

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

Kategorien

Recent Posts