Wenn es um Auslastungstests geht, gibt es immer die Millionen-Dollar-Frage: „Was will der Kunde mit seiner Anwendung und seinem System machen?“ Ich bin ziemlich sicher, dass Sie nie eine einfache Antwort auf diese Frage bekommen werden, und die meisten von uns nehmen immer einige Dinge an und führen die Leistungstests durch, die am Ende fehlende Testkritische Teile und am Ende bei einem unzufriedenen Client landen können. Ein unzufriedener Kunde bedeutet Geschäftsverlust für Ihr Unternehmen und eine rückläufige Karriere als Leistungsingenieur. Aber keine Sorge, in diesem Artikel werden wir über die Erstellung einer Checkliste sprechen, die Ihnen bei diesen Fragen helfen wird.

Diese Checkliste ist eher wie ein Schritt-für-Schritt-Prozess, den Sie verfolgen und an Ihren Leistungstest-Lebenszyklus anpassen können. Im diskutierten Szenario können wir unseren Kunden nicht immer die Schuld geben, da sie anfangs vielleicht nicht wissen, welche genauen Performance-Ergebnisse sie wollen, aber sie haben ein klares Wissen darüber, wie die Anwendung unter verschiedenen Bedingungen funktioniert. Ein guter Leistungstester kann diese Mehrdeutigkeit mit einem genau definierten Fragebogen bewältigen. Und das ist der allererste Punkt auf der Checkliste, der Anforderungssammelfragebogen.

 

Anforderungserfassungsfragebogen

Unten finden Sie ein Fragebogenformat, dem Sie in Ihrem Projekt folgen können. Wir müssen so viele Antworten wie möglich auf diese Fragen erhalten. Es wird besser sein, wenn Sie einen Aufruf haben können, um diese Fragen zu diskutieren. Stellen Sie sicher, dass der Anwendungsarchitekt oder Entwickler dem Anruf mit Ihnen und dem Client beitritt. Zusätzliches Personal kann Ihnen helfen, Einblicke zu geben und Fragen aufzudecken, die Sie möglicherweise noch nicht berücksichtigt haben. Die folgenden Fragen bieten Ihnen eine Roadmap zur Erstellung eines effizienteren und effektiveren Auslastungstests.

Nein Thema Fragen
1 Anwendung Art der Anwendung, die für Tests in Betracht gezogen werden soll (z. B. Webanwendung/mobile Anwendung usw.).
2 Anwendungsarchitektur und Technologie/Plattform.
3 Verwendete Lastenausgleichstechnik.
4 Kommunikationsprotokoll zwischen Client und Server (z. B. HTTP/S, FTP).
5 Ziel der Leistungstests. Leistungsmetriken, die überwacht werden sollen (z. B. Reaktionszeit für jede Aktion, gleichzeitige Benutzer usw.).
6 Kritische Szenarien, die für Leistungstests berücksichtigt werden sollen.
7 Details zu geplanten Hintergrundaufträgen/Prozess, falls vorhanden.
8 Die für die Sitzungsverwaltung verwendete Technik und die Anzahl der unterstützten parallelen Sitzungen.
9 Kunden-SLA/ Anforderungen Erwartete Anzahl gleichzeitiger Benutzer und Gesamtbenutzerbasis. Benutzerverteilung für Szenarien im Bereich.
10 SLA für alle Transaktionen im Bereich für PT (erwarteter Durchsatz, Reaktionszeit usw.).
11 Arten von Leistungstests (Belastungstests, Dauertests usw.).
12 System/Umgebung Details zur Testumgebung (Web/App/DB usw., zusammen mit der Anzahl der Knoten). Produktionsähnliche Umgebung, die für die Ausführung von Leistungstests empfohlen wird.
13 Vergleich der Produktionsumgebung und der Leistungstestumgebung.
14 Gibt an, ob die Anwendung während der Ausführung von Leistungstests isoliert werden soll, um Interaktionen mit anderen Anwendungen zu vermeiden.
15 Details des integrierten Protokollierungsmechanismus oder Überwachungsmechanismus.
16 Andere Basisergebnisse für die Anwendungsleistung.
17 Aktuelle Leistungsprobleme, falls vorhanden.

 

Antworten auf diese Fragen helfen Ihnen, eine Qualitätsteststrategie/einen Testplan zu erstellen. Wenn der Client nicht in der Lage ist, Antworten auf all diese Fragen zu geben, brauchen Sie sich keine Sorgen zu machen. Wir können immer die zu testende Anwendung erkunden und die Antworten finden. Wenn z. B. ein APM/Log-Tool vorhanden ist, können wir gleichzeitige Benutzer, Durchsatz und Reaktionszeit aus dem Produktionssystem ableiten. Gehen Sie nie davon aus, dass Sie bekommen, was Sie brauchen, ohne zu fragen.

 

