Reinventing Quality

ERROR: Content Element with uid "5022" and type "dce_dceuid16" has no rendering definition!

Last- und Performancetests von Online-Shops und Marktplätzen sind besonders herausfordernd, da die Anzahl der parallelen Benutzer sehr hoch ist, starken Schwankungen unterliegt und weil die Shops typischerweise in eine komplexe Systemlandschaft aus internen und externen Systemen eingebettet sind. Zusätzlich ist auch die Komplexität von Shop-Anwendungen auf Client-Seite stark gestiegen.

In diesem Vortrag wird gezeigt, wie die durch dieses Bedingungen verursachten Herausforderungen und Schwierigkeiten gemeistert werden sowie Last- und Performancetests mit aussagekräftigen Ergebnissen erzielt werden können.

mgm technology partners hat mehrere Online-Marktplätze und Online-Shops auf Basis der hybris Shop-Plattform und auf Basis eigener Shop-Entwicklung für Großkunden wie DHL, Lidl und REWE erstellt. Die folgende Beschreibung bezieht sich auf die Erfahrungen mit Last- und Performance-Tests für diese Shops / Marktplätze sowie auf Performance-Untersuchungen zur Ermittlung von Verbesserungsmaßnahmen für Online-Shops weiterer Hersteller im Auftrag der Shop-Eigentümer, so z.B. für KICKZ.

Die Last- und Performanceuntersuchungen für Online-Shops teilen sich in zwei Arbeitsbereiche auf.

Ein Bereich umfasst die gesamte Analyse mit nachfolgenden Teilbereichen:

  • Ermittlung der fachlichen, nicht-funktionalen Anforderungen
    • Anzahl der Benutzer
    • Benutzungsszenarien durch Kunden wie Browsing, Checkout, Registration, Cancellation etc.
    • Benutzungsszenarien durch interne Benutzer wie Produktpflege, Angebotserstellung, Werbemaßnahmen und den gesamten Customer Care-Bereich
    • Benutzungsszenarien durch automatisierte Prozesse wie z.B. Katalogaktualisierung, Rechnungsläufe
    • Bei Marktplätzen kommt die Benutzung durch Händler hinzu, die sich registrieren, Produktkataloge einstellen und aktualisieren sowie Bestellungen bearbeiten.
  • Aus diesem Anforderungskatalog werden die mit vernünftigem Aufwand durchführbaren Lasttestszenarien abgeleitet, die zu fahrenden Lastkurven und technischen Anforderungen sowie die Messgrößen, die bestimmt werden sollen, wie
    • die maximale Anzahl Requests durch Kunden, die nur browsen
    • der maximale Durchsatz an Bestellungen
    • die durchschnittliche Dauer von Katalogaktualisierungen für verschiedene Mengen an zu aktualisierenden Produkten
  • Zuletzt erfolgt die Analyse der Ergebnisse aus den Lasttests mit Bestimmung der Flaschenhälse sowie die Hochrechnung auf das Echtsystem und spezielle zukünftige Szenarien wie z.B. das bei Online-Shops extrem wichtige Weihnachtsgeschäft. Dieses Aufgabe beinhaltet auch die Aufbereitung der technischen Ergebnisse zu einem Bericht, der auf Geschäftsebene als Entscheidungsgrundlage dienen kann.

Der zweite Bereich der Last- und Performanceuntersuchungen von Online-Shops umfasst den technischen Teil der Lasttests mit folgenden Teilarbeitsschritten:

  • Die Entwicklung von Treibern für die Durchführung der Lasttestszenarien. In diesem Zusammenhang häufig schwierig sind insbesondere moderne Web-Client-Anwendungen mit komplexer Logik oder aufwendigen Sicherheitsmaßnahmen auf Client-Seite z.B. über JavaSkript.
  • Die Entwicklung von Treibern und/oder Skripten zum Anlegen von Testdaten wie z.B.
    • Kunden mit gültigen Adressen
    • Gültige Testkonten für Payment-Systeme
    • Produkten
    • Gutscheinen für Werbemaßnahmen
    • Händlern mit Produktkatalogen
  • Aufsetzen des Lasttestsystems mit
    • Tools zur Lasterzeugung für Web-Clients
    • Tools/Treiber zur Lasterzeugung oder dem Triggern von internen Prozessen
    • Tools zur Verwaltung von im Lasttest wieder zu verwendenden Tesadaten/Ressourcen wie z.B. Testkunden oder Testkonten
    • Tools zum Monitoren der Systemlandschaft, wobei typischerweise viele Parameter aus unterschiedlichen Bereichen überwacht/aufgezeichnet werden:- hardwarenahe Parameter (z.B. CPU und Memory) -Systemnahe Parameter wie Anzahl Clients, Sessions, verwendete Threads etc. -aber auch applikationsnahe Parameter wie Anzahl und Antwortzeiten von Requests, Anzahl und Dauer von DB-Aufrufen sowie von besonders häufigen und langen internen Methoden-Aufrufen.

Dr. Martin Varendorff, mgm technology partners GmbH

Nach zehn Jahren Forschungsarbeit als Astrophysiker wechselte Martin Varendorff zum Software Engineering: Zunächst in den Bereichen Prozesskontrolle, Fabrikautomation und Laborinformationssysteme und dann zur Qualitätssicherung. Seit elf Jahren ist er bei mgm technology partners für die Qualitätssicherung von geschäftskritischen transaktionalen webbasierten Anwendungen für öffentliche Auftraggeber, Banken und Versicherungen sowie E-Commerce-Anwendungen verantwortlich.