Entweder Sie haben eine neue Website oder haben gerade einige Funktionen entwickelt, die Ihre Benutzer benötigen. Wie stellen Sie sicher, dass Ihre Website gut funktioniert, wenn eine hohe Anzahl von Benutzern beginnt, mit ihr zu interagieren? Die Antwort ist Lasttest. Lasttest ist ein wichtiger Bestandteil des Leistungstests zur Bestimmung des Verhaltens einer Website, Anwendung oder Software unter normalen und Spitzenbedingungen. Lasttests liefern nützliche Daten, die die Leistung Ihrer Website verbessern und die Stabilität für erwartete Lastbedingungen erhöhen können. Bis vor kurzem waren protokollbasierte Lasttests die einzige Methode, um die Website auf erwartete Lastbedingungen zu testen. Da sich die Technologie und die Benutzererfahrung weiterentwickeln, ermöglicht die Verwendung eines echten Chrome-Browsers Testern, eine realistischere Umgebung zu nutzen, die für die Simulation von echten Benutzern erforderlich ist, und genauere Lasttestergebnisse zu erzielen. Moderne Anwendungen basieren stark auf dynamischen Inhalten und clientseitigem Rendering, wodurch browserbasierte Tests entscheidend sind, um die Benutzererfahrung unter Last genau zu messen.

In diesem Artikel werden wir über die folgenden drei weit verbreiteten Ansätze für Lasttests sprechen:

  1. Browserbasierter Lasttest (mit einem regulären Chrome-Browser)
  2. Headless Browser Lasttest
  3. Protokollbasierter Lasttest

 

Lasttest mit Chrome Browser

Der browserbasierte Lasttest simuliert echte Benutzer, indem reguläre Chrome-Browser-Instanzen durch Lastgeneratoren erstellt werden, und die zu testende Website mit Hilfe einfacher Skripte navigiert wird. Dies schafft eine fast identische Umgebung wie echte Benutzer in der realen Welt. Die virtuellen Benutzer im browserbasierten Lasttest werden Browser Level Users (BLU) genannt. Browserbasierte Lasttestskripte enthalten Anweisungen zur tatsächlichen Navigation und Interaktion auf der Website. Zum Beispiel, welcher Button angeklickt wird, wohin navigiert wird, welche Informationen in Eingabefelder eingegeben werden, wie mit einem Element interagiert wird, wann mit einem Element interagiert wird usw. Dies ermöglicht es Testern, die realistischste Benutzerreise wie im realen Szenario zu simulieren.

 

Vorteile des browserbasierten Lasttests mit echtem Browser

 

Benutzersicht

Echte Endbenutzer interagieren mit der Website über Browser, zum Beispiel einen echten Chrome-Browser. Browserbasierter Lasttest ermöglicht es Ihnen, Ihre Website mit einem regulären Chrome-Browser zu testen und das reale Benutzerverhalten zu verstehen. Dieser Ansatz erfasst das echte Rendering-Verhalten, Netzwerkverzögerungen und die Front-End-Leistung, die protokollbasierte Tests nicht messen können. 

 

Einfache Skripte

Für das Erstellen von browserbasierten Lasttest-Skripten benötigen Sie keine tiefgehenden Kenntnisse der zugrunde liegenden Protokolle. Zum Beispiel, wenn Sie eine Login-Aktion erstellen möchten, benötigen Sie nur den Benutzernamen und das Passwort zum Ausfüllen und welcher Button angeklickt werden soll. Sie müssen die technischen Details von Authentifizierungsprotokollen und Ähnlichem nicht kennen.

 

Reduzierte Testkomplexität

Im Gegensatz zu anderen traditionellen Lasttestmethoden, bei denen Sie Parameter und Werte übergeben müssen, sind browserbasierte Lasttests einfach zu erstellen und mit schlanken Skripten zu starten.

 

Front-End-Optimierung

Browserbasierte Lasttests ermöglichen es, die genauesten realen Daten zu sammeln, wie Netzwerk- und Anforderungsverzögerungen, da Ihre Benutzer ebenfalls mit einem regulären Browser Ihre Website nutzen. Dies hilft bei der Optimierung Ihres Front-Ends.

 

Wartungsarm

Einfache Skripte und weniger komplizierte Tests bedeuten einfachere Wartung und mehr Flexibilität bei Lasttests. Zum Beispiel muss bei unserem Login-Beispiel, wenn sich das Authentifizierungsprotokoll ändert, der Login-Lasttest nicht angepasst werden, da er davon nicht betroffen ist.

 