Finden Sie ein geeignetes Leistungstesttool

Ein Leistungstester sollte sorgfältig das beste Leistungstesttool auswählen. Es gibt viele Faktoren, die zu berücksichtigen sind, bevor Sie das Tool fertig stellen und vorschlagen. Denken Sie daran, dass das Clientbudget bei der Auswahl des Leistungstesttools immer ein wichtiger Faktor ist.

Wenn Sie nach einem leistungswirksamen, benutzerfreundlichen und benutzerfreundlichen Tool suchen und eine vollständige Leistungslösung bereitstellen können, sollten Sie LoadViewunbedingt ausprobieren. Im Vergleich zu herkömmlichen Auslastungstesttools erfordert LoadView keine kostspieligen Investitionen, zeitaufwändige Einrichtung oder Vorkenntnisse in Skriptframeworks. Darüber hinaus bietet die Plattform mehr als 20 globale Standorte für Spin-up-Lastinjektoren, sodass Sie die Leistung von mehreren Standorten während jedes Tests aus testen und messen können.

Alle Arten von Leistungstests erfordern Zeit und Aufwand. Das Durchführen von Auslastungstests kann eine Organisation vor einer möglichen Demütigung bewahren, aber die gleichen Zeittests für kostenlose Open-Source-Tools wie JMeter rechtfertigen die Investition nicht. Wenn es darum geht, die Website- oder Anwendungsleistung aus der Sicht des Endbenutzers wirklich zu verstehen, reichen protokollbasierte Tests nicht aus. Sie müssen auch die Leistung der clientseitigen Interaktionen und Schritte messen. Hier ist ein Vergleich von LoadView mit anderen Performance-/Lasttestlösungen und warum sollten Sie LoadView für Ihre Leistungstestanforderungen auswählen.

Wenn es darum geht, Standorte und Anwendungen langsam zu laden, können Kunden schnell ungeduldig werden und einen Ersatz finden, wenn Ihre Site/Anwendung ihren Erwartungen nicht entspricht. Zu wissen, wie viel Ihre Site/Anwendung verarbeiten kann, ist aus verschiedenen Gründen sehr wichtig, aber es gibt mehrere wichtige Szenarien, die die LoadView-Plattform unterstützen kann:

  • Anpassungsfähigkeit und Skalierbarkeit. Bestimmen, warum Ihre Website oder Anwendung verlangsamt wird, wenn mehrere Benutzer darauf zugreifen.
  • Infrastruktur. Verstehen, welche Hardware-Upgrades erforderlich sind, falls vorhanden. Die Kosten für die Implementierung zusätzlicher Hardware und deren Wartung könnten eine potenzielle Verschwendung von Ressourcen sein.
  • Leistungsanforderungen. Ihre Website oder Anwendung kann einige Benutzer richtig behandeln, aber was passiert in realen Situationen?
  • Dienstleistungen von Drittanbietern. Sehen Sie, wie sich externe Dienste verhalten, wenn normale oder sogar Spitzenlastbedingungen dargestellt werden.

 

Leistungstestplan/-strategie

