Auslastungstests: Think Time, Pacing und Delays



Was ist Denkzeit bei Leistungstests?

Die Reaktionszeit bei Auslastungstests bezieht sich auf die simulierte Verzögerung oder Pause zwischen aufeinanderfolgenden Benutzeraktionen während eines Leistungstests. Es stellt die Zeit dar, die ein Benutzer mit Nachdenken, Lesen oder anderweitiger Inaktivität verbringt, nachdem er eine Aktion abgeschlossen und die nächste eingeleitet hat. Denkzeit wird in die Testszenarien eingeführt, um sie realistischer zu gestalten und das natürliche Verhalten tatsächlicher Benutzer nachzuahmen, die mit der Anwendung interagieren.

Stellen Sie sich beispielsweise ein E-Commerce-Web-App-Szenario vor, in dem ein Benutzer eine Produktkachel auswählt. Als Nächstes navigieren sie zur Produktdetailseite und nehmen sich einige Zeit, um den Inhalt dieser Seite zu konsumieren und zu lesen, bevor sie schließlich auf die Schaltfläche “In den Warenkorb” klicken. Die Zeit, die zwischen dem Klick auf die Produktkachel und dem Klick auf “In den Warenkorb” verstrichen ist, wird als Reaktionszeit bezeichnet.

Wenn Sie an Auslastungstests denken, denken Sie in der Regel daran, eine große Anzahl gleichzeitiger Benutzer für Ihre Webanwendungen, Websites oder APIs bereitzustellen, um zu sehen, wie sie unter Last funktionieren. Denkzeit ist nützlich, um die Schritte der User Journey besser zu simulieren, z. B. Wege zum Kauf, die Suche nach einem Produkt oder die Anmeldung bei einem Konto. Jedes dieser Beispiele hat unterschiedliche Reaktionszeitwerte, und es ist wichtig, diese bei Auslastungstests zu berücksichtigen.

Vorteile von Think Time

  • Realismus: Durch das Einbeziehen der Reaktionszeit wird das natürliche Verhalten von Benutzern repliziert, die nicht kontinuierlich mit einem System interagieren. Dadurch wird der Realismus von Auslastungstestszenarien verbessert, sodass sie die tatsächlichen Benutzererfahrungen besser widerspiegeln.
  • Genauigkeit der Benutzersimulation: Die Denkzeit hilft bei der genauen Simulation des Benutzerverhaltens während des Testprozesses. Benutzer verbringen in der Regel Zeit damit, Inhalte zu lesen, Entscheidungen zu treffen oder über Aktionen nachzudenken, und die Denkzeit ermöglicht die Simulation dieser natürlichen Pausen.
  • Leistung: Think Time gibt zwischen den Anforderungen Ressourcen auf dem Execution Server-Computer frei. Auf diese Weise können andere virtuelle Benutzer (VUs) auf dem Ausführungsserver ihre Anforderungen senden, wodurch verhindert wird, dass auf dem Ausführungsserver-Computer E/A-Einschränkungen auftreten.
  • Verbesserte Fehlerbehebung: Realistische Denkzeitszenarien helfen bei der Erkennung von Leistungsengpässen, die in Szenarien ohne Pausen möglicherweise nicht offensichtlich sind. Es hilft bei der Aufdeckung von Problemen im Zusammenhang mit Benutzersitzungen, der Sitzungsverwaltung und der Reaktionsfähigkeit des gesamten Systems.

Wann sollten Sie Denkzeiten verwenden?

Das Einbeziehen von Reaktionszeiten in Ihre Auslastungstests kann schwierig sein, da jeder Benutzer anders ist. Positiv ist, dass die Reaktionszeiten flexibel sein können und Sie einen Bereich für Ihre Reaktionszeitwerte berücksichtigen müssen. Beispielsweise benötigen einige Benutzer möglicherweise länger als andere, um Daten zu lesen oder in ein Formular einzugeben.

Sie sollten zwischen diesen Aktionen eine Bedenkzeit einplanen, um die Zeitspanne, in der eine Person eine Antwort von Ihrem Server erhält, genauer zu replizieren, bis zu dem Zeitpunkt, zu dem die Person eine neue Seite anfordert. Ihre Reaktionszeit hängt von Ihren Benutzerszenarien ab, und Sie sollten Ihre Reaktionszeitwerte anhand von Daten aus Ihrer Website oder Anwendung bestimmen. Sie sollten die durchschnittliche Zeit bestimmen, die Benutzer auf Ihren Seiten verbringen.

 

Was ist Pacing bei Leistungstests?

Pacing wird in Auslastungstests verwendet, um sicherzustellen, dass der Test mit der beabsichtigten Transaktionsrate pro Sekunde durchgeführt wird. Es handelt sich um die Zeitlücke zwischen den einzelnen vollständigen Iterationen des Geschäftsablaufs. Dies hilft dabei, die Anzahl der Anfragen zu regulieren, die pro Sekunde an den Server gesendet werden.

 

Die Bedeutung von Verzögerungen bei Auslastungstests

Das Testen der Leistung der Anwendung vor ihrer allgemeinen Veröffentlichung trägt dazu bei, potenzielle Unannehmlichkeiten für Endbenutzer zu vermeiden, z. B. Zeitüberschreitungen, langsame Seitenantworten und Ausfallzeiten. Um realistische Testergebnisse zu gewährleisten und Probleme aufzudecken, ist es wichtig, die Denkzeit und das Tempo in unser Testszenario-Design einzubeziehen.

