Jmeter: Interviewfragen

Jmeter: Interviewfragen
MIN
29 Feb. 2024

Bereiten Sie sich auf Ihr JMeter-Interview mit unserer umfassenden Liste von Interviewfragen für JMeter vor. Diese Fragen richten sich an Anfänger und Fortgeschrittene.

1. was sind Leistungstests?

Leistungstests sind eine nicht-funktionale Art von Tests, die die Leistung einer Anwendung unter einer erwarteten oder höheren Belastung bewerten. Sie wird vor der Bereitstellung der Anwendung in der Produktion durchgeführt, um sicherzustellen, dass die Anwendung nicht abstürzt und unter realistischer Belastung in einer standardmäßigen/akzeptablen Zeit reagiert.

2. Was sind die verschiedenen Arten von Leistungstests?

Die verschiedenen Arten von Leistungstests sind:

  • Lasttests – eine Art von Leistungstests zur Messung des Verhaltens einer Anwendung unter einer erwarteten Last.
  • Stresstest – Bewertung des Verhaltens einer Anwendung unter Belastungen, die über dem Schwellenwert oder der maximalen Belastung der Anwendung liegen.
  • Ausdauertest – Testen einer Anwendung unter einem Langzeit-Lasttest, typischerweise verwendet, um Speicherlecks in einer Anwendung zu entdecken.
  • Spike Testing – Bewertung des Verhaltens einer Anwendung, wenn die Anzahl der Benutzer plötzlich höher ist als normal.
  • Volumentests – Testen einer Anwendung mit großen Datenmengen, z.B. Testen mit großen Datensätzen in einer Datenbank.

3. Welche Aktivitäten werden beim Leistungstest einer Anwendung durchgeführt?

Die während des Leistungstests durchgeführten Aktivitäten sind –

  1. Erfassen und Analysieren der Anforderungen für Leistungstests – In dieser Phase werden alle Details der Anwendung vom Kunden und anderen an der Anwendung Beteiligten erfasst.
  2. Auswahl der Testwerkzeuge – In dieser Phase geht es um die Auswahl der Werkzeuge für die Leistungstests.
  3. Planung von Leistungstests – Die Testplanungsphase umfasst die Planung des gesamten Leistungstestprozesses, die Einrichtung der Infrastruktur und der Umgebung, die zu skriptierenden Anwendungsszenarien usw.
  4. Testskript-Implementierung – In dieser Phase werden Leistungstestskripte mit dem in den vorherigen Phasen ausgewählten Tool erstellt.
  5. Performancetest ausführen – In dieser Phase wird das Testskript zu einem in der Planungsphase festgelegten Zeitpunkt ausgeführt.
  6. Analyse der Testergebnisse – Die Phase der Ergebnisanalyse umfasst die Konsolidierung der Testergebnisse. Darüber hinaus hilft es bei der Bestimmung verschiedener Leistungsattribute der Anwendung und beim Auffinden von Leistungsengpässen.

4. Was ist JMeter?

JMeter ist ein in Java entwickeltes Open-Source-Tool für Leistungstests. Es kann für Leistungstests von Webanwendungen, Webdiensten (SOAP und Rest), FTP-Servern, Datenbanken, LDAP-Servern usw. verwendet werden.

5. Warum sollten wir JMeter für Leistungstests wählen?

Die Vorteile der Verwendung von JMeter für Leistungstests sind:

  • Es kann kostenlos und ohne Lizenzkosten genutzt werden.
  • Es ist Open-Source. Mit anderen Worten: Jeder kann es für seinen speziellen Gebrauch anpassen.
  • Es gibt eine gute Online-Community-Unterstützung und Tutorials für das JMeter-Tool.
  • Unterstützt Leistungstests für eine breite Palette von Anwendungen. Zum Beispiel Websites, FTP-Webdienste und Datenbanken.
  • Es ist einfach zu erlernen und zu benutzen.

6. Erklären Sie die Funktionsweise des JMeter-Tools.

JMeter simuliert echte Benutzerarbeitslasten, indem es mehrere Threads erstellt, die gleichzeitige Anfragen an den Zielserver ausführen. Anschließend wird die Serverleistung in Form von Tabellen und Diagrammen angezeigt.

7. Simuliert JMeter einen echten Browser?

Nein, das JMeter-Tool simuliert oder funktioniert nicht wie ein echter Browser. Kann die HTML-Antwort nicht wie ein echter Browser darstellen.

8. Was sind einige Funktionen von JMeter?

Einige der Funktionen von JMeter sind:

  1. JMeter ist zu 100% Java-basiert. Es hat also alle Vorteile von Java-basierten Anwendungen wie Portabilität, Erweiterbarkeit, Robustheit usw.
  2. Es verfügt über eine Aufnahme- und Wiedergabefunktion, die eine einfache und schnelle Erstellung von Testskripten gewährleistet.
  3. JMeter bietet verschiedene Listener zur Erfassung und Analyse von Testergebnissen sowohl in tabellarischer als auch in grafischer Form.
  4. Es kann zum Lasttest verschiedener Protokolle verwendet werden – HTTP, HTTPS, FTP, LDAP, TCP, usw.

9. Wie können wir Skripte für Leistungstests in JMeter aufzeichnen?

JMeter verfügt über einen HTTP(S)-Testskript-Logger, mit dem wir Operationen im Browser durchführen können, und HTTP-Anfragen werden in JMeter protokolliert.

10. Müssen wir lernen, wie man programmiert, um Skripte in JMeter zu erstellen?

Die Skripterstellung in JMeter unterscheidet sich ein wenig von der üblichen automatischen Skripterstellung. In den meisten Fällen kann das Skript durch Hochladen oder über die JMeter-Benutzeroberfläche erstellt werden. Es folgt die Parametrisierung der Tests, die Korrelation und die Konfiguration der verschiedenen Testparameter.

Einige Szenarien erfordern daher eine Programmierung, die mit Beanshell-Skripten durchgeführt werden kann.

11. JMeter basiert auf Java. Können wir damit die Leistung von Anwendungen testen, die auf anderen Plattformen/Sprachen wie .Net implementiert sind?

Ja, wir können JMeter verwenden, um Webanwendungen zu testen, die in anderen Sprachen und Plattformen erstellt wurden.

12. Welche Arten von Anwendungen können mit JMeter getestet werden?

Die verschiedenen Arten von Anwendungen, die mit JMeter getestet werden können, sind:

  • Website
  • Webdienste – REST und SOAP
  • Datenbanken (JDBC)
  • Shell-Skripte
  • FTP
  • LDAP
  • TCP
  • SMTP, POP3, IMAP

13. Erklären Sie die Parametrisierung in JMeter

Parametrisierung ist der Prozess der Parametrisierung von Benutzereingaben oder anderen Testeingaben. So dass für verschiedene Benutzer und Iterationen der Schleife unterschiedliche Werte verwendet werden. So kann beispielsweise eine externe CSV-Datei mit mehreren Logins erstellt und dann an das Stresstest-Skript übergeben werden, um für jede Iteration verschiedene Logins abzurufen.

14. Was ist Korrelation?

Die Korrelation ist der wichtigste Aspekt der Skripterstellung in JMeter. Es geht darum, dynamische Daten aus früheren Anfragen/Aufrufen abzurufen und sie als Parameter an nachfolgende Anfragen weiterzugeben. So können wir beispielsweise die Werte von Sitzungsvariablen aus einer Anfrageantwort mit Anmeldedaten abrufen und diese Werte dann an nachfolgende Anfragen weitergeben (und so die Sitzung verarbeiten). [

15. Was ist ein Testplan?

Ein Testplan in JMeter ist ein logischer Container, der alle Testelemente enthält, aus denen ein Leistungstest besteht. Einige der verschiedenen Elemente im Testplan sind – Thread-Gruppe, Sampler, Timer, Assertions, Listener usw.

16. Was ist Workbench?

Die Workbench in JMeter ist ein temporärer Bereich zum Speichern von Testelementen. Es enthält auch Funktionen, die nicht mit Tests zu tun haben, wie z.B. einen HTTP-Proxy-Server, der so konfiguriert werden kann, dass Skripte über den Browser in JMeter hochgeladen werden. Alle im Arbeitsbereich platzierten Elemente werden beim Speichern mit dem JMX-Testplanskript nicht gespeichert.

17. Was ist eine Thread-Gruppe in JMeter?

Eine Thread-Gruppe ist ein Element des JMeter-Testplans, das eine Gruppe virtueller Benutzer darstellt, die eine Reihe von Operationen durchführen.

18. Was ist ein Testfragment in JMeter?

Ein Test-Snippet ist eine spezielle Art von Controller in JMeter, dessen einziger Zweck es ist, die Wiederverwendbarkeit von Code in einem Testplan zu ermöglichen. Es ist wie eine Gruppe von Threads. Es wird jedoch nicht ausgeführt, wenn es nicht entweder von Modul-Controller oder Include_Controller referenziert wird.

Frage.19. Wie lang ist die Aufbauphase?

Zu Beginn eines Anwendungstests nehmen wir nicht alle Benutzer in Betrieb, sondern erhöhen langsam die Anzahl der Benutzer, um ihre Auswirkungen auf die Anwendungsleistung zu untersuchen. In JMeter definiert die Ramp-up-Periode die Zeitspanne, in der alle angegebenen Benutzer den Startzustand erreichen.

20. Was sind Sampler in JMeter?

A: Sampler in JMeter werden verwendet, um verschiedene Arten von Anfragen an den Server zu senden. Einige der häufig verwendeten Sampler sind – HTTP-Anfrage, JDBC-Anfrage, SOAP-XML-Anfrage, JUnit-Anfrage, TCP-Sampler usw.

21. was sind Listener in JMeter? Nennen Sie einige der am häufigsten verwendeten Hörer?

Listener werden zum Anzeigen und Speichern von Testergebnissen verwendet und helfen auch bei der tabellarischen und grafischen Analyse von Testergebnissen. Einige der am häufigsten verwendeten Listener sind Aggregate Report, Aggregate Graph, Graph Results, View Results Tree, usw.

22. was ist eine JTL-Datei in JMeter?

Die Testergebnisse in JMeter werden als JTL-Dateien gespeichert. JTL steht für JMeter Test Logs.

23. Was sind die verschiedenen Timer in JMeter?

Timer werden verwendet, um die Ausführung eines Thread-Tests für eine vordefinierte Zeitspanne anzuhalten. Darüber hinaus werden diese Timer verwendet, um die Denkzeit eines echten Benutzers zu simulieren. Die verschiedenen Arten von Timern, die in JMeter verfügbar sind, sind – konstanter Timer, Gaußscher Zufalls-Timer, gleichmäßiger Zufalls-Timer, Timer mit konstantem Durchsatz, Synchronisations-Timer, Beanshell-Timer, BSF-Timer usw.

24 Was ist der Unterschied zwischen einem Gaußschen Zufallszeitgeber und einem Poisson-Zufallszeitgeber?

Sowohl :Gauß- als auch Poisson-Zufallszeitgeber werden verwendet, um die Ausführung eines Tests für eine zufällige Zeitspanne zu unterbrechen, aber einen bestimmten Wert zu schließen. Der Unterschied zwischen ihnen liegt in ihren grundlegenden Implementierungsalgorithmen zur Erzeugung von Zufallswerten.

25. was ist ein Rendezvous-Punkt?

Der Rendezvouspunkt in JMeter wird verwendet, um Spitzentests durchzuführen. Sie wird mit Hilfe eines „Synchronisationstimers“ implementiert, indem gewartet wird, bis die Anzahl der aktiven Benutzer während des Lasttests einen bestimmten Wert erreicht.

26. was sind Assertions in JMeter? Erklären Sie die in JMeter verfügbaren Ansprüche.

Assertions in JMeter werden verwendet, um bestimmte Werte als Antwort auf Sampler-Anfragen zu validieren. Häufig verwendete Assertions sind – Response Assertion, Size Assertion, XML Assertion, BeanShell Assertion, HTML Assertion, XPath Assertion, etc.

27. Wofür werden die Konfigurationselemente verwendet?

Die Konfigurationselemente werden verwendet, um die Anforderungen des Probenehmers anzupassen, z.B. CSV Data Set Config kann verwendet werden, um Sampler-Anfragen mit Werten zu parametrisieren, die aus einer externen CSV-Datei stammen.

28. was sind Präprozessoren?

Vorprozessoren sind Elemente des Testplans, die ausgeführt werden, bevor die Sampler-Anforderung ausgeführt wird. Einige häufig verwendete Präprozessoren in JMeter sind der BeanShell-Präprozessor, der HTML-Link-Parser, der HTTP-URL-Umschreibmodifikator, RegEx-Benutzerparameter usw.

29. was sind Postprozessoren?

Postprozessoren sind Elemente des Testplans, die ausgeführt werden, nachdem die Sampler-Anforderung ausgeführt wurde. Im Allgemeinen werden Postprozessoren verwendet, um einige Werte aus der Antwort des Samplers abzurufen.

30. In welcher Reihenfolge werden die Elemente des JMeter-Testplans ausgeführt?

Die Reihenfolge der Ausführung der Elemente des Testplans ist wie folgt:

  1. Elemente der Konfiguration
  2. Präprozessoren
  3. Zeitschaltuhren
  4. Probenehmer
  5. Postprozessoren
  6. Ansprüche
  7. Hörer

31 Wie können wir JMeter im Nicht-UI-Modus ausführen?

Ein Befehl, um JMeter im Nicht-UI-Modus auszuführen.

jmeter -n -t test.jmx -l test.jtl

Wo

  • n gibt an, dass JMeter im Nicht-GUI-Modus ausgeführt werden soll
  • -t für die Testskriptdatei
  • -l für die jtl-Datei mit den Ergebnissen der einzelnen Proben

32. Wie können wir den Ressourcenbedarf in JMeter reduzieren?

Um die verfügbaren Ressourcen optimal zu nutzen, sollten die folgenden Verfahren in die Tests integriert werden

  • Um die Skripte auszuführen, verwenden Sie den Modus no UI : jmeter -n -t test.jmx -l test.jtl
  • Verwenden Sie so wenig Zuhörer wie möglich im Testplan.
  • Vermeiden Sie während des Stresstests die Verwendung der Listener „Ergebnisbaum anzeigen“ oder „Ergebnisse in Tabelle anzeigen“. Verwenden Sie sie nur während der Skripterstellungsphase, um Skripte zu debuggen.
  • Anstatt viele ähnliche Sampler zu verwenden, benutzen Sie denselben Sampler in einer Schleife. Verwenden Sie auch Variablen (mit CSV-Datensatz), um Stichproben zu ändern.
  • Verwenden Sie den JMeter Funktionsmodus nicht, wenn Sie Leistungstests durchführen.
  • Verwenden Sie die CSV-Ausgabe anstelle von XML, da dies viel einfacher ist.
  • Speichern Sie nur die Daten, die Sie benötigen.
  • Verwenden Sie während des Stresstests so wenige Assertions wie möglich.

33. Was ist die 90%-Zeile in JMeter?

Der zusammenfassende Bericht für Hörer enthält eine 90%-Linie als eine der Metriken. Im Apache JMeter-Handbuch wird die 90%-Zeile wie folgt beschrieben: „90% der Proben haben nicht länger als diese Zeit gedauert“. Es ist sogar das 90. Perzentil der Antwortzeiten von Stichproben.

90 Perzentil = (90/100)*N+1/2, wobei N die Anzahl der Stichproben ist

Wenn es also 10 Proben gibt, ist die 90%-Linie 9,5 oder 9. Es bedeutet 9. Wert in einer sortierten Liste von Proben (sortiert in aufsteigender Reihenfolge ihrer Antwortzeiten).

34. Was sind verteilte Lasttests? Wie kann dies in JMeter erreicht werden?

Verteilte Lasttests sind ein Verfahren, bei dem mehrere Systeme verwendet werden können, um die Belastung durch eine große Anzahl von Benutzern zu simulieren. Der Grund für die Verwendung mehrerer Systeme für Lasttests ist die Tatsache, dass ein einziges System nur eine große Anzahl von Threads (Benutzern) erzeugen kann.

In JMeter können wir verteilte Lasttests mit einer Master-Slave-Konfiguration durchführen.

35. Ist es möglich, Selenium-Skripte in JMeter auszuführen?

Ja, wir können Selenium Webdriver Skripte in JMeter mit dem WebDriver Set Plugin ausführen.