Sobald Sie Kundenanforderungen gesammelt und geeignetes Leistungstesttool ausgewählt haben, müssen wir unseren Testplan/unsere Teststrategie dokumentieren. Stellen Sie sicher, dass Sie die Abmeldeausfürserstellung des Testplans vom Client erhalten, bevor Sie Leistungsaktivitäten starten. Dies ist sehr wichtig, und es wird Ihnen helfen, unnötige Störungen später zu vermeiden. Dies sind einige Punkte, die in den Testplan aufgenommen werden müssen.

  • Leistungstestziele. Was wir erreichen werden.
  • Projektbereich. Was ist der Umfang des Projekts, Beispiel: Anzahl der Skripte, wie lange wir testen müssen, Etc.
  • Anwendungsarchitektur. Anwendungsdetails wie App-Server, DB-Server, können Sie Architekturdiagramm eisbildn, wenn Sie es haben.
  • Umgebungsdetails. Details über die Umgebung, die wir testen werden. Es ist immer gut, eine isolierte Umgebung für Leistungstests zu haben.
  • Infrastruktur-Setup. Ersteinrichtung für die Leistungstests (z. B. Cloud-Umgebung, Werkzeuginstallation usw.).
  • Leistungstestansatz. Wie wir den Test durchführen werden. Wir sollten mit einem Basistest mit einer kleineren Anzahl von Benutzern beginnen, und dann können wir nach und nach die Benutzer erhöhen und verschiedene Arten von Tests wie Stress, Ausdauer usw. durchführen.
  • Ein- und Ausstiegskriterien. Das ist sehr wichtig. Wir sollten immer mit Leistungstests beginnen, wenn es keine Funktionsfehler gibt. Auf die gleiche Weise sollten wir dokumentieren, wann wir Leistungstests beenden können.
  • Fehlermanagement. Wir sollten die gleichen Tools und Praktiken befolgen, die vom Client gefolgt werden, um Fehler im Zusammenhang mit Leistungstests zu protokollieren.
  • Rollen und Verantwortlichkeiten. Details zu den Stakeholdern, die an den verschiedenen Aktivitäten während der Leistungstests beteiligt sind.
  • Annahmen und Risiken. Wenn es Ziele gibt, die ein Risiko für Leistungstests darstellen können, sollten wir sie dokumentieren.
  • Testdatenstrategie. Details zur Testdatenstrategie und wie können wir sie extrahieren.
  • Testplan Zeitachse und wichtige Ergebnisse. Zeitleiste der Skripterstellung, Testausführung, Analyse und Bereitstellung von Ergebnissen für die Kundenüberprüfung.

 

Die eigentliche Leistungsprüfung basiert auf einer Kombination von Techniken. Um die erwarteten Ziele zu erreichen, müssen wir eine andere Strategie für unterschiedliche Anforderungen an Leistungstests vorbereiten. Es gibt verschiedene Metriken, z. B. Benutzerauslastung, gleichzeitige Benutzer, Workloadmodelle usw., die vor der Planung der Auslastung berücksichtigt werden müssen. Wenn Sie schon einmal an der Arbeitsauslastungsmodellierung gearbeitet haben, hätten Sie von Littles Gesetzgehört. Sie sollten es lernen und implementieren, bevor Sie einen Test planen, um die gewünschten Ergebnisse zu erzielen.

 

Echtzeit-Leistungsskripts/-szenarien

Sobald wir eine Einigung mit dem Kunden über den Leistungsplan/die Strategie erzielt haben, sollten wir mit der Vorbereitung für die Skripterstellung mit dem vereinbarten Leistungstesttool beginnen.

Die folgenden Aufzählungszeichen sind einige der Punkte, die wir beachten müssen, um Qualitätsskripts zu erstellen:

  • Gehen Sie immer mit den dokumentierten Testfallschritten während der Skripterstellung.
  • Wiederholen Sie die Wiedergabe und korrigieren Sie Korrelationsanforderungen für einen einzelnen Benutzer.
  • Wiederholen Sie die Parameterisierungsanforderungen für einen einzelnen Benutzer, und korrigieren Sie diese. Parameterisierung kann überall dort sein, wo die Header, Cookies und Körperparameter sind.
  • Sobald das Skript mit einzelnen Benutzerdaten erfolgreich ist, führen Sie mehrere Iterationen mit verschiedenen Benutzern aus. Für unterschiedliche Benutzerdaten kann eine zusätzliche Korrelation/Parametrierung erforderlich sein.
  • In einigen Fällen müssen wir, um bestimmte Anwendungsfälle zu erreichen, möglicherweise Codeblock schreiben. Beispiel: Auswählen einer bestimmten Antwortdaten für einen Benutzer und Bearbeiten in eine andere Anforderung.
  • Fügen Sie Denkzeit, Tempo, Fehlerbehandlung für das Skript entsprechend dem Workload-Modell hinzu.
  • Textprüfung/Bildprüfung auch sehr wichtiger Schritt in der Skripterstellung.

 

Zusätzlich zu den oben genannten Schritten werden Anforderungen für die Simulation von Cache/Cookies und Netzwerkbedingungen gelten. Ein guter Leistungsingenieur sollte alle diese Faktoren berücksichtigen, bevor er mit der Ausführung beginnt. Der Leistungstestingenieur sollte auch die realistischsten Muster des virtuellen Benutzerverhaltens entwickeln. Um dies zu tun, ist es wichtig, die richtige Antwort durch den Anforderungssammelfragebogen zu erhalten.

  • Wie hoch ist die Gesamtzahl der Benutzer, die mit der Anwendung arbeiten, wenn man von einer durchschnittlichen Anzahl pro Geschäftszeit ausgeht?
  • Welche Aktionen führen Benutzer aus und wie oft?
  • Wie viele Benutzer arbeiten während der Spitzenlastzeiten mit der Anwendung?

Antworten auf die oben genannten Fragen können durch Anforderungserfassungsfragebogen oder statistische Daten erhalten werden, die mit Hilfe von Webanalysetools wie APM-Tools/Google Analytics gesammelt werden. Die Transaktionsanalyse ermöglicht das Auffinden wichtiger Geschäftstransaktionen und das Entwerfen von Leistungstestszenarien, die für die Ausführung von Leistungstests verwendet werden.

 

Workload-Modellierung

Wir können unser Workload-Modell auf unterschiedliche Weise planen. Leistungsingenieure sollten das „Little es Law“-Konzept lernen und praktizieren, bevor sie ein Workload-Modell auswählen. Im Folgenden finden Sie einige der vorhandenen Workloadmodelle. Auch hier sollte der Leistungsingenieur das Workload-Modell basierend auf den anforderungenbezogenen Anforderungen auswählen.

Workload-Modell 1. Es ist nur ein einfaches Modell, bei dem die Anzahl der Benutzer kontinuierlich erhöht wird, während der Testfortschritt fortschritt. Beispiel: ein Benutzer pro Sekunde, bis der Test abgeschlossen ist.

Workload-Modell 2. In diesem Modell wird die Anzahl der Benutzer wie ein Schritt für die gesamte Testdauer erhöht. Zum Beispiel sind die ersten 15 Minuten 100 Benutzer und die nächsten 15 Minuten sind 200 usw. Wir können diese Art von Tests für Dauertests planen.

Workload-Modell 3. Dies ist das gängigste Leistungstestmodell. Die Anzahl der Benutzer wird für eine bestimmte Zeit kontinuierlich erhöht (Wir nennen dies die Hochlaufzeit). Danach haben Benutzer für eine bestimmte Dauer einen stabilen Zustand. Dann starten die Benutzer die Rampe nach unten und der Test wird abgeschlossen. Wenn wir beispielsweise 1,5 Stunden Test planung enden, können wir 15 Minuten für das Hochfahren der Benutzer und 15 Minuten für den Hochlauf nach unten geben. Der Steady-Zustand wird eine Stunde betragen. Wenn wir die Ergebnisse analysieren, werden wir nur stationären Zustand zur Überlegung nehmen.

Workload-Modell 4. In diesem Modell wird die Anzahl der Benutzer für die gesamte Dauer plötzlich erhöht und verringert. Es gibt verschiedene Namen für diese Art von Tests, wie Affentests, Spike-Tests, etc.

Wir müssen ein umfassendes Set von Zielen und Anforderungen für Leistungstests festlegen. Definieren Sie die Parameter für Leistungstests und die Akzeptanzkriterien für jeden. Wenn Sie weder die Testanforderungen noch das gewünschte Ergebnis kennen, dann ist die Leistungsprüfung Zeitverschwendung.

 

Sammeln von Daten

Im Folgenden finden Sie nur einige der sehr wichtigen Metriken, die bei der Modellierung von Leistungsarbeitsauslastungen zu beachten sind.

Reaktionszeit: Die Antwortzeit ist die Zeit, die der Server für die Beantwortung der Clientanforderung benötigte. Es gibt viele Faktoren, die sich auf die Antwortzeit des Servers auswirken. Der Auslastungstest hilft dabei, die Faktoren zu finden und zu beseitigen, die die Reaktionszeit herabsetzen.

Durchschnittliche Reaktionszeit: Dies ist der durchschnittliche Wert der Antwortzeit für die gesamte Dauer des stationären Zustands in einem Auslastungstest.

90 Perzentil ansprechzeit: Die 90. Perzentilansprechzeit bedeutet, dass 90 Prozent der Antwortzeit unter diesen Wert fällt. Wenn Sie z. B. 500 Anforderungen hatten und jede unterschiedliche Antwortzeit hat, ist das 90. Perzentil ein beliebiger Wert, der 90 Prozent aller anderen Werte unter 90 prozents enperbarem Perzentil liegt. Nur 10 Prozent der Antwortzeit sind höher als 90 Perzentil. Dies ist nützlich, wenn einige Ihrer Anfrage hat riesige Antwortzeit und sie sind schief durchschnittliche Antwortzeit Ergebnis.

Anfragen pro Sekunde: Wir müssen diesen Wert aus APM-Tools oder mit Hilfe von Produktionsprotokollen finden. Basierend auf den gleichzeitigen Benutzern können wir eine Anforderung pro Sekunde an den Server planen.

Speicherauslastung: Dies sind infrastrukturseitige Metriken, die Ihnen helfen, Engpässe aufzudecken. Außerdem sollten Sie Ihre Workload in Echtzeit wie möglich planen. Stellen Sie sicher, dass wir den Server nicht mit kontinuierlichen Anforderungen bombardieren.

CPU-Auslastung: Genauso wie Speicher und müssen diese Metriken beim Ausführen der Leistungstests im Auge haben.

Fehlerrate: Wir sollten das Transaktionsverhältnis „Passed/Error“ verfolgen. Die Fehlerrate sollte nicht mehr als 2 Prozent der übergebenen Transaktionen betragen. Wenn die Fehlerquoten steigen, da gleichzeitige Benutzer zunehmen, kann es zu einem potenziellen Engpass kommen.

Gleichzeitige Benutzer: Wir müssen diesen Wert aus APM-Tools oder mit Hilfe von Produktionsprotokollen finden. Normalerweise finden wir diesen Wert basierend auf einem typischen Werktag.

Durchsatz: Durchsatz zeigt die Serverkapazität für die gleichzeitige Behandlung der Benutzer an. Es besteht eine direkte Verbindung zwischen gleichzeitigen Benutzern im Vergleich zum Durchsatz. Der Durchsatz sollte mit zunehmender Anzahl von Benutzern für den Zugriff auf die Anwendung steigen. Wenn der Durchsatz mit zunehmender Anzahl der Benutzer abnimmt, ist dies ein möglicher Hinweis auf Engpässe.

Benutzer-Load-Verteilung: Die Verteilung der Benutzerlasten ist einer der wichtigen Faktoren, die beim Entwerfen der Arbeitslast berücksichtigt werden müssen. Wenn wir fünf Skripte haben, die fünf verschiedene Funktionen einer Anwendung ausführen, müssen wir die Benutzerlast auf real wie möglich aufteilen, basierend auf unserer Untersuchung über Produktions- oder APM-Tools.

Dies sind sehr wichtige Metriken, die wir beim Entwerfen des Workloadmodells beachten sollten. Es gibt andere Metriken und hängt von der Clientanwendungsarchitektur und den Anforderungen ab.

 

Checkliste für Leistungstestumgebung (vor der Ausführung)

Auf das folgende Checklistenbeispiel folgen in der Regel End-to-End-Leistungstests auf Unternehmensebene, bei denen eine große Anzahl von Systemen beteiligt ist. Es wird immer empfohlen, auch für kleine Leistungstests eine Umgebungsprüfliste zu befolgen. Die Aktivitäten werden sich basierend auf den Anwendungsumgebungen ändern, da es einen großen Unterschied gibt, wenn wir sie mit der Anwendung in der Cloud im Vergleich zu der lokalen Anwendung vergleichen.

Checkliste für Leistungstests

 

Fazit: Checkliste für die Vorbereitung von Lasttests

Erfolgreiche Softwareleistungstests kommen nicht zufällig vor. Architekten, Produktbesitzer, Entwickler und das Performance-Testing-Team müssen zusammenarbeiten und die Anforderungen an Leistungstests erfüllen, bevor die Software bewertet wird. Einen detaillierteren Hintergrund zur LoadView-Plattform finden Sie in unserem Artikel „Technische Übersicht“, um zu erfahren, wie Sie Ihre Leistungstests maximal nutzen können. Leistungstests sollten ein fortlaufender Prozess sein. Wenn Ihre Website oder Webanwendung zu wachsen beginnt, müssen Sie Änderungen vornehmen, um eine größere Benutzerbasis zu berücksichtigen. Es besteht immer eine Chance auf Besserung in jeder Anwendung und Tests.

Wir hoffen, dass Dies Ihnen einen guten Einblick in die Best Practices bei Leistungstests gibt. Wenn Sie eine vollständige Demonstration der LoadView-Lösung wünschen, melden Sie sich für eine Demo mit einem Leistungsingenieur an. Sie führen Sie Schritt für Schritt durch jeden Teil des Prozesses, von der Erstellung von Auslastungstestskripts und Testkonfiguration bis hin zur Testausführung und Ergebnisanalyse.

Oder melden Sie sich für die kostenlose LoadView-Testversion an, um jetzt mit dem Ausführen von Auslastungstests zu beginnen. Wir geben Ihnen 20 $ in kostenlosen Lasttest-Credits, um loszulegen! Glückliche Lastprüfung!