Wenn wir z. B. eine Reaktionszeit zwischen den einzelnen gleichzeitigen Benutzeraktionen einführen, nutzt der Server diese Verzögerung, um ausstehende Aufgaben in der Warteschlange zu bearbeiten. Er führt die nächste Aufgabe aus, bevor die vorherige erneut ausgeführt wird. Dies entspricht genau dem typischen Produktionsszenario mit realen Anwendern. Darüber hinaus verlängert das Einbeziehen von Denkzeit die Zeit, die der Benutzer für die Anwendung aufwendet, und deckt alle Probleme im Zusammenhang mit der Fähigkeit des Servers auf, gleichzeitige Benutzer effektiv zu verarbeiten.

Berechnen von Verzögerungen beim Testen von Anwendungen

Die Anzahl der gleichzeitigen virtuellen Benutzer, Verzögerungen und Transaktionen pro Sekunde (TPS) variiert je nach Anwendung. Um zu berechnen, wie hoch die Verzögerungen für Ihre Anwendung sein sollten, können Sie die folgende Formel verwenden:

  • Auslastungstestdauer (in Sekunden) * (TPS + Delays) * Anzahl gleichzeitiger Benutzer = Gesamtzahl der Transaktionen

Nehmen wir zum Beispiel an, während eines 10-minütigen Tests (600 Sekunden) 100.000 Transaktionen mit einer Antwortzeit von jeweils 5 Sekunden zu generieren. Um die erforderlichen gleichzeitigen Benutzer mit einer Reaktionszeit von 3 Sekunden zu bestimmen, verwenden Sie die Formel: 100.000 / (8 * 10 * 60), was zu ungefähr 21 Benutzern führt. Dieser Ansatz hilft dabei, die erforderlichen Verzögerungen und Benutzerzahlen für effektive Auslastungstests zu identifizieren.

Einrichten von Auslastungstestverzögerungen mit LoadView

LoadView stellt Ihnen den EveryStep Web Recorder zur Verfügung, der die Erstellung von Testszenarien optimiert, indem Benutzeraktionen in einem Browser aufgezeichnet werden. Es repliziert die Schritte des Benutzers originalgetreu und erfasst Datenpunkte wie Selektoren, Aktionen und Verzögerungen. Bei der Erstellung Ihres Testszenarios ist es wichtig, Ihre authentische User Journey zu emulieren, einschließlich Denkzeitverzögerungen. Nach der Aufzeichnung generiert das Tool ein Skript, das mit der angegebenen Anzahl gleichzeitiger Benutzer erneut ausgeführt werden kann. Das Skript ist anpassbar und ermöglicht es Benutzern, Verzögerungen für einzelne Schritte zu ändern und zu aktualisieren, wenn dies für das Testen erforderlich ist, wie in der folgenden Abbildung gezeigt. Erfahren Sie mehr darüber, wie Sie EveryStep Web Recorder-Skripte bearbeiten können.

Der optimale Ansatz, um präzise Ergebnisse in einem Auslastungstest zu erzielen, besteht darin, ein Skript zu erstellen, das reale Benutzerinteraktionen mit der Anwendung simuliert und die User Journey erfasst.

Hinzufügen von Verzögerungen zu Skript

Mit LoadView haben Sie auch die Möglichkeit, das Benutzerverhalten beim Auslastungstest zu ändern. Wie Sie in der folgenden Abbildung sehen können, können Sie “Normale Verzögerung” oder “Benutzerdefinierte Verzögerung” auswählen, um ein bestimmtes Benutzerverhalten und Verzögerungen für Ihre Anwendungen festzulegen.

Anpassen des Benutzerverhaltens

Fazit: Denkzeit, Tempo und Verzögerungen

Die Durchführung von Leistungstests für Ihre Anwendung ist von entscheidender Bedeutung, bevor sie in der Produktion bereitgestellt wird. Die Effektivität dieses Prozesses bei der Identifizierung genauer leistungsbezogener Probleme hängt von der Einhaltung bewährter Methoden und der Entwicklung von Testszenarien ab, die echte Benutzeraktionen in Ihrer Anwendung umfassen.

In diesem Artikel wurde die Bedeutung von Reaktionszeit, Tempo und Verzögerungen bei Auslastungstests untersucht. Durch die Integration dieser Elemente in die Auslastungstestentwürfe können Probleme wie Seitentimeouts, langsame Seitenantworten, Antwortzeitdiskrepanzen und Serverfehler auch bei hoher Auslastung weit im Voraus erkannt werden. Die Anwendung dieser Strategien trägt zur Entwicklung reaktionsschneller und zuverlässiger Anwendungen und Websites bei. LoadView kann dazu beitragen, diesen Prozess zu optimieren, und Sie können Denkzeit, Tempo und Verzögerungen problemlos in Ihre Auslastungstestszenarien integrieren, um das Beste aus Ihren Testbemühungen herauszuholen. Wenn Sie sich noch heute bei LoadView anmelden, erhalten Sie alle Lasttestvorteile, die die Plattform zu bieten hat, und Sie können Ihre ersten Tests kostenlos durchführen!

Bringen Sie Ihre gleichzeitigen Benutzertests auf die
Nächste Stufe

Erleben Sie unvergleichliche Funktionen mit grenzenloser Skalierbarkeit. Keine Kreditkarte, kein Vertrag.