Lasttest RIA – Rich-Internet-Applications und Client Side Performance Testing

Warum „Client Side Performance Tests“ wichtig sein können

Die gefühlte Performance einer Webseite oder Webapplikation ist die „echte“ End-to-End Performance, die vom ersten Klick bis zum Darstellen des Inhalts auf dem Monitor des Anwenders andauert. Wobei schon das Darstellen der Hauptelemente das Gefühl vermitteln kann, die Seite sei akzeptabel aufgebaut.

Ein Grund zum Messung der “GUI Client Side Performance” (Single Instance oder unter Last) ist, dass die Performance im Client eine entscheidende Rolle spielen kann. Im Web bzw. Webapplikationen wäre dies die Zeit, die der Browser nach dem Laden der Ressourcen braucht, um den Inhalt richtig darzustellen. Mit Technologien wie Flash, Silverlight, HTML5 oder anderen Technologien, in denen „größere“ und „Desktop ähnliche“ Applikationen im Browser-Client genutzt werden können (RIA), spielt diese GUI Client Side Performance (Processing und Rendering) eine immer größere Rolle. Besonders beim Rendering grafisch-aufwändiger Dinge oder Berechnen komplexer Aufgaben im Client mit vielen Eingangsdaten.

Entweder GUI-basiertes Lasttest-Tool oder Tests auf Protokoll / Schnittstellenebene und Client-Performance splitten

Will man die Client-Performance testen, muss neben dem “Lasttest” (oft beschränkt auf Protokoll/Schnittstellen-Ebene, z.B. mit JMeter) noch die für die “End-to-End”-Performance wichtige Performance auf der GUI-Schicht ermittelt werden. Hier reicht meist eine Performancemessung in einer Einzelinstanz, ohne Parallelität.

Addiert man diese “Client-Zeit” zu der ggf. aus dem Performancetest auf “Protokoll / Schnittstellenebene” durchschnittlichen Antwortzeit, hat man die Performance, die der Anwender letztendlich unter Last der Anwendung fühlt.

Diese Tests zu trennen ist oftmals nötig, da man über die GUI Schicht häufig nicht die nötige Last erzeugen kann. Es gibt zwar seit ca. 2010 auch LPT-Tools, welche die Last in integrierte Browser emulieren und so die Schritte im Lasttest auf der GUI-Schicht ausführen, diese Art der Lasttests hat aber andere Nachteile, wozu in anderen Artikeln zu berichten.

Bei Client Side Performance natürlich auch Client Hardware wichtig

Bei RIA Web-Applikationen wie Flash oder Silverlight wird somit schnell klar, dass die Client Performance ausschlaggebend für das Performance-Gefühl des Anwenders sein kann. Bei der Client-GUI-Performance ist natürlich die unterschiedliche Hardware der Zielgruppe zu beachten.

Zu dem Client-Side-Performance-Test kann auch das Client-seitige Monitoring und Auswerten von Memory, CPU-Verbrauch und anderen Ressourcen und ggf. Latenzen gehören.

Client Side Performance in automatisierte Funktionale Tests

Auch wenn es sich bei Performancetests immer um nicht-Funktionale Tests handelt, könnten Client-Performance-Messungen unter passenden Bedingungen in automatisierten Funktionalen Testläufen integriert werden. Außerdem hat man hier auch die Herausforderungen zu bewältigen, dass es ggf. verschieden Browser und Umgebungen gibt auf der die Funktionalität gemessen werden muss. So hat man gleich dieser verschiedenen Werte für Client-Performance.

Fanden Sie den Artikel hilfreich?
[Gesamt: 1 Durchschnitt: 5] -
Share it,
if you like it

Leave a Reply