complete performance testing guide with examples
Was ist Leistungstest?
Leistungstests werden auch als „Perf-Tests“ bezeichnet. Hierbei handelt es sich um eine Art von Tests, die durchgeführt werden, um zu überprüfen, wie sich Anwendungen oder Software unter Arbeitslast in Bezug auf Reaktionsfähigkeit und Stabilität verhalten. Das Ziel des Leistungstests besteht darin, Leistungsengpässe in einer Anwendung zu identifizieren und zu beseitigen.
Dieser Test wird hauptsächlich durchgeführt, um zu überprüfen, ob die Software die erwarteten Anforderungen an Anwendungsgeschwindigkeit, Skalierbarkeit und Stabilität erfüllt.
beste Software zum Klonen von HDD auf SSD
In dieser Tutorial-Reihe werden wir vollständige Details wie - Perf Testing Types, Process und Writing Performance Test Strategy-Dokument von Grund auf neu behandeln.
Dies ist eine detaillierte Tutorial-Serie, die Sie möglicherweise als Lesezeichen speichern möchten!
Lass uns erforschen!
Liste ALLER Tutorials zu Leistungstests in dieser Reihe:
Tutorial Nr. 1: Vollständiger Leitfaden für Leistungstests (Dieses Tutorial)
Tutorial # 2: Unterschied zwischen Leistungs-, Last- und Stresstests
Tutorial # 3: Funktionstests vs. Leistungstests
Tutorial # 4: Leistungstestplan und Teststrategie
Tutorial Nr. 5: Möglichkeiten, Ihre Leistungstests zu verbessern
Tutorial # 6: Handbuch zum Testen der Cloud-Leistung
Tutorial Nr. 7: Handbuch zum Testen der Leistung mobiler Apps
Tutorial Nr. 8: So führen Sie manuelle Leistungstests durch
Tutorial Nr. 9: Tutorial zum Testen der Website-Leistung
Tutorial Nr. 10: Unternehmen für Leistungstests
Tutorial Nr. 11: Leistungstests mit LoadRunner (Serie)
Werkzeuge:
Tutorial Nr. 12: Tools zum Testen der Spitzenleistung
Tutorial Nr. 13: Neoload Performance Test Tutorial
Tutorial Nr. 14: BlazeMeter Mobile Performance Test Tutorial
Tutorial Nr. 15: Tutorial zum WAPT-Last-, Stress- und Leistungstest
Tutorial Nr. 16: Tutorial zum Leistungstest der SmartMeter.io-Website
Was du lernen wirst:
- Arten von Leistungstests
- Leistungstestprozess
- Wie schreibe ich ein Strategie-Dokument für Leistungstests?
- Beispielvorlage für eine Leistungsteststrategie
- #1. Einleitung
- # 2) Geltungsbereich
- # 3) Ansatz
- # 4) Testdaten
- # 5) Einreise- und Ausstiegskriterien
- # 6) Fehlermanagement
- # 7) Testen von Tools und Techniken
- # 8) Suspendierungs- und Wiederaufnahmekriterien
- # 9) Testergebnisse
- # 10) Rollen und Verantwortlichkeiten
- # 11) Plan für potenzielle Risiken und Risikominderung
- # 12) Annahmen
- # 13) Abhängigkeiten
- # 14) Abkürzungen
- Best Practices für realistische Leistungstests
Arten von Leistungstests
Lasttest
Load Testing ist eine Art Leistungstest, bei dem die Anwendung auf ihre Leistung bei normaler und Spitzenauslastung getestet wird. Die Leistung einer Anwendung wird hinsichtlich ihrer Antwort auf die Benutzeranforderung und ihrer Fähigkeit, innerhalb einer akzeptierten Toleranz auf verschiedene Benutzerlasten konsistent zu antworten, überprüft.
Die wichtigsten Überlegungen sind:
- Was ist die maximale Last, die die Anwendung halten kann, bevor sich die Anwendung unerwartet verhält?
- Wie viele Daten kann die Datenbank verarbeiten, bevor das System langsamer wird oder der Absturz beobachtet wird?
- Gibt es netzwerkbezogene Probleme, die behoben werden müssen?
Belastbarkeitstest
Stresstests werden verwendet, um Wege zu finden, um das System zu brechen. Der Test liefert auch den Bereich der maximalen Last, die das System halten kann.
Im Allgemeinen erfolgt bei Stresstests ein inkrementeller Ansatz, bei dem die Belastung schrittweise erhöht wird. Der Test wird mit einer Last gestartet, für die die Anwendung bereits getestet wurde. Dann wird langsam mehr Last hinzugefügt, um das System zu belasten. Der Punkt, an dem Server nicht mehr auf die Anforderungen reagieren, wird als Bruchstelle angesehen.
Folgende Fragen sind zu beantworten:
- Was ist die maximale Last, die ein System aushalten kann, bevor es ausfällt?
- Wie bricht das System zusammen?
- Kann das System nach einem Absturz wiederhergestellt werden?
- Auf wie viele Arten kann ein System kaputt gehen und welcher ist der schwache Knoten bei der Bewältigung der unerwarteten Last?
Volumentest
Beim Volumentest wird überprüft, ob die Leistung der Anwendung nicht durch das Datenvolumen beeinflusst wird, das von der Anwendung verarbeitet wird. Um einen Volumentest durchzuführen, wird ein großes Datenvolumen in die Datenbank eingegeben. Dieser Test kann ein inkrementeller oder ein stetiger Test sein. Im Inkrementaltest wird das Datenvolumen schrittweise erhöht.
Im Allgemeinen wächst mit der Anwendungsnutzung die Datenbankgröße, und es ist erforderlich, die Anwendung anhand einer umfangreichen Datenbank zu testen. Ein gutes Beispiel hierfür könnte eine Website einer neuen Schule oder eines Colleges sein, an der zunächst kleine Datenmengen gespeichert werden müssen. Nach 5 bis 10 Jahren sind die Datenspeicher in der Datenbank der Website jedoch viel mehr.
Kapazitätsprüfung
=> Ist die Anwendung in der Lage, das Geschäftsvolumen sowohl unter normalen als auch unter Spitzenlastbedingungen zu erfüllen?
Kapazitätstests werden in der Regel für zukünftige Interessenten durchgeführt. Capacity Testing befasst sich mit folgenden Themen:
- Wird die Anwendung die zukünftige Last unterstützen können?
- Ist die Umgebung in der Lage, für die bevorstehende erhöhte Last zu stehen?
- Welche zusätzlichen Ressourcen sind erforderlich, um die Umgebung leistungsfähig genug zu machen?
Mit dem Kapazitätstest wird ermittelt, wie viele Benutzer und / oder Transaktionen eine bestimmte Webanwendung unterstützt und dennoch die Leistung erfüllt. Während dieses Tests werden Ressourcen wie Prozessorkapazität, Netzwerkbandbreite, Speichernutzung, Festplattenkapazität usw. berücksichtigt und geändert, um das Ziel zu erreichen.
Online-Banking ist ein perfektes Beispiel dafür, wo Kapazitätstests eine wichtige Rolle spielen könnten.
Zuverlässigkeit / Wiederherstellung Testen
Zuverlässigkeitstest oder Wiederherstellungstest - dient dazu zu überprüfen, ob die Anwendung nach einem Fehler oder abnormalem Verhalten wieder in den Normalzustand zurückkehren kann und wie lange dies dauert (dh Zeitschätzung).
Wenn auf einer Online-Handelsseite ein Fehler auftritt, bei dem die Benutzer zu einem bestimmten Zeitpunkt des Tages (Spitzenzeiten) keine Aktien kaufen / verkaufen können, dies jedoch nach ein oder zwei Stunden tun können, können wir sagen, dass die Anwendung zuverlässig ist oder erholt sich von dem abnormalen Verhalten.
Leistungstestprozess
Hier sind alle Aktivitäten, die in diesem Test ausgeführt werden:
# 1) Anforderungsanalyse / -erfassung
Das Leistungsteam interagiert mit dem Kunden, um Anforderungen zu identifizieren und zu erfassen - technische und geschäftliche. Dies umfasst das Abrufen von Informationen zur Architektur, den verwendeten Technologien und der verwendeten Datenbank der Anwendung, den beabsichtigten Benutzern, der Funktionalität, der Anwendungsnutzung, Testanforderung , Hardware- und Softwareanforderungen usw.
# 2) POC / Werkzeugauswahl
Sobald die Schlüsselfunktionalität identifiziert ist, wird POC (Proof Of Concept - eine Art Demonstration der Echtzeitaktivität, jedoch in begrenztem Umfang) mit den verfügbaren Tools durchgeführt.
Die Liste der verfügbaren Tools hängt von den Kosten des Tools, dem von der Anwendung verwendeten Protokoll, den zum Erstellen der Anwendung verwendeten Technologien, der Anzahl der Benutzer ab, die wir für den Test simulieren usw. Während des POC werden Skripts für den identifizierten Schlüssel erstellt Funktionalität und mit 10-15 virtuellen Benutzern ausgeführt.
# 3) Leistungstestplan & Design
Abhängig von den in den vorhergehenden Phasen gesammelten Informationen werden Testplanung und -design durchgeführt.
Die Testplanung enthält Informationen darüber, wie der Leistungstest stattfinden wird - Testumgebung, Arbeitslast, Hardware usw.
Mehr zum Teststrategiedokument unten.
# 4) Entwicklung von Leistungstests
- Anwendungsfälle werden für die im Testplan als Umfang von PT angegebenen Funktionen erstellt.
- Diese Anwendungsfälle werden dem Kunden zur Genehmigung mitgeteilt. Dies soll sicherstellen, dass das Skript mit den richtigen Schritten aufgezeichnet wird.
- Nach der Genehmigung beginnt die Skriptentwicklung mit einer Aufzeichnung der Schritte in Anwendungsfällen mit dem Leistungstest-Tool, das während des POC (Proof of Concepts) ausgewählt und durch Ausführen von Korrelationen (zur Behandlung dynamischer Werte), Parametrisierung (Wertersetzung) und benutzerdefinierten Funktionen als erweitert wurde je nach Situation oder Bedarf. Mehr zu diesen Techniken in unseren Video-Tutorials.
- Die Skripte werden dann gegen verschiedene Benutzer validiert.
- Parallel zur Skripterstellung arbeitet das Leistungsteam auch weiterhin an der Einrichtung der Testumgebung (Software und Hardware).
- Das Leistungsteam kümmert sich auch über Skripte um Metadaten (Back-End), wenn diese Aktivität nicht vom Client übernommen wird.
# 5) Modellierung von Leistungstests
Das Leistungslastmodell wird für die Testausführung erstellt. Das Hauptziel dieses Schritts besteht darin, zu überprüfen, ob die angegebenen Leistungsmetriken (von Kunden bereitgestellt) während des Tests erreicht werden oder nicht. Es gibt verschiedene Ansätze zum Erstellen eines Lastmodells. „ Kleines Gesetz Wird in den meisten Fällen verwendet.
# 6) Testausführung
Das Szenario wurde gemäß dem Lademodell in Controller oder Performance Center entworfen, aber die ersten Tests werden nicht mit maximalen Benutzern ausgeführt, die sich im Lademodell befinden.
Die Testausführung erfolgt schrittweise. Zum Beispiel, Wenn die maximale Anzahl von Benutzern 100 beträgt, werden die Szenarien zuerst mit 10, 25, 50 Benutzern usw. ausgeführt und schließlich auf 100 Benutzer übertragen.
Tools zum Knacken von Passwörtern für Windows 7
# 7) Analyse der Testergebnisse
Testergebnisse sind das wichtigste Ergebnis für den Leistungstester. Hier können wir den ROI (Return on Investment) und die Produktivität nachweisen, die ein Leistungstest bieten kann.
Einige der Best Practices, die den Prozess der Ergebnisanalyse unterstützen:
- Ein eindeutiger und aussagekräftiger Name für jedes Testergebnis - dies hilft, den Zweck des Tests zu verstehen.
- Nehmen Sie die folgenden Informationen in die Zusammenfassung der Testergebnisse auf:
- Grund für den Fehler / die Fehler
- Änderung der Leistung der Anwendung im Vergleich zum vorherigen Testlauf
- Im Test vorgenommene Änderungen ab dem Zeitpunkt der Anwendungserstellung oder der Testumgebung.
- Es wird empfohlen, nach jedem Testlauf eine Ergebniszusammenfassung zu erstellen, damit die Analyseergebnisse nicht jedes Mal zusammengestellt werden, wenn auf Testergebnisse verwiesen wird.
- PT erfordert im Allgemeinen viele Testläufe, um zum richtigen Ergebnis zu gelangen.
- Es ist gut, die folgenden Punkte in der Ergebniszusammenfassung zu haben:
- Testzweck
- Anzahl der virtuellen Benutzer
- Zusammenfassung des Szenarios
- Testdauer
- Durchsatz
- Grafiken
- Grafikvergleich
- Reaktionszeit
- Ein Fehler ist aufgetreten
- Empfehlungen
# 8) Bericht
Die Testergebnisse sollten vereinfacht werden, damit die Schlussfolgerung klarer wird und keine Ableitung erforderlich ist. Das Entwicklungsteam benötigt weitere Informationen zur Analyse, zum Vergleich der Ergebnisse und Einzelheiten zur Erzielung der Ergebnisse.
Der Testbericht wird als gut angesehen, wenn er kurz, beschreibend und auf den Punkt gebracht ist.
Wie schreibe ich ein Strategie-Dokument für Leistungstests?
In diesem Lernprogramm wird erläutert, wie Sie eine Beispielstrategie für einen Leistungstest für eine Messaging-Anwendung schreiben.
Denken Sie daran, dass dies nur ein Beispiel ist und die Anforderungen von Kunde zu Kunde unterschiedlich sind. In diesem Lernprogramm lernen wir auch die Best Practices für Leistungstests kennen.
Beispielvorlage für eine Leistungsteststrategie
Über ABC Chat-Anwendung - Nehmen wir an, dass dies eine Chat-Workbench ist, die in einem Unternehmen von ihrem Kundensupport-Agenten verwendet wird. Diese Chat-Anwendung verwendet das XMPP-Protokoll, d. H. Das Protokoll für erweiterbare Nachrichten und Anwesenheit und den Open Fire-Server zum Senden und Empfangen von Sofortnachrichten.
An diesem vorhandenen Chat-Client wurden einige Verbesserungen vorgenommen, z. B. Remote-PC-Steuerung, PC-Diagnose, Reparaturwerkzeuge, Online-Chat usw., sodass diese Leistungsteststrategie ein Beispiel für solche Anwendungen ist.
Nehmen wir für diese Anwendung an, dass sich das Projektteam für die Verwendung entschieden hat JMeter für Leistungstests und JIRA zur Fehlerverfolgung.
Die erste Seite des Dokuments zur Leistungsteststrategie sollte den Titel des Dokuments und die Urheberrechte des Unternehmens enthalten.
Die zweite Seite sollte die Dokumentsteuerung enthalten, die den Verlauf der Dokumentversion, die Liste der Prüfer und Genehmiger sowie die Liste der Mitwirkenden enthält.
Die dritte Seite sollte das Inhaltsverzeichnis enthalten, gefolgt von den folgenden Themen.
#1. Einleitung
In diesem Dokument wird definiert / erläutert, wie Leistungstests in der ABC-Chat-Anwendung für den aktuellen und zukünftigen Status durchgeführt werden.
Die ABC-Chat-Anwendung ist eine interne Remote Support Agent-Workbench. Diese Workbench wird verwendet, um Kundenwünsche zu erfüllen. Diese Workbench verfügt über Funktionen wie Online-Chat, Kundenidentifikation, Remote-PC-Steuerung, PC-Diagnose und Reparatur-Tools.
Zielsetzung
Die Hauptziele von Leistungstests sind folgende:
- Um das Vertrauen zu gewinnen, dass die Änderungen an der vorhandenen Chat-Anwendung mit dem definierten Service Level Agreement übereinstimmen.
- Um sicherzustellen, dass die Anwendungsleistung, die Dienstverfügbarkeit und die Stabilität der Anwendung durch die neuen Verbesserungen nicht beeinträchtigt werden.
- Die Transaktionsantwortzeiten bleiben über das zunehmende Lastprofil innerhalb der akzeptablen Toleranz.
- JVMs zeigen eine stabile Speichernutzung über die zunehmenden Lastprofile.
Das folgende Bild erklärt deutlich den Prozess des Leistungstests und der Optimierung:
Die Architektur
Sie müssen das Architekturdiagramm Ihres Projekts in diese Sitzung einbeziehen.
# 2) Geltungsbereich
Im Visier
Nachfolgend finden Sie den Bereich für Leistungstests für die ABC-Chat-Workbench:
- Wissenserwerb der wichtigsten Geschäftstransaktionen und Aufbau der Lastverteilung nach einer detaillierten Untersuchung des Systems.
- Identifizieren Sie die kritischen Szenarien für Leistungstests mithilfe verschiedener Projektspuren.
- Verwenden Sie die Ergebnisse der vorherigen Version als Basis für zukünftige Versionen.
- Überprüfen und validieren Sie die Leistungstestumgebung und die Infrastruktur des Performance / Load-Testtools für zusätzliche Agent-Maschinen.
- Vorbereitung von Leistungstestskripten mit JMeter für die identifizierten Szenarien, die die identifizierte Spitzenlast nachahmen.
- Richten Sie auf den Servern eine Leistungsüberwachung zur Überwachung des Tests ein, um die Engpässe während der Testausführungsphase zu identifizieren.
- Veröffentlichen Sie die Ergebnisse der Leistungstests.
- Koordinieren Sie mit verschiedenen Stakeholdern, um die identifizierten Leistungsprobleme zu lösen.
- Baseline das Leistungsniveau für zukünftige Versionen.
Außer Reichweite
- Funktionsprüfung , UAT, Systemtests und Sicherheitstests.
- Leistungstests / Überwachung von Schnittstellen von Drittanbietern.
- Leistungsoptimierung. (In den meisten Fällen wird die Optimierung von einem anderen Team durchgeführt. Wenn Sie Leistungstechniker haben, die das System optimieren, können Sie dies im Inscope hinzufügen.)
- Code-Profilerstellung / Hardware-Dimensionierung / Kapazitätsplanung.
- Sicherheits- / Sicherheitslückenprüfung / UAT / White-Box-Test .
- Datengenerierung für Leistungstests.
- Nichtfunktionstests ( Zum Beispiel, Failover, Disaster Recovery, Backup, Usability) außer den Leistungstests.
- Testen jeder mobilen Lösung.
- Testen und Optimieren der Anwendungsleistung von Drittanbietern.
- Die Umsetzung von Leistungsempfehlungen, Änderungen des Anwendungscodes und der vom Hersteller unterstützten Änderungen der Produkt- / Serverkonfiguration ist aus Sicht des Leistungsteams nicht möglich.
- Infrastrukturunterstützung / Buildbereitstellung / Umgebungsbereitschaft / Datenbankwiederherstellung / Netzwerkunterstützung usw.
# 3) Ansatz
Leistungstests für ABC-Chats werden mit Jmeter durchgeführt, indem benutzerdefinierte XMPP-Plugins geschrieben werden, die eine Smack-Bibliothek für XMPP-Verbindungen verwenden. Diese Bibliotheken werden verwendet, um Verbindungen einzurichten, sich anzumelden und Chatnachrichten an den XMPP-Server zu senden.
Diese Bibliotheken werden in einer JAR-Datei gebündelt, die im Jmeter bereitgestellt wird und auf den zu testenden Szenarien basiert. Die Jmeter-Werkbank ist auf dem lokalen Computer installiert, der eine Verbindung zum JMeter-Server herstellt, der über die Lastgeneratoren verfügt, um die erforderliche Last auf dem Chat-Serversystem zu generieren und das Systemverhalten zu überwachen.
Das Testszenario wird mit dem JMeter-Tool erstellt. Die Skripte würden nach Bedarf angepasst. Der Zeitplan wird mit dem erforderlichen Hochlauf erstellt, um die realen Szenarien zu simulieren.
Das Testszenario würde unter den folgenden Aspekten aufgeteilt und gemessen:
a) Basistest: Ausführen jedes Szenarios mit 1 Vuser und mehreren Iterationen, um festzustellen, ob die Anwendungsleistung dem Business Service Level Agreement entspricht oder nicht.
b) Grundlasttest: Um den Business Benchmark unter Lasttest zu erfüllen, führt das Leistungstest-Team einen Grundlasttest durch, mit dem Systemleistungsprobleme mit zunehmender Last identifiziert und die Basis für die nächste Stufe des Leistungstests erstellt werden können.
c) Spitzenlast- / Skalierbarkeitstest: Das Leistungstest-Team führt mehrere Tests mit zunehmenden Benutzern durch, um die erwartete Last zu erfüllen und die Anwendungsleistung zu messen, um die Leistungskurve zu erstellen und festzustellen, ob die Bereitstellung die Service Level Agreements unter der maximalen Benutzerlast unterstützen kann.
Es hilft bei der Optimierung oder Kapazitätsplanung der einzelnen Java Virtual Machines (JVM), der Gesamtzahl der erforderlichen JVMs und der Prozessoren. Dies wird erreicht, indem die Anzahl der Benutzer auf 50%, 75%, 100% und 125% der Spitzenkapazität erhöht wird.
d) Ausdauertest: Das Leistungstest-Team führt diesen Test für einen Zeitraum von 8 Stunden / 16 Stunden / 24 Stunden durch, um Speicherverluste, Leistungsprobleme im Laufe der Zeit und die allgemeine Systemstabilität zu ermitteln. Während Ausdauertests überwacht das Leistungstestteam die wichtigsten Leistungsindikatoren wie die Transaktionsantwortzeiten und die Stabilität der Speichernutzung.
Systemressourcen wie CPU, Speicher und E / A müssen mithilfe des Projektteams überwacht werden.
Die Leistungstestumgebung wird als Replikat der Produktionsumgebung angenommen. Die Tests werden mit einer inkrementellen Last ausgeführt, um festzustellen, wo die Anwendung fehlschlägt.
Leistungstestszenarien
Schließen Sie das Excel in die Reihe der Szenarien ein.
Zum Beispiel,
Fragen und Antworten zum Interview mit dem technischen Support für bpo
Szenario 1: Um den Agenten- und Kundenchat für X-Nr. von gleichzeitigen Sitzungen.
Leistungstesttypen
In der folgenden Tabelle werden die verschiedenen Arten von Leistungstests sowie ihre Ziele erläutert.
Testtyp | Zielsetzung |
---|---|
UAT | User Acceptance Testing |
Basistest | Stellen Sie die beste Leistung unter bestimmten Volumina fest, die als Referenz für nachfolgende Messungen verwendet werden. |
Lade Test | Messen Sie die Systemleistung unter der erwarteten maximalen Produktionslast. |
Ausdauertest | Messung der Systemstabilität bei hohem Volumen über einen längeren Zeitraum. |
Stresstest | Messen Sie die Systemleistung unter ungünstigen Bedingungen. |
Leistungsmetriken
- Clientseitige Metriken
S.No. | Metrisch | Beschreibung | Format |
---|---|---|---|
1 | Transaktionsantwortzeit | Reaktionszeit der Seiten im eingeschwungenen Zustand des Leistungstests | Graph |
zwei | Durchsatz | Die Datenmenge, die die VUsers im Laufe der Zeit vom Server erhalten haben | Graph |
3 | Treffer / Sekunde | Die Anzahl der HTTP-Anforderungen, die VUsers während des Szenariolaufs an den Webserver gesendet haben | Graph |
4 | Anzahl der bestandenen / fehlgeschlagenen Transaktionen | Gesamtzahl der Transaktionen, die während der Testausführung bestanden und fehlgeschlagen sind | Excel |
5 | Transaktionsfehlerrate | Der Prozentsatz der Transaktionen, die während der Testausführung fehlgeschlagen sind | Graph |
- System- und Netzwerkleistungsmetriken
Aktivitäten und Ergebnisse von Leistungstests
# 4) Testdaten
Es wird davon ausgegangen, dass die Leistungsumgebungsdaten eine Kopie der Produktionsdaten sind und die erforderlichen Testdaten vom Projektteam bereitgestellt werden.
# 5) Einreise- und Ausstiegskriterien
- Zugriff auf alle Anwendungen in der Umgebung.
- Umweltbereitschaft abgeschlossen.
- Leistungstest Datenbereitschaft.
# 6) Fehlermanagement
- Das Fehlermanagementmodul in JIRA wird im Projekt zur Fehlerprotokollierung und zur Verfolgung bis zum Abschluss verwendet.
- Die Identifizierung von Fehlern, die während der Testausführungsphase gefunden wurden, wird in JIRA erfasst und diese Fehler werden vom Entwicklungsteam gemäß den folgenden Schweregraden behoben.
- Täglich finden Besprechungen zur Fehlerprüfung statt, an denen die Test-, Entwicklungs-, Qualitätsanalysten- und Geschäftsteams teilnehmen.
- Die Kriterien zur Behebung von Fehlern würden streng werden, wenn sich das Projekt dem Go Live-Datum nähert. Richtlinien für Fehlerbehebungskriterien, die in Sitzungen zur Fehlerprüfung veröffentlicht werden sollen.
Definition des Schweregrads des Fehlers
Die Definitionen der Schweregradcodes lauten wie folgt:
Schwere | Beschreibung für Entwicklungs- und Erweiterungsprobleme |
---|---|
Blocker | Systemfehler, Stopper anzeigen, Netzwerkprobleme |
Kritisch | Systemfehler, keine eindeutige Problemumgehung, Unterbrechung oder fehlende Geschäftsfunktionalität |
Haupt | Es wurde ein schwerwiegendes Problem festgestellt, für das die Problemumgehung besteht, die möglicherweise nicht für alle Benutzer klar ist. Das Produkt sollte jedoch nicht ohne Korrektur freigegeben werden |
Mittel | Es besteht ein Problem mit der einfachen Umgehung, aber diese Art von Fehler kann nach Genehmigung durch den Geschäfts- und / oder Projektmanager behoben werden |
Niedrig | Kosmetische Probleme, die die Geschäftsfunktionalität nicht beeinträchtigen, oder andere zeitweise auftretende Probleme, die nicht jedes Mal reproduzierbar sind |
# 7) Testen von Tools und Techniken
Werkzeuge | Zweck |
---|---|
Jmeter | So überprüfen Sie das Laden und die Leistung der ABC Chat-Anwendung. |
# 8) Suspendierungs- und Wiederaufnahmekriterien
Nachstehend sind die Kriterien für die kritische Aussetzung und Wiederaufnahme aufgeführt, die sich auf die Testaktivitäten auswirken:
Suspension | Einschlag | Wiederaufnahme |
---|---|---|
Umgebung nicht eingerichtet | Der Test kann nicht fortgesetzt werden | Umweltbereitschaft. |
Anwendung als instabil befunden | Der Test kann nicht fortgesetzt werden. | Problem gelöst |
Testdaten nicht verfügbar | Der Test kann nicht fortgesetzt werden. | Testdaten bereit |
# 9) Testergebnisse
Die Leistungstestergebnisse umfassen:
- Strategie für Leistungstests
- Dokument mit den Leistungsanforderungen
- Dokument zum Leistungstestszenario
- Leistungstestskripte
- Leistungstestergebnisse
# 10) Rollen und Verantwortlichkeiten
Rollen und Verantwortlichkeiten werden in der folgenden Tabelle klar erläutert.
# 11) Plan für potenzielle Risiken und Risikominderung
S.No. | Risiko | Wahrscheinlichkeit | Einschlag | Minderungsplan | Inhaber |
---|---|---|---|---|---|
1 | Nichtverfügbarkeit von Testdaten für Testausführungen mit Leistungslast | H. | H. | Die geschätzten Daten für die Ausführung der Leistungstests sollten überprüft und aktualisiert werden. Unterstützung des Funktions- / Entwicklerteams für die Datenerfassung erforderlich. | - - |
zwei | Umweltprobleme | L. | M. | Priorisieren Sie die Ergebnisse erneut | - - |
3 | Änderung der Funktionalität / des Designs während der Ausführung des Leistungstests | M. | H. | Dies erfordert eine Überarbeitung der Leistungstestszenarien | - - |
4 | Zusätzliche Leistung wird ausgeführt, um Leistungsprobleme zu beheben | M. | H. | Zeitpläne für Leistungstests würden geändert und für das Produktteam aktualisiert. | - - |
5 | Schätzungen werden basierend auf 1 Bugfix-Build für die Leistung erstellt. Mehrere Builds zur Fehlerbehebung verzögern die Testzyklen und hängen letztendlich davon ab, wann der nächste Build zur erneuten Ausführung verfügbar sein wird. | H. | H. | Priorisieren Sie die Ausführungszyklen des Leistungstests erneut. | - - |
6 | Hardware-Verfügbarkeit | M. | H. | Das Startdatum des Zeitplans wird entsprechend verschoben. | - - |
# 12) Annahmen
- Die Leistungstestumgebung ist eine Nachbildung der Produktarchitekturlandschaft. (d. h. korrekte Hardware, Software, Schnittstellen, Integrationsschichten usw.).
- Leistungsskripte werden basierend auf den kritischen Flows entworfen, für die die Nutzung hoch ist.
- Alle Infrastrukturprobleme sollten vor Beginn der Leistungstests behoben werden. Alle später vorgenommenen Änderungen an der Systemkonfiguration machen die Testergebnisse ungültig.
- Eine Anwendung ist stabil und kann in der Leistungstestumgebung verwendet werden.
- Erforderliche Hardware- und Softwareressourcen (wie Lastgeneratormaschinen / -software, Controller- / Agentenmaschinen) werden zur Verfügung gestellt.
- Alle Änderungen am Umfang werden einem Änderungskontrollprozess unterzogen, und das Leistungstestteam bewertet die Auswirkungen von Zeitplänen und Ressourcen.
- Von den jeweiligen Servern wird erwartet, dass sie die Last bewältigen.
- Anwendungsverfolgungsprotokolle müssen für die unterstützenden Systeme zu Überwachungszwecken aktiviert sein.
# 13) Abhängigkeiten
- Verfügbarkeit der Leistungstestumgebung, die eine Nachbildung der Produktarchitekturlandschaft ist.
- Unterstützung durch verschiedene Funktions-, Entwicklungs-, Datenbank- und Infrastrukturteams während der Testvorbereitungs- und -ausführungsphase.
- Während der gesamten Leistungstestphase werden keine Codeänderungen implementiert, da die Zeit sehr begrenzt ist.
- Bei unvorhergesehenen Problemen, die zu Einschränkungen innerhalb der Zeitpläne führen, können die Release-Manager eine Unterstützung für den Umfang und die Priorisierung bereitstellen, wenn in den Zeitplänen nicht alle Testbereiche innerhalb der ursprünglichen Meilensteintermine eingehalten werden können.
- Anwendung Geschäftsanwender / Sachverständige werden für funktionale Klarstellungen und die Freigabe von Geschäftstransaktionen zur Verfügung gestellt.
- Der ABC Chat-Programmmanager überprüft und meldet sich ab.
# 14) Abkürzungen
Abkürzung | Beschreibung |
---|---|
DB | Datenbank |
Http | Hypertext Transfer Protocol |
JDBC | Java-Datenbankkonnektivität |
QA | Qualitätskontrolle |
SALAT | Service Level Agreement |
KMU | Fachexperten |
Inzwischen müssen Sie klar verstanden haben, wie Sie eine effektive Leistungsteststrategie für eine Messaging-Anwendung schreiben.
Best Practices für realistische Leistungstests
Um ein Leistungstestprojekt erfolgreich abzuschließen, müssen wir sicherstellen, dass wir es von der Planungsphase an richtig machen, dh Planung, Entwicklung, Ausführung und Analyse.
Schauen wir uns jede Phase im Detail an, um Leistungstests effektiv durchzuführen.
# 1) Planung
- Versuchen Sie, die häufigsten Workflows zu identifizieren, d. H. Die Geschäftsszenarien, die getestet werden müssen. Wenn es sich um eine vorhandene Anwendung handelt, überprüfen Sie die Serverprotokolle, um die Szenarien zu verstehen, auf die am häufigsten zugegriffen wird. Wenn die Anwendung neu ist, wenden Sie sich an das Projektmanagement-Team, um den wichtigsten Geschäftsablauf zu verstehen.
- Planen Sie den Belastungstest so, dass Sie eine breite Palette von Workflows wie leichte, mittlere und Spitzenlasten abdecken.
- Sie müssen viele Zyklen des Auslastungstests ausführen. Versuchen Sie daher, ein Framework zu erstellen, damit Sie immer wieder dieselben Skripts verwenden können. Versuchen Sie auch, eine Sicherungskopie der Skripte zu erstellen.
- Versuchen Sie zu analysieren, wie lange ein Test laufen muss. Ist es eine Stunde? 8 Stunden? Ein Tag oder eine Woche? In der Regel werden bei Langzeittests viele wichtige Fehler wie Betriebssystemfehler, Speicherlecks usw. aufgedeckt.
- Wenn Ihre Organisation ein APM (Application Monitoring Tool) verwendet, können Sie es während der Testläufe einbeziehen, damit Sie die Leistungsprobleme leichter identifizieren und die Grundursache leichter identifizieren können.
# 2) Entwicklung
- Versuchen Sie bei der Entwicklung der Skripte, d. H. Der Aufzeichnung, einen aussagekräftigeren Transaktionsnamen anzugeben, der auf den im Plan genannten Geschäftsablaufnamen basiert.
- Zeichnen Sie keine Anwendungen von Drittanbietern auf. Wenn diese aufgezeichnet werden, versuchen Sie, sie herauszufiltern, während Sie die Skripte verbessern.
- Nicht alle dynamischen Werte können mithilfe der Autokorrelationsfunktion im Tool korreliert werden. Versuchen Sie daher, eine manuelle Korrelation durchzuführen, um Fehler zu vermeiden.
- Versuchen Sie, Ihre Leistungstests so zu gestalten, dass Sie das Backend der Anwendung und nicht nur den Cache-Server erreichen.
# 3) Ausführung
- Stellen Sie sicher, dass Sie die Tests in einer produktionsähnlichen Umgebung ausführen, einschließlich Faktoren wie SSL, Load Balancer und Firewalls. Dies ist erforderlich, um eine realistische Belastung des Systems zu simulieren.
- Versuchen Sie, eine Workload zu erstellen, die sehr realistisch ist. Sie können dies erreichen, indem Sie die Serverprotokolle überprüfen, wenn es sich um eine vorhandene Anwendung handelt. Wenn es sich um eine neue Anwendung handelt, müssen Sie diese Informationen vom Geschäftsteam abrufen. Denken Sie daran, dass die Arbeitsbelastung für die Durchführung erfolgreicher Leistungstests sehr wichtig ist.
- Niemals zu einem Ergebnis kommen, indem Tests mit der halben Produktionsgröße durchgeführt werden. Es wird immer empfohlen, Tests in einer Umgebung durchzuführen, die genau der Produktion entspricht.
- Versuchen Sie bei der Ausführung von Langzeittests, den Lauf in regelmäßigen Abständen zu beobachten, um sicherzustellen, dass der Test reibungslos abläuft.
# 4) Analyse
- Versuchen Sie, die Anwendung zu analysieren, indem Sie zuerst einige wichtige Zähler hinzufügen. Wenn ein Engpass festgestellt wird, versuchen Sie dann, zusätzliche Zähler in Bezug auf den Engpass hinzuzufügen. Dies hilft wiederum dabei, das Problem leichter zu finden.
- Eine Anwendung kann aus vielen Gründen fehlschlagen, z. B. weil sie nicht auf eine Anfrage reagiert, mit einem Fehlercode antwortet, Ihre Validierungslogik nicht erfüllt oder zu langsam reagiert. Versuchen Sie also, all dies zu untersuchen, bevor Sie zu einem Schluss kommen.
Fazit
Ich bin sicher, dass dieses Tutorial Ihnen immense Kenntnisse über Leistungstests und das Schreiben eines Strategiepapiers für Leistungstests mit detaillierten Beispielen vermittelt hätte.
In unserem nächsten Tutorial werden wir die Unterschiede zwischen Leistungs-, Last- und Stresstests im Detail kennenlernen.
Überprüfen Sie auch => Kostenlose ausführliche LoadRunner-Schulungsserie
Literatur-Empfehlungen
- Leistungstests vs Lasttests vs Stresstests (Unterschied)
- Lasttests mit HP LoadRunner-Tutorials
- Cloud-Leistungstests: Cloud-basierte Lasttest-Dienstanbieter
- Testen der Auslastung, Belastung und Leistung von Webanwendungen mit WAPT
- Tools und Services zum Testen der Website-Leistung
- Wie führe ich manuelle Leistungstests durch?
- Leistungstests für mobile Anwendungen mit BlazeMeter
- Testen der Webdienstleistung mit LoadRunner VuGen Scripting