Jmeter : questions d’entretien

Jmeter : questions d’entretien
MIN
29 Fév 2024

Préparez votre entretien avec JMeter grâce à notre liste complète de questions d’entretien pour JMeter. Ces questions s’adressent aux débutants et aux plus expérimentés.

1) Qu’est-ce qu’un test de performance ?

Le test de performance est un type de test non fonctionnel qui évalue la performance d’une application sous une charge prévue ou plus élevée. Il est effectué avant le déploiement de l’application en production afin de s’assurer que l’application ne tombe pas en panne et qu’elle répond dans un délai standard/acceptable sous une charge réaliste.

2. Quels sont les différents types de techniques de test de performance ?

Les différents types de tests de performance sont les suivants :

  • Test de charge – un type de test de performance visant à mesurer le comportement d’une application sous une charge attendue.
  • Test de stress – Évaluation du comportement d’une application sous des charges supérieures au seuil de l’application ou aux conditions de charge maximale.
  • Test d’endurance – Test d’une application dans le cadre d’un test de charge à long terme, généralement utilisé pour détecter les fuites de mémoire dans une application.
  • Spike Testing – Évaluation du comportement d’une application lorsque le nombre d’utilisateurs augmente soudainement par rapport à la normale.
  • Test de volume – Test d’une application avec de grandes quantités de données, par exemple, test typique avec de grands enregistrements de données dans une base de données.

3. Quelles sont les activités réalisées lors des tests de performance d’une application ?

Les activités réalisées au cours des tests de performance sont les suivantes

  1. Collecte et analyse des exigences pour les tests de performance – Dans cette phase, tous les détails de l’application sont recueillis auprès du client et des autres parties prenantes de l’application.
  2. Sélection des outils de test – Cette phase implique la sélection des outils pour les tests de performance.
  3. Planification des tests de performance – La phase de planification des tests comprend la planification de l’ensemble du processus de test de performance, la mise en place de l’infrastructure et de l’environnement, les scénarios de cas d’utilisation à scénariser, etc.
  4. Mise en œuvre des scripts de test – Dans cette phase, les scripts de test de performance sont créés à l’aide de l’outil sélectionné dans les phases précédentes.
  5. Exécution du test de performance – Dans cette phase, le script de test est exécuté pendant une période prédéterminée, spécifiée dans la phase de planification.
  6. Analyse des résultats des tests – La phase d’analyse des résultats implique la consolidation des résultats des tests. En outre, il permet de déterminer divers attributs de performance de l’application et d’identifier les goulets d’étranglement en matière de performance.

4. Qu’est-ce que JMeter ?

JMeter est un outil de test de performance open-source développé en Java. Il peut être utilisé pour tester les performances des applications web, des services web (SOAP et Rest), du serveur FTP, des bases de données, du serveur LDAP, etc.

5. Pourquoi choisir JMeter pour les tests de performance ?

Les avantages de l’utilisation de JMeter pour les tests de performance sont les suivants :

  • Il peut être utilisé gratuitement, sans coût de licence.
  • Il s’agit d’un logiciel libre. En d’autres termes, chacun peut l’adapter à son usage spécifique.
  • L’outil JMeter bénéficie d’une bonne assistance communautaire en ligne et de tutoriels.
  • Permet de tester les performances d’un large éventail d’applications. Par exemple, les sites web, les services web FTP et les bases de données.
  • Il est facile à apprendre et à utiliser.

6. Expliquez le fonctionnement interne de l’outil JMeter.

JMeter simule la charge réelle de l’utilisateur en créant plusieurs threads qui exécutent des requêtes simultanées vers le serveur cible. Il affiche ensuite les performances du serveur sous forme de tableaux et de graphiques.

7. JMeter simule-t-il un véritable navigateur ?

Non, l’outil JMeter ne simule pas ou ne fonctionne pas comme un véritable navigateur. Impossible de rendre la réponse HTML comme un vrai navigateur.