Nachteile des browserbasierten Lasttests mit echtem Browser

 

Höherer CPU- und Speicherverbrauch

Browserbasierte Lasttests mit einem regulären Chrome-Browser erfordern beispielsweise höhere CPU- und Speichernutzung, um Instanzen für die erwartete Last zu erstellen. Dies sollte jedoch kein Problem sein, wenn Sie eine cloudbasierte Lasttestplattform verwenden.

 

Gelegentlich längere Laufzeit

Browserbasierte Lasttests beinhalten das Rendern der vollständigen Website-Benutzeroberfläche in einer Browserinstanz anstelle der einfachen API-Anfrage-Antwort-Aufzeichnung. Dies kann länger dauern als andere Lasttestansätze. Es wird jedoch oft durch die Einfachheit der Ausführung browserbasierter Tests und ein ausgezeichnetes cloudbasiertes Lasttest-Tool ausgeglichen.

 

Headless Browser Lasttest

Headless Browser Lasttest bedeutet das Ausführen von Lasttests in einer Browserumgebung ohne Erstellung eines „Kopfes“ oder einer Benutzeroberfläche. Dies bedeutet, dass Lasttests durch unsichtbare Browserinstanzen ohne grafische Benutzeroberfläche (GUI) durchgeführt werden. Headless Browser Lasttests überspringen Rendering- oder Zeichenoperationen, da niemand die simulierten Browser beobachtet. Dies ermöglicht das schnelle Ausführen von Lasttests in einer Browserumgebung mit weniger Ressourcen im Vergleich zu browserbasierten Lasttests mit echtem Browser. Beispiele für headless Browser sind folgende:

 

Headless Chrome

Der Chrome-Browser kann ab Version 59 im headless Modus gestartet werden. Er ist leichtgewichtig und weniger ressourcenintensiv, kann zur Navigation, Informationssammlung auf Seiten, PDF-Generierung und Screenshots verwendet werden.

 

Headless Firefox

Firefox bietet ebenfalls einen headless Browsing-Modus ab Version 56. Er kann für grundlegende Tests mit Testtools wie Selenium für Headless-Tests und Automatisierung verwendet werden.

 

PhantomJS

PhantomJS ist ein flexibler headless Webkit, der viele Web-Standards unterstützt. Die JavaScript-API wird zum Schreiben von Testscripten bei der Verwendung von PhantomJS für Tests verwendet. Es wird hauptsächlich für Navigation und Assertion-Tests genutzt.

 

Vorteile des Headless Browser Lasttests

 

Weniger ressourcenintensiv

Da in der Browserumgebung kein GUI gerendert wird, ermöglicht der Headless Browser Lasttest das Generieren höherer Last mit weniger Ressourcen.

 

Schnelleres Testen in Browserumgebung

Mit Headless Browser Lasttests werden Tests schneller ausgeführt und Sie erhalten Ergebnisse zur schnellen Behebung potenzieller Probleme.

 

Nachteile des browserbasierten Lasttests

Begrenzte Fähigkeiten der Browserumgebung

Obwohl viele browserbasierte Szenarien mit Headless Browser Tests überprüft werden können, reicht dies nicht aus, um ein vollständiges Bild der realen Benutzer zu erhalten, die reguläre Browser wie Chrome verwenden.

 

Fehlende Browserüberwachung

Einige Testfälle erfordern, dass Sie Ihre browserbasierten Tests sehen können, wie z.B. Animationen, SPA-Übergänge usw., um Ihre Lasttests gründlich zu analysieren. Headless Browser Lasttests bieten diese Möglichkeit nicht.

 

Protokollbasierter Lasttest

Protokollbasierter Lasttest ist die traditionellste Methode des Lasttests, bei der der Verkehr auf HTTP/S-Ebene auf Lastservern simuliert wird. Er wird hauptsächlich zur Bewertung und Analyse des Anforderungs-Antwort-Austauschs für die erwartete Last auf dem Server verwendet. Protokollbasierte Lasttests sind eine minimalistische Form des Lasttests, die allein nicht für komplexe Webanwendungen geeignet sind, die auf Benutzererfahrung ausgerichtet sind.

 

Vorteile des protokollbasierten Lasttests

Am wenigsten ressourcenintensiv

Protokollbasierte Lasttests erzeugen nur HTTP/S-Anfrage-Antwortverkehr, der es ermöglicht, mit minimalen Ressourcen eine sehr hohe Last zu erzeugen.

 

Schnellere Ausführung

Da nur HTTP/S-Verkehr für protokollebene Metriken analysiert werden muss, bieten protokollbasierte Lasttests eine schnellere Testausführung für höhere erwartete Lasten.

 

Nachteile des protokollbasierten Lasttests

 

Komplexe Tests

Protokollbasiertes Scripting erfordert ein tiefgehendes Verständnis verschiedener Protokolle auf HTTP/S-Ebene, wie z.B. Oauth-Protokoll für Login. Dies macht das Erstellen von Lasttests komplex und zeitaufwendig.

 

Am wenigsten realistische Umgebung

Im Gegensatz zu realen Umgebungen, in denen Benutzer Ihre Website mit einem regulären Browser wie Chrome nutzen, bieten protokollbasierte Lasttests keine solchen Möglichkeiten. Sie sind nicht die richtige Wahl für Websites, die auf die Benutzerperspektive fokussiert sind.

 

Mangelnde Fähigkeiten für moderne Websites

Moderne Websites haben heute komplexere Stacks mit intensiver Nutzung von Browser-JavaScript und AJAX-Aufrufen, was protokollbasierte Lasttests in vielen Testszenarien einschränkt.

 

LoadView für browserbasierte Lasttests

Basierend auf dem bisher Gesagten ist ersichtlich, dass browserbasierte Lasttests die nächste Entwicklungsstufe der Lasttestansätze sind. Heutige Websites und Technologien setzen auf reichhaltige Benutzererlebnisse und verlassen sich stark auf die browserseitige Interpretation und das Rendering statt auf den Server. Single-Page-Anwendungen (SPAs) werden mittlerweile häufig mit beliebten Frameworks genutzt, die clientseitige JavaScript-Frameworks und AJAX-Aufrufe für wenig bis kein Seiten-Neuladen zur Aktualisierung der UI verwenden.

LoadView bietet cloudbasierte Lasttests mit echten Browsern wie Chrome, um die realistischste Umgebung für Ihre Lasttestszenarien zu schaffen. Mit LoadView können Sie einfach Skripte erstellen für verschiedene Benutzeraktionen und Verhaltensweisen und Ihre Tests mit wenigen Klicks ausführen.

 

Was Sie mit LoadView testen können

  1. Websites
  2. Single Page Applications (SPAs)
  3. Drittanbieter-Services/APIs
  4. Medienreiche Websites wie Streaming-Medien-Dienste

 

Vorteile und Nutzen von LoadView für echte browserbasierte Lasttests

  1. Erstellen Sie Testskripte einfach, ohne eine einzige Codezeile zu schreiben, mit EveryStep Web Recorder, um alle Ihre Seiten lastzutesten.
  2. Über 40 echte Desktop-/Mobilbrowser ermöglichen es Ihnen, Ihre Webseiten praktisch auf jedem Gerät zu testen.
  3. Geoverteilte Lasttests erlauben es, Benutzer aus verschiedenen Standorten zu testen für genauere Ergebnisse in realen Szenarien.
  4. LoadView ist DevOps-freundlich und bietet mehrere Testkurven zur Leistungs-Messung und Optimierung der Webanwendung.

 

Fazit: Vorteile von echten browserbasierten Lasttests

Browserbasierte Lasttests sind eine Notwendigkeit für Websites, die auf modernen Frameworks und medienreichen Inhalten basieren. Lasttests mit echten Browsern wie Chrome, das mehr als 65 % Marktanteil hat, bieten Ihnen zahlreiche Leistungskennzahlen, um Ihre Website schnell zu optimieren. Allerdings sollten Sie sich nicht nur auf Chrome oder ein einzelnes Gerät für Lasttests beschränken. Die Möglichkeit, Ihre Website auf praktisch jedem Browser oder Gerät aus verschiedenen Geo-Standorten zu testen, gibt Ihnen umfassende Einblicke in Ihre Tests, um Ihre Website für die erwartete Last zu analysieren und zu optimieren.

Probieren Sie LoadView noch heute aus. Erhalten Sie kostenlose Lasttests, um mit Ihren Chrome browserbasierten Lasttests zu starten.