Last- und Performancetest: Jetzt!

SEQIS „10 things“-Expertentreff #2/2016

„Last- und Performancetest: Jetzt!“
Abb.: Martin Wildbacher erklärt anschaulich das Setup und den Prozess von Last- und Performancetests (Quelle: © SEQIS Software Testing GmbH)

Bei der zweiten „10 things“- Veranstaltung im Jahr 2016 drehte sich alles rund um das Thema Last- und Peformancetest (LPT). Principal Consultant Martin Wildbacher, BA begeisterte die Teilnehmer mit 10 praktischen Tipps und Tricks für die erfolgreiche Umsetzung von LPTs.

Doch worauf muss dabei besonders geachtet werden und welche Tools eignen sich dafür? Martin Wildbacher hat dafür 10 praxisnahe Expertentipps parat, die er im Rahmen dieses Expertentreffs den zahlreichen Teilnehmern weitergab:

1. Nehmen Sie auch bei einem LPT den Datenschutz nicht auf die leichte Schulter

Bei Verwendung von Produktionsdaten für Last- und Performancetests spielt Datenschutz eine wesentliche Rolle. Personenbezogene Daten wie Vorname, Nachname, Geburtsdatum, Sozialversicherungsnummer, usw. müssen anonymisiert werden. Vorsicht bei sensiblen (besonders schützenswerten) Daten wie z.B. Herkunft, politische Meinung, Religionszugehörigkeit, Gesundheitsdaten usw. Im Firmenbereich sind das z.B. Informationen zu Patenten oder dem Hauptbuch (General Ledger). Im Bankenbereich gilt zusätzlich das Bankgeheimnis (Bankwesengesetz) sowie im Bezahlkartenbereich der Payment Card Industry Data Security Standard (PCI DSS). Sprechen Sie deshalb mit Ihrem Datenadministrator oder Datenschutzbeauftragten und holen Sie sich dessen Zustimmung für die Verwendung von Daten, auch für den Last- und Performancetest!

2. Verproben Sie die Antworten bereits zu Beginn

Es muss von Anfang an klar sein, was das Ergebnis des Last- und Performancetests sein soll. Nachträglich kann es sehr schwer bis unmöglich sein, Antworten auf Fragen zu geben, die im Vorhinein nicht bekannt waren, da die durchgeführten Tests und Erkenntnisse nicht zur Frage passen.

Ein simples Beispiel: Die Ausgangssituation geht von einer Last von 500 parallelen Benutzern aus. Im Nachhinein möchte man wissen, wie sich das System mit 1.000 parallelen Benutzern verhält. Diese Frage kann nicht beantwortet werden, da der Test nur mit 500 parallelen Benutzern durchgeführt wurde. Klären Sie deshalb bereits zu Beginn, ob die Antworten, die der LPT liefern soll, wirklich alle Fragen klären.

3. Binden Sie rechtzeitig Experten mit ein

Vor und während eines Last- und Performancetests müssen sehr viele verschiedene Personen, wie z.B. Projektmanager, Fachbereich, DB-Admin, Entwickler, ggf. Rechtsabteilung, usw. einbezogen werden. Ein übliches Problem, wenn so viele Personen aus den unterschiedlichsten Abteilungen an einem Thema mitarbeiten sollen, sind lange Vorlaufzeiten.

Beginnen Sie deshalb möglichst früh sich mit allen Beteiligten abzustimmen.

4. Machen Sie einen PoC

Durch einen Proof of Concept (PoC) lässt sich rasch feststellen, ob alle zu überwachenden Systemkomponenten erreichbar sind, ob alle Stakeholder eingebunden wurden und ob die Toolauswahl richtig ist. Die Komplexität bei Last- und Performancetests ist üblicherweise sehr hoch! Durch einen PoC wird das Risiko, dass bei der eigentlichen Durchführung etwas nicht funktioniert, nicht freigeschaltet wurde, jemand nicht mit an Board ist, usw. minimiert.

5. Achtung bei 3rd Party-Services

Wichtig: Denken Sie auch an externe Systeme, wie zum Beispiel Google Analytics oder die Facebook Integration. Wenn es wirklich relevant ist Ihre Applikation in Kombination mit diesen 3rd Parties zu testen, informieren Sie diese vorher, um nicht gesperrt zu werden.