8. Quelles sont les caractéristiques de JMeter ?

Voici quelques-unes des caractéristiques de JMeter :

  1. JMeter est 100% basé sur Java. Il présente donc tous les avantages des applications basées sur Java, tels que la portabilité, l’extensibilité, la robustesse, etc.
  2. Il dispose d’une fonction d’enregistrement et de lecture qui permet de créer facilement et rapidement des scripts de test.
  3. JMeter propose différents récepteurs pour capturer et analyser les résultats des tests sous forme de tableaux et de graphiques.
  4. Il peut être utilisé pour tester la charge de divers protocoles – HTTP, HTTPS, FTP, LDAP, TCP, etc.

9. Comment enregistrer des scripts de test de performance dans JMeter ?

JMeter dispose d’un enregistreur de script de test HTTP(S) que nous pouvons utiliser pour effectuer des opérations dans le navigateur, et les requêtes HTTP sont enregistrées dans JMeter.

10. Faut-il apprendre à coder pour créer des scripts dans JMeter ?

La création de scripts dans JMeter est un peu différente de la création automatisée de scripts habituelle. Dans la plupart des cas, le script peut être créé par téléchargement ou en utilisant l’interface utilisateur JMeter. Vient ensuite le paramétrage des essais, la corrélation et la configuration des différents paramètres d’essai.

Dans cette optique, certains scénarios nécessitent un codage, qui peut être réalisé à l’aide de scripts Beanshell.

11. JMeter est basé sur Java. Peut-on l’utiliser pour tester les performances d’applications mises en œuvre sur d’autres plates-formes/langages tels que .Net ?

Oui, nous pouvons utiliser JMeter pour tester des applications web conçues dans d’autres langues et sur d’autres plateformes.

12. Quels types d’applications peuvent être testés avec JMeter ?

Les différents types d’applications qui peuvent être testés à l’aide de JMeter sont les suivants :

  • Site web
  • Services Web – REST et SOAP
  • Bases de données (JDBC)
  • Scripts Shell
  • FTP
  • LDAP
  • TCP
  • SMTP, POP3, IMAP

13. Expliquez le paramétrage dans JMeter

Le paramétrage est le processus de paramétrage de l’entrée utilisateur ou d’autres entrées de test. Ainsi, différentes valeurs sont utilisées pour différents utilisateurs et itérations de la boucle. Par exemple, un fichier CSV externe contenant plusieurs identifiants peut être créé, puis transmis au script de test de résistance afin de récupérer différents identifiants pour chaque itération.

14. Qu’est-ce que la corrélation ?

La corrélation est l’aspect le plus important de l’écriture de scripts dans JMeter. Elle consiste à récupérer des données dynamiques à partir de requêtes/invocations précédentes et à les transmettre aux requêtes suivantes en tant que paramètres. Par exemple, nous pouvons récupérer les valeurs des variables de session à partir d’une réponse à une requête contenant des informations d’identification, puis transmettre ces valeurs aux requêtes suivantes (et donc traiter la session). [

15. Qu’est-ce qu’un plan de test ?

Un plan de test dans JMeter est un conteneur logique qui contient tous les éléments de test qui composent un test de performance. Parmi les différents éléments du plan de test, citons le groupe de threads, les échantillonneurs, les temporisateurs, les assertions, les auditeurs, etc.

16. Qu’est-ce que le Workbench ?

Dans JMeter, le banc de travail est une zone temporaire de stockage des éléments de test. Il comprend également des fonctionnalités non liées aux tests, telles qu’un serveur proxy HTTP qui peut être configuré pour télécharger des scripts par l’intermédiaire du navigateur dans JMeter. Tout élément placé dans l’espace de travail ne sera pas sauvegardé lors de l’enregistrement avec le script du plan de test JMX.

17. Qu’est-ce qu’un groupe de discussion dans JMeter ?

Un groupe de threads est un élément du plan de test JMeter qui représente un groupe d’utilisateurs virtuels effectuant un ensemble d’opérations.

18. Qu’est-ce qu’un fragment de test dans JMeter ?

Un extrait de test est un type spécial de contrôleur dans JMeter dont le seul but est de permettre la réutilisation du code dans un plan de test. C’est comme un groupe de fils. Cependant, il ne s’exécutera pas s’il n’est pas référencé par Module Controller ou Include_Controller.

Question.19. Qu’est-ce que la période de constitution de réserves ?

Au début d’un test de charge d’application, au lieu de mettre tous les utilisateurs en service, nous augmentons lentement le nombre d’utilisateurs afin d’examiner leur impact sur les performances de l’application. Dans JMeter, la période de montée en puissance définit la durée pendant laquelle tous les utilisateurs spécifiés atteindront l’état de démarrage.

20. Que sont les échantillonneurs dans JMeter ?

R : Les échantillonneurs de JMeter sont utilisés pour envoyer différents types de demandes au serveur. Parmi les échantillonneurs couramment utilisés, citons les demandes HTTP, les demandes JDBC, les demandes SOAP-XML, les demandes JUnit, les échantillonneurs TCP, etc.

21) Que sont les listeners dans JMeter ? Citez quelques-uns des auditeurs les plus couramment utilisés.

Les écouteurs sont utilisés pour afficher et stocker les résultats des tests, ainsi que pour aider à l’analyse tabulaire et graphique de ces résultats. Parmi les auditeurs les plus couramment utilisés, citons le rapport agrégé, le graphique agrégé, le graphique des résultats, l’arbre des résultats, etc.

22) Qu’est-ce qu’un fichier JTL dans JMeter ?

Dans JMeter, les résultats des tests sont stockés sous forme de fichiers JTL. JTL est l’abréviation de JMeter Test Logs.

23. Quels sont les différents timers dans JMeter ?

Les minuteurs sont utilisés pour arrêter l’exécution d’un test de thread pendant un certain temps prédéfini. En outre, ces minuteurs sont utilisés pour simuler le temps de réflexion d’un utilisateur réel. Les différents types de timers disponibles dans JMeter sont les suivants : timer constant, timer aléatoire gaussien, timer aléatoire uniforme, timer à débit constant, timer de synchronisation, timer Beanshell, timer BSF, etc.

24) Quelle est la différence entre une minuterie aléatoire gaussienne et une minuterie aléatoire de Poisson ?

Les temporisateurs aléatoires :Gaussien et Poisson sont tous deux utilisés pour interrompre l’exécution d’un test pendant une période de temps aléatoire, mais pour fermer une valeur particulière. La différence entre eux réside dans leurs algorithmes de mise en œuvre de base pour générer des valeurs aléatoires.

25. qu’est-ce que le point de rendez-vous ?

Le point de rendez-vous dans JMeter est utilisé pour effectuer des tests de pointe. Elle est mise en œuvre à l’aide d’un « minuteur de synchronisation » en attendant que le nombre d’utilisateurs actifs atteigne une certaine valeur spécifiée pendant le test de charge.

26. que sont les assertions dans JMeter ? Expliquez les réclamations disponibles dans JMeter.

Les assertions dans JMeter sont utilisées pour valider certaines valeurs en réponse aux demandes de l’échantillonneur. Les assertions couramment utilisées sont les suivantes : assertion de réponse, assertion de taille, assertion XML, assertion BeanShell, assertion HTML, assertion XPath, etc.

27. À quoi servent les éléments de configuration ?

Les éléments de configuration sont utilisés pour personnaliser les exigences de l’échantillonneur, par exemple CSV Data Set Config peut être utilisé pour paramétrer les requêtes de l’échantillonneur avec des valeurs obtenues à partir d’un fichier CSV externe.

28) Qu’est-ce qu’un préprocesseur ?

Les préprocesseurs sont des éléments du plan de test qui sont exécutés avant l’exécution de la demande d’échantillonnage. Parmi les préprocesseurs couramment utilisés dans JMeter, citons le préprocesseur BeanShell, l’analyseur de liens HTML, le modificateur de réécriture d’URL HTTP, les paramètres utilisateur RegEx, etc.

29) Qu’est-ce qu’un postprocesseur ?

Les post-processeurs sont des éléments du plan de test qui sont exécutés après l’exécution de la demande de l’échantillonneur. En général, les post-processeurs sont utilisés pour récupérer certaines valeurs de la réponse de l’échantillonneur.

30. Quel est l’ordre d’exécution des éléments du plan de test JMeter ?

L’ordre d’exécution des éléments du plan de test est le suivant :

  1. Éléments de configuration
  2. Préprocesseurs
  3. Minuteries
  4. Échantillonneurs
  5. Post-processeurs
  6. Réclamations
  7. Les auditeurs

31. comment faire fonctionner JMeter en mode non-UI ?

Une commande pour exécuter JMeter en mode non-UI.

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

  • n spécifie que JMeter sera exécuté en mode non-GUI
  • -t pour le fichier de script de test
  • -l pour le fichier jtl contenant les résultats de chaque échantillon

32. Comment réduire les besoins en ressources dans JMeter ?

Afin d’utiliser au mieux les ressources disponibles, et à titre de pratique générale, les procédures suivantes devraient être incorporées dans les tests…

  • Pour exécuter les scripts, utilisez le mode no UI : jmeter -n -t test.jmx -l test.jtl
  • Utilisez le moins d’auditeurs possible dans le plan de test.
  • Évitez d’utiliser les auditeurs « View Results Tree » ou « View Results in Table » pendant le test de résistance. Utilisez-les uniquement pendant la phase d’écriture des scripts pour les déboguer.
  • Plutôt que d’utiliser plusieurs échantillonneurs similaires, utilisez le même échantillonneur dans une boucle. Utilisez également des variables (à l’aide de l’ensemble de données CSV) pour modifier les échantillons.
  • N’utilisez pas le mode fonctionnel de JMeter lorsque vous effectuez des tests de performance.
  • Utilisez la sortie CSV plutôt que XML car elle est beaucoup plus facile.
  • Ne stockez que les données dont vous avez besoin.
  • Utilisez aussi peu d’assertions que possible pendant le test de résistance.

33. Qu’est-ce que la ligne 90% dans JMeter ?

Le rapport de synthèse de l’auditeur contient une ligne à 90 % comme l’une des mesures. Dans le manuel Apache JMeter, la ligne 90% est décrite comme suit : « 90% des échantillons n’ont pas duré plus longtemps que ce temps ». En fait, il s’agit du 90e percentile des temps de réponse de l’échantillon.

percentile 90 = (90/100)*N+1/2, où N est le nombre d’échantillons

Ainsi, s’il y a 10 échantillons, la ligne des 90 % sera de 9,5 ou 9. Cela signifie 9. dans une liste triée d’échantillons (triés par ordre croissant de leur temps de réponse).

34. Qu’est-ce qu’un test de charge distribué ? Comment peut-on y parvenir avec JMeter ?

Le test de charge distribué est un processus par lequel plusieurs systèmes peuvent être utilisés pour simuler la charge d’un grand nombre d’utilisateurs. L’utilisation de plusieurs systèmes pour les tests de charge s’explique par le fait qu’un seul système ne peut pas générer un grand nombre de threads (utilisateurs).

Dans JMeter, nous pouvons effectuer des tests de charge distribués en utilisant une configuration maître-esclave.

35. Est-il possible d’exécuter des scripts Selenium dans JMeter ?

Oui, nous pouvons exécuter des scripts Selenium Webdriver dans JMeter en utilisant le plugin WebDriver Set.