Die Software Performanztests sind die Reihe von Verfahren mit dem Ziel die Software-Reaktionsfähigkeit und Stabilität unter einer bestimmten Leistungsanforderungen zu überprüfen. Die Software Performanztests werden auch durchgeführt, um die andere Softwarequalitätsmerkmale, wie Sicherheit, Skalierbarkeit und Ressourcenverbrauch zu testen und zu überprüfen.
Zweifellos ist die Bestimmung der Testziele vor Testausführung erforderlich. Was die Performanztests betrifft werden seine Ziele je nach Technologie, die wurde in der Anwendung verwendet oder ihren Zweck und Anforderungen variieren.
Die Software Performanztests werden häufig durchgeführt, um:
Die akzeptable Anwendungsleistung bezeichnet die durchschnittliche Antwortzeit oder Geschwindigkeit, die eine komfortablere Nutzung der Software ermöglichen. Die akzeptablen Leistungsgrenzen werden nach der Frequenz von den ausgeführten Prozessen definiert. Zum Beispiel, soll eine Anwendung bestimmte Operation 20-mal pro Stunde durchführen. Natürlich soll es schnell durchgeführt werden, um die Benutzer von der ewigen Erwartung zu befreien. Wenn irgendwelche Operation wird einmal pro Woche durchgeführt, kann ihre Ausführung mehr Zeit nehmen.
Die wichtigsten Ziele von den Software Performanztests sind die Laufzeitmessung von Systemoperationen unter bestimmter Arbeitsbelastung, die Ermittlung der maximalen Systemkapazität und akzeptable Leistungsgrenzen unter wachsenden Leistungsanforderungen.
Die Performanztests der Anwendung umfasst sich Lasttests, Stresstests, Stabilitätstests, Volumetests, Konfigurationstests.
Lasttests wird normalerweise angewendet, um die Softwareverhalten unter erwartender Belastung zu überprüfen. Es kann eine Anzahl von Anwendern sein, die eine Reihe von Operationen gleichzeitig ausführen. Die Lasttests helfen die Engpässe der Software zu identifizieren.
Stresstests wird häufig verwendet, um die Grenzen der Software Leistungsfähigkeit zu bestimmen. Wenn Arbeitsbelastung steigt den erwarteten Maximalwert über, dann wird man die Zuverlässigkeit von Software unter extremen Bedingungen überprüfen.
Stabilitätstests wird durchgeführt um sicherzustellen, dass die Software unter der erwartenden Belastung ständig in der Lage ist. Der Anwendungsspeicher Verbrauch wird überwacht, um mögliche Leckagen zu identifizieren. Die Stabilitätstests zielen darauf ab, den Software-Leistungsabfall zu überprüfen. Das heißt die Reduzierung der Datenverarbeitung Geschwindigkeit und der Antwortzeit in einem bestimmten Zeitraum.
Volumetests prüft die Softwareleistung mit einer bestimmten Menge von Daten. Häufig ist es eine Datenbank oder Dateigröße.
Konfigurationstests bestimmen die Auswirkungen der Software-Konfigurationsänderungen auf seine Leistung. Experimente mit Lastverteilung können als Konfigurationstests berücksichtigt werden.
Die grundlegende Software-Leistungswerten sind: die Anfrage Reaktionszeit, der Verbrauch von CPU, die Speicherauslastung, die Arbeit mit einem Disk-Subsystem, der Verbrauch von Netzwerkressourcen.
Die Anfrage Reaktionszeit der Software ist einer der wichtigsten Leistungsindikatoren. Sie kann entweder als die Zeit für die Verarbeitung der Anforderung auf der Server-Seite, oder als Gesamtzeit für die Anfrage- Serialisierung, Verschiffung und Verarbeitung auf der Kundenseite gemessen werden.
Der CPU-Verbrauch zeigt, wie viel von der Prozessorkapazität ist derzeit durch Software verwendet. Simultaneous Multithreading ist für moderne Systeme erforderlich. Dennoch kann es zu Leistungseinschränkungen führen. Die CPU-Verbrauch-Analyse erklärt die Auswirkungen der verarbeiteten Datenströme, Software und Betriebssystemkonfiguration, sowie andere Faktoren auf die Systemleistung.
Die Speicherauslastung zeigt die Speichermenge, die durch die Anwendung verwendet wird.
Verwendetes Speicher kann in drei Kategorien unterteilt werden:
Der Netzwerk-Ressourcenverbrauch ist nicht direkt mit Software-Performance verbunden, sondern kann es die Gesamtleistung der Systemgrenzen zeigen.
Vor allem sollen die Ziele von Tests entschlossen werden um sicherzustellen, dass die richtigen Software-Leistungskriterien gemessen werden und die Ausgangsinformationen die Kundenanforderungen befriedigt werden.