Üblicherweise stellen diese keine Testumgebung für Sie zur Verfügung und Sie testen gegen deren Produktivumgebung. Wenn diese externen Systeme nicht relevant sind, vergessen Sie nicht, diese aus dem Test auszuschließen. Nachdem beim Last- und Performancetest aus üblicherweise nur wenigen Quellen viele Requests kommen, könnten Ihre Transaktionen als Denial of Service (DoS) oder Distributed Denial of Service (DDoS) missinterpretiert werden.

6. Planen Sie mehrere Iterationen

Die gute Nachricht zuerst: Sie werden beim LPT zumindest ein Performanceproblem finden! Die andere Nachricht: Dieses Problem ist in dieser Durchführung wahrscheinlich das bottleneck. Bevor Sie ein Gesamtbild zur Performance ableiten können, müssen Sie dieses bottleneck beseitigen und deshalb den Test wiederholen. Nutzen Sie diese Vorgehensweise gleichermaßen als Empfehlung: Machen Sie pro Iteration immer nur eine Veränderung, damit Sie genau sagen können, ob die Veränderung zu einer Verbesserung geführt hat. Wenn mehrere Veränderungen auf ein Mal gemacht werden, können Sie nicht feststellen, was welche Änderung bewirkt hat – gegebenenfalls hebt eine Veränderung eine andere wieder auf und die Wiederholung liefert keine echten Erkenntnisse! Beginnen Sie deshalb frühzeitig!

7. Wählen Sie ein Tool mit Echtzeitmonitoring

… damit sehen Sie bereits während der Durchführung, wie es Ihren Systemen geht. Sie gewinnen bereits erste Erkenntnisse und können – falls notwendig – bereits frühzeitig eingreifen und den Test stoppen, bevor das System komplett ausfällt oder – im Idealfall – noch mehr Last auf die Systeme bringen und Ihre Szenarien bei der Durchführung optimieren.

Denken Sie daran: Mehr Last auf die Systeme zu bringen, wenn „eh schon nichts mehr geht“ bringt nichts. Einerseits brauchen Sie dann mehr Zeit für eine Durchführung (Sie machen weiter, obwohl Sie abbrechen könnten). Anderseits fallen, abhängig vom eingesetzten Toolstack, für ggf. mehr gleichzeitige User auch mehr Kosten für Lizenzen an!

8. Sichern Sie Ihre Investition ab

Die neu aufkommenden Technologien haben spezielle Anforderungen an die Last- und Performancetesttools. Evaluieren Sie sorgfältig, was Ihre Anforderungen an die Tools sind und stellen Sie die Toolfeatures dagegen. Das „beste“ Tool ist keine Hilfe, wenn es nicht zu Ihrer Technologie und Strategie passt.

9. Nutzen Sie die passenden Tools

Der Trend geht in Richtung Einbettung von Performancemessungen in Continuous Integration. Dabei werden mittels Performanceprofiling Laufzeiten einzelner Code Units bis hin zu Ressourcenbedarf (CPU sec, etc.) einzelner Klassen erhoben. Diese Methoden kommen eher aus der Entwicklungsecke à Ihr „erstes“ Tool.

Bei Benchmarking, dem eigentlichen LPT, geht es um Simulationen von Last. Dies ist ein anderer Zugang, wofür in der Regel ein anderes Tool, Ihr „zweites“, benötigt wird. Evaluieren Sie deshalb genau, welche Tools zum Einsatz kommen!

10. Starten Sie JETZT Ihren Last- und Performancetest!

 

Sie haben unsere bisherigen Veranstaltungen verpasst?

Für Sie haben wir auf unserer Website alle Vorträge in chronologischer Reihenfolge übersichtlich zusammengefasst. Sie finden dort auch alle Vortragsunterlagen zum Download - sehen Sie hier.

Autor
SEQIS Autor Martin Wildbacher

Martin Wildbacher

Principal Consultant, Teamlead
IT Analyse, Softwaretest, Projektmanagement

Sie haben eine Frage?
Newsletter

Um neue Beiträge per E-Mail zu erhalten, hier die E-Mail-Adresse eingeben.

Unsere Autoren

Informieren Sie sich über unsere Autoren und erfahren Sie mehr über unsere Spezialisten und ihre Fachbereiche:

Zu den Autoren

Zurück

Zum Seitenanfang navigieren