Applikationen: Behalten Sie SaaS-Performance-Tests im Hinterkopf

SaaS-Performance-Tests gehören in den Applikation-Entwicklungsprozess, so Amy Reichert. Trotzdem vernachlässigen viele Provider sie.

Amy Reichert

Performance ist für Anbieter von SaaS (Software as a Service) ein entscheidendes Kriterium. Dennoch lassen viele Provider wegen Zeitmangel, mangelndem Verständnis oder unklaren Spezifikationen Performance-Tests außen vor. Als Mitglieder des Test-Teams gehen wir häufig davon aus, dass Performance-Tests bereits während der Entwicklung und als Teil des Code-Designs nötig sind. Das ist allerdings ein Irrglaube. Sehen wir uns die Grundlagen von Performance-Tests als Teil der SaaS-Applikations-Tests genauer an. Im Folgenen erörtern wir, warum Performance so entscheidend ist und welche Art von Tests man starten kann, um Geschwindigkeitsmängel aufzudecken.

Denken Sie früh an die Performance

Das Produkt-Management kümmert sich bei SaaS-basierten Applikationen oft erst dann um die Performance, wenn sich die Kundschaft beschwert. Dabei sollte Performance und Skalierbarkeit bereits in den Design-Anforderungen manifestiert sein und nicht erst zur Sprache kommen, wenn sich alles in Rauch auflöst. Es sollte also kein negatives Ereignis sein, damit man Performance die notwendige Aufmerksamkeit schenkt. Softwareunternehmen können nicht dauernd Ihre Anwender für das Aufspüren von Performance-Bugs missbrauchen.

Spezifikationen für SaaS-Performance-Tests müssen fester Bestandteil der Design-Planung und den Anforderungen sein. In den Spezifikationen muss detailliert hinterlegt sein, welche Antwortzeiten die SaaS-Kunden von jeder Komponente des Web-Service erwarten dürfen. Sie muss basierend auf der Komplexität des Workflows für die einzelnen Komponenten pro Anwender aufgeschlüsselt sein.

Ich habe zum Beispiel einmal die Performance-Anforderungen bekommen: „Das System sollte mit außerordentlicher Performance reagieren“. Wirklich? Welche Komponente des Systems? Sprechen wir über den kompletten Workflow oder nur über eine Teilkomponente? Was bedeutet außerordentlich in diesem Zusammenhang? Diese Anforderungen sind zu kurz und ungenau. Es ist schwer, das gewünschte Produkt zu liefern.

Performance-Testing ist Einstellungssache

Ein effizienter Plan für das SaaS-Performance-Testing muss jede Ebene innerhalb der SaaS-Infrastruktur abdecken. Der Grund ist, das SaaS-basierte Applikationen Datenverarbeitung und Zugriff auf Applikationen via Internet realisieren. SaaS-Applikationen sind in der Regel so gestaltet, dass mehrere Kunden ein gemeinsam genutztes Datenbankmodell verwenden. Ist das gut entwickelt, wird der Durchsatz steigen. Es muss als mit höherer Nachfrage und Spitzenzeiten umgehen können. Nur so bleiben sie für den Kunden oder Endanwender vertrauenswürdig. Genau genommen gibt es mehrere Schwachstellen bei SaaS. Die Dienste müssen zudem immer schnell reagieren sowie zuverlässig bleiben.

Langsame Dienste schüren nicht nur Frust, sondern könnten durchaus auch eine Verletzung des SLA (Service Level Agreement) zwischen Kunde und Provider darstellen. Anders gesagt verliert die Firma mit langsamen Diensten gleichzeitig ihr Geschäft und ihren Ruf. Es ist zwingend erforderlich, SaaS-Performance-Tests als Chefsache bei den Cloud-Entwicklern zu deklarieren. Möglicherweise ist Performance nicht die einzig wichtige Sache oder das entscheidendste Kriterium, aber es gehört auf der Prioritäten-Liste weit nach oben. Statt das SaaS-Performance-Testing als separate Aufgabe zu sehen, gehört es in den kompletten Entwicklungs-Prozess implementiert.

Techniken für Performance-Tests

Wie das Überprüfen der Sicherheit ist auch Performance-Testing ein sehr spezieller Bereich. Um dem ausreichend gerecht zu werden, wollen App-Entwicklungs-Unternehmen möglicherweise professionelle Dienstleister anheuern oder ein Team auf die Beine stellen, das sich in erster Linie auf Performance-Tests konzentriert. Projekt-Manager können aber auch nachfolgende Techniken einsetzen, um Performance-Testing in den Entwicklungs-Prozess zu integrieren und schlussendlich davon zu profitieren.

Zunächst sollten Sie sich mit der Komplexität des SaaS-Systems auseinandersetzen. Wie viele Kunden oder Anwender werden die Applikation nutzen? Rechnen Sie mit steigender Nachfrage? Nutzen momentane Anwender das System intensiver? Um diese Fragen beantworten zu können, müssen die Performance-Tester das System in Workflows unterteilen. Die gebräuchlichsten Workflows genießen Priorität. Beim Bewerten der Komplexität sollten Sie immer alle Seiten der individuellen Komponenten betrachten. Jeder Teil muss auch im Hinblick auf den Workflow getestet werden.

Tester müssen einschätzen, mit welchem Datendurchsatz zu rechnen ist. Damit meint man die Anzahl der Transaktionen über einen bestimmten Zeitraum – oder die maximale Kapazität, mit der ein System umgehen kann. Den Datendurchsatz können Sie testen, indem mehrere Anwender ihre Anfragen gleichzeitig stellen und diese dann in gleichmäßigem Tempo wiederholen. Lassen Sie anschließend immer mehr Anwender und Transaktionen auf das System los – solange bis das System in die Knie geht oder die Applikation von sichtlicher Latenzzeit geplagt ist. Mit diesem Prozess finden Sie die Obergrenze, mit der das System umgehen kann. Diesen Wert können Sie als Grundlage für künftige Datendurchsatz-Tests nehmen und vergleichen, ob es besser oder schlechter wird.

Simulieren Sie danach eine Spitze von Anwendern oder Transaktionen für einen Stress-Test. Mit Load-Tests können Sie herausfinden, wie sich die Applikationen bei unregelmäßiger Last verhalten und so ein absolutes Maximum des Machbaren evaluieren. Nun kann das Test-Team die Software auf Durchhaltevermögen prüfen. In diesem Fall setzen Sie das System unter konstant hohe Last. Damit finden Sie Speicherlecks und sehen, zu welchem Zeitpunkt die Performance sichtlich leidet. Weiterhin zeigt sich hier, ob das System mit langen Last-Perioden umgehen kann. Das Gute an diesen Techniken ist, dass man sie mithilfe von Tools durchführen kann.

Fazit

SaaS-Applikations-Tests mit Fokus auf Performance sind Voraussetzungen für den Erfolg von SaaS-Providern. Langsame Systeme sind nicht akzeptabel und werden auch nicht geduldet. Kunden haben höhere Ansprüche, eine schier endlose Auswahl bezüglich der Anbieter und obendrein meist noch vertraglich geregelte SLAs. Softwarefirmen können es sich nicht mehr leisten, das „zusätzliche Testen“ außen vor zu lassen. Produkt-Manager, Entwickler und Tester müssen SaaS-Performance-Tests in ihre normalen Design-Routinen aufnehmen und verinnerlichen.

Artikel wurde zuletzt im Oktober 2013 aktualisiert

Erfahren Sie mehr über Cloud-Anwendungen

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close