Was ist Benchmark-Test?

⚡ Intelligente Zusammenfassung

Benchmark-Tests legen einen reproduzierbaren, messbaren Standard für die Anwendungsleistung fest, sodass jede zukünftige Version damit verglichen werden kann. Ohne einen solchen Vergleichswert ist ein Leistungsergebnis lediglich eine Zahl ohne jegliche Grundlage für eine Bewertung.

  • 📏 Hauptzweck: Erstellen Sie eine Referenzmessung, mit der spätere Versionen verglichen werden.
  • 🔁 Wiederholbarkeitsregel: Die gleiche Hardware, die gleichen Daten und die gleiche Konfiguration müssen jedes Mal verwendet werden, sonst ist der Vergleich sinnlos.
  • 📐 Vier Phasen: Planung, Analyse, Integration und Umsetzung, jeweils mit definierten Ergebnissen.
  • 🧪 Isolationswerte: Ändern Sie pro Durchlauf jeweils nur eine Variable, andernfalls lässt sich kein Unterschied feststellen.
  • 📊 Vergleichsgrundlage: Die Benchmarks werden mit einer Vorgängerversion, einem Konkurrenzprodukt oder einem Branchenstandard verglichen.
  • ⚠️ Häufiger Fehler: Benchmarking in einer gemeinsam genutzten oder virtualisierten Umgebung erzeugt ein größeres Rauschen als der gemessene Effekt.

Was ist Benchmark-Testing?

Bevor wir Benchmark-Tests lernen, sollten wir uns darüber im Klaren sein:

Benchmark im Leistungstest

A Benchmark im Leistungstest ist eine Metrik oder ein Bezugspunkt, anhand dessen Softwareprodukte oder -dienstleistungen verglichen werden können, um die Qualitätsmaßstäbe zu bewerten. Mit anderen Worten bezeichnet Benchmark einen festgelegten Standard, der dabei hilft, die Qualität eines Softwareprodukts oder einer Softwaredienstleistung zu bestimmen. Wir können ein Softwareprodukt oder eine Dienstleistung einem Benchmarking unterziehen, um dessen Qualität zu beurteilen.

Beispielsweise hat eine Fußballmannschaft einen Maßstab für die Qualifikation eines Spielers Erstligaspieler. Als Benchmark könnte beispielsweise die Anzahl der in den letzten fünf Saisons erzielten Tore, der Ballbesitz in der ersten Halbzeit oder eine Mindestanzahl gespielter Spiele im lokalen Turnier usw. dienen.

Was ist Benchmark-Test?

Benchmark-Tests misst einen wiederholbaren Satz quantifizierbarer Ergebnisse, der als Bezugspunkt dient, mit dem Produkte/Dienstleistungen verglichen werden können. Der Zweck der Benchmark-Testergebnisse besteht darin, die aktuellen und zukünftigen Softwareversionen mit ihren jeweiligen Benchmarks zu vergleichen.

Ein Maßstab muss sein wiederholbar. Wenn beispielsweise bei jeder Iteration des Lasttests die Antwortzeiten zu stark schwanken, muss die Systemleistung einem Benchmarking unterzogen werden. Die Reaktionszeit muss unter verschiedenen Lastbedingungen stabil sein.

Ein Maßstab muss sein quantifizierbar. Beispielsweise lässt sich das Benutzererlebnis nicht in Zahlen ausdrücken, die Zeit, die ein Benutzer aufgrund einer guten Benutzeroberfläche auf einer Webseite verbringt, lässt sich jedoch quantifizieren.

Benchmark-Testing ist nicht nur ein Begriff, der sich auf Softwaretests bezieht, sondern auch auf Hardwaretests und gilt als eine der wichtigsten Aufgaben in der Geschäftswelt.

In diesem Tutorial werden wir Benchmarks für eine Client-Server-Anwendung oder anders gesagt eine Webanwendung besprechen. Der Benchmarktest kann für die folgenden Dienste durchgeführt werden:

  • Browserkompabilität
  • Broken Links
  • HTML-Konformität
  • Ladezeit
  • Barierrefreiheit
  • Link Popularität

Warum Benchmark-Tests wichtig sind

Auf Unternehmensebene können Benchmark-Tests bei der Ermittlung hilfreich sein

  • Wie gut eine webbasierte Anwendung im Vergleich zur Konkurrenz abschneidet
  • Wie verschiedene Kundentypen die Reaktionszeit und Verfügbarkeit einer Website erleben
  • Es stellt sicher, dass Websites den Standards und Best Practices entsprechen
  • Es ermöglicht die Bewertung von Drittanbietern vor einer Vertragsunterzeichnung.tracEntscheidung
  • Ermöglicht es, die zu vermeidenden Fehler herauszufinden

Erstellen eines Benchmark-Testplans

Ein Testplan ist das wichtigste Element des Benchmark-Testprozesses. Der Benchmark-Testplan folgt den unten angegebenen Schritten:

  1. Arbeitslast skalieren und aufrufen
  2. Sammeln und speichern Sie Messwerte für Benchmark-Tests
  3. Definieren Sie die benötigte Zeitspanne und den Endpunkt eines Testvorgangs
  4. Bereiten Sie einen Backup-Plan vor, um jeden neuen Testfallfehler zu beheben
  5. Legen Sie die Berechtigung fest, die Beendigung des Endprozesses aufzurufen

So führen Sie Benchmark-Tests durch

Beim Benchmark-Testen gibt es vier Phasen:

Benchmark-Tests

Schritt 1) ​​Planungsphase

  • Identifizieren und Priorisieren von Standards und Anforderungen
  • Legen Sie Benchmark-Kriterien fest
  • Definieren Sie den Benchmark-Testprozess

Schritt 2) Analysephase

  • Identifizieren Sie die Grundursache des Fehlers, um die Qualität zu verbessern
  • Ziele für den Testprozess festlegen

Schritt 3) Integrationsphase

  • Teilen Sie die Ergebnisse mit der betroffenen Person und holen Sie die Genehmigung ein
  • Legen Sie funktionale Ziele fest

Schritt 4) Aktionsphase

  • Testplan und Dokumentation entwickeln
  • Implementieren Sie die in den vorherigen Phasen festgelegten Maßnahmen und überwachen Sie den Fortschritt
  • Führen Sie den Prozess kontinuierlich aus

Komponenten des Benchmark-Tests

Verschiedene Systeme weisen unterschiedliche Komplexitätsgrade auf und erfordern unterschiedliche Techniken zum Testen von Anwendungen.

Es gibt drei Hauptkomponenten des Benchmark-Tests. Sie sind

  1. Workload-Spezifikationen: Bestimmen der Art und Häufigkeit der Anfragen, die an das zu testende System gesendet werden sollen.
  2. Spezifikationen der Metriken: Bestimmen Sie, welches Element gemessen werden soll, z. B.; Download-Geschwindigkeit
  3. Spezifikation der Messung: Bestimmen, wie die angegebenen Elemente gemessen werden, um geeignete Werte zu finden

Was beim Benchmark-Test zu beachten ist

Um erfolgreiche Benchmarktests durchzuführen, müssen folgende Fakten berücksichtigt werden.

  • Konsistenz und Kontrolle sind wichtige Maßnahmen zur Durchführung von Benchmark-Tests.
  • Verstehen Sie die Systemarchitektur, um Testkriterien und Testdaten zu entwerfen
  • Untersuchen Sie die anfänglichen statischen Daten und aktualisieren Sie sie entsprechend der Anzahl der Benutzer
  • Überprüfen Sie bei Bedarf die Funktion „Zurücksetzen“ und definieren Sie die Transaktionsrate pro Sekunde (dies gilt speziell für Benutzertransaktionen mit einer Datenbank).
  • Teilen Sie die Systemelemente nach ihren Funktionalitäten auf
  • Jedes System hat eine andere Architektur und ein anderes Design, was bei der Durchführung von Benchmarktests berücksichtigt werden muss
  • Stellen Sie sicher, dass alle Softwarekomponenten in funktionsfähigem Zustand sind
  • Das Betriebssystem und die unterstützenden Treiber sollten einwandfrei funktionieren
  • Entfernen Sie Prefetch- und temporäre Dateien vom System, bevor Sie einen Benchmark ausführen
  • Schließen Sie alle im Hintergrund laufenden Prozesse und Anwendungen
  • Suchen Sie nach Betriebssystem-Updates und realen Konfigurationen

Benchmark-Test-Frameworks

Benchmark-Test-Frameworks helfen bei der Durchführung einiger grundlegender Aufgaben für Leistungsprüfungen. Zu diesen grundlegenden Aufgaben gehören:

  1. Datenbankzugriff
  2. Serverseitige Komposition
  3. JSON-Serialisierung
  4. Konfiguration

Benchmark Framework 2.0 & TechEmpower Am häufigsten werden Benchmark-Test-Frameworks verwendet.

Werfen wir einen Blick auf TechEmpower. Wir werden einen kurzen Blick auf die wichtigsten Merkmale werfen.

  • Es handelt sich um ein Open-Source-Framework zur Durchführung von Benchmark-Aufgaben
  • Es erfordert die korrekte Konfiguration der Benchmarking-Umgebung
  • Es gibt hauptsächlich zwei Modi wie z Benchmark-Modus zum Vergleichen von Ergebnissen und Überprüfungsmodus für diejenigen, die keine Experten sind
  • Es sind mehrere Dateien erforderlich, die einzigartig sind und entsprechend von System zu System variieren können
  • Es enthält eine „Benchmark-Konfigurationsdatei“, die eine Reihe von Testanweisungen und Metadaten für ein Benchmark-Programm definiert
  • Es basiert auf mehreren Sprachen wie z Java, Python, Ruby, PHP, JavaSkript, Perl, C, Groovy, Haskell, Scala usw.
  • Object – Relational Mapper (ORM) wird verwendet, um Tests für Datenbanken, JSON-Serialisierung usw. durchzuführen.

Benchmark-Test-Tools

Benchmark-Testtools werden entsprechend kategorisiert. Wir werden uns einzeln anmelden.

Tools zum Testen Windows Stck:

  1. Prime95
  2. Novabench
  3. 3DMark
  4. SiSoftware Sandra

Tools zum Testen der CPU-Leistung:

  1. Cinebverzaubern
  2. Geekbench

Tools zum Testen der Systemgeschwindigkeit und der Batterien mobiler Geräte:

  1. Phoronix (Linux)
  2. CPU UserBenchmark (CPU-Benchmark-Test)
  3. Vellamo (Webbrowser-Leistung)

Benchmark-Tests können auch mit durchgeführt werden Android Telefone und Tablets. Unter allen, Mindestpunktzahl ist ein bekanntes und weit verbreitetes Benchmark-Testtool.

Wie dieser Test in die Familie der Leistungstests passt

Leistungsprüfung ist ein Oberbegriff. Die folgenden Varianten unterscheiden sich lediglich in der Form der aufgebrachten Last und der Dauer ihrer Einwirkung, weshalb sie so oft miteinander verwechselt werden.

Testtyp Lastmuster Fragen, die es beantwortet
Lastprüfung Erwartete Spitzenlast, kurze Dauer Erreicht das System seine Zielvorgaben auch bei normalem Spitzenverkehr?
Belastbarkeitstest Die Kapazität wurde bis zum Ausfall überschritten. Wo geht es kaputt, und scheitert es auf würdevolle Weise?
Spike-Test Plötzlicher extremer Anstieg, dann Rückzug Übersteht es einen Verkehrsunfall und kann sich davon erholen?
Dauertest Normale Last über viele Stunden gehalten Verschlechtert sich die Leistung im Laufe der Zeit?
Soak-Test Dauerhafte Belastung über einen längeren Zeitraum Gibt es Speicherlecks oder Ressourcenerschöpfung?
Stabilitätstests Unterschiedliche Belastung unter verschiedenen Bedingungen Bleibt das System auch bei sich ändernden Bedingungen zuverlässig?
Volumentest Normale Benutzer, sehr großes Datenvolumen Kommt es auch mit wachsender Datenbank zurecht?

Dauer- und Einweichtests werden häufig synonym verwendet. Im allgemeinen Sprachgebrauch bedeutet das: Beide Tests halten einer anhaltenden Last über einen längeren Zeitraum stand. Wo Teams zwischen ihnen unterscheiden, konzentriert sich der Ausdauertest darauf, ob die Antwortzeiten ansteigen, während der Dauertest den Ressourcenverbrauch wie Speicher, Dateihandles und Verbindungspools untersucht. Die Durchführung eines Tests liefert in der Regel die Ergebnisse für beide.

Benchmark-Tests: Wichtigste Erkenntnisse

  • In der Softwareentwicklung liefern Benchmark-Tests einen wiederholbaren Satz quantifizierbarer Ergebnisse zur Leistung eines Systems.
  • Hilfreich, um Lastbedingungen zu üben und das Systemverhalten gegen DDoS-Angriffe zu bestimmen.
  • Workload-Spezifikationen, Metriken und Messspezifikationen sind wichtige Bestandteile von Benchmark-Tests.
  • Zur schnellen und effizienten Durchführung von Benchmark-Tests werden mehrere Tools und Frameworks verwendet.
  • Benchmark-Tests sind auch für mobile Geräte nützlich.

Häufig gestellte Fragen

Leistungstests messen das Verhalten eines Systems unter Last. Benchmark-Tests erfassen diese Messung als festen Referenzstandard, sodass spätere Versionen unter identischen Bedingungen damit verglichen werden können.

Denn jede Änderung an Hardware, Datenvolumen oder Konfiguration verändert das Ergebnis. Ein Benchmark, der mit einer anderen Umgebung verglichen wird, misst die Umgebung, nicht die Software.

Immer dann, wenn sich die Umgebung, das Datenvolumen oder die Architektur wesentlich ändern. Ansonsten sollte die gleiche Basislinie beibehalten werden, da ihr Wert darin besteht, über verschiedene Releases hinweg stabil zu bleiben.

KI-Tools erkennen statistisch signifikante Regressionen zwischen den Durchläufen und trennen diese von der normalen Varianz. Dadurch entfällt das Rätselraten bei der Entscheidung, ob eine kleine Verlangsamung von Bedeutung ist.

Ja. Die Modelle leiten Schwellenwerte aus historischen Laufzeitverteilungen ab anstatt aus festen Prozentsätzen und passen sich mit dem Wachstum der Anwendung an. RevPrüfen Sie die abgeleiteten Grenzwerte, bevor Sie sie in einer Pipeline anwenden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: