Test de charge : temps de réflexion, rythmes et délais



Qu’est-ce que le Think Time dans les tests de performance ?

Le think time dans les tests de charge fait référence au délai ou à la pause simulée entre des actions utilisateur consécutives lors d’un test de performance. Il représente le temps qu’un utilisateur passe à réfléchir, lire ou être autrement inactif après avoir effectué une action et avant d’en initier une autre. Le think time est introduit dans les scénarios de test pour les rendre plus réalistes et pour imiter le comportement naturel des utilisateurs réels interagissant avec l’application.

Par exemple, considérez un scénario d’application web e-commerce où un utilisateur sélectionne une vignette produit. Ensuite, il navigue vers la page de présentation du produit et prend un certain temps pour consulter et lire le contenu de cette page avant de finalement cliquer sur le bouton “Ajouter au Panier”. La durée écoulée entre le clic sur la vignette produit et le clic sur “Ajouter au Panier” est appelée think time.

Quand on pense aux tests de charge, on imagine souvent de nombreux utilisateurs bombardant un site ou une API en même temps. Bien que cela fasse partie de l’histoire, le think time est tout aussi important. Il aide à simuler les parcours utilisateurs réels comme la navigation pour rechercher des produits, la connexion à des comptes ou la finalisation d’achats. Chaque action a sa pause naturelle, et prendre cela en compte dans vos tests garantit que votre application est prête pour le comportement utilisateur réel.

Avantages du Think Time

  • Réalité : Inclure le think time reproduit le comportement naturel des utilisateurs qui n’interagissent pas de manière continue avec un système. Cela renforce le réalisme des scénarios de tests de charge, les rendant plus représentatifs des expériences réelles des utilisateurs.
  • Précision de la simulation utilisateur : Le think time aide à simuler avec précision le comportement utilisateur pendant le processus de test. Les utilisateurs passent typiquement du temps à lire le contenu, prendre des décisions ou réfléchir à leurs actions, et le think time permet de simuler ces pauses naturelles.
  • Performance : Le Think Time libère des ressources sur la machine du serveur d’exécution entre les requêtes. Cela permet aux autres utilisateurs virtuels (VU) sur le serveur d’exécution d’envoyer leurs requêtes, empêchant ainsi que la machine du serveur d’exécution rencontre des contraintes d’entrée/sortie.
  • Amélioration du dépannage : Les scénarios réalistes avec think time aident à détecter les goulets d’étranglement en matière de performance qui peuvent ne pas être apparents dans des scénarios sans pauses. Ils permettent de révéler des problèmes liés aux sessions utilisateur, à la gestion des sessions et à la réactivité globale du système.

Quand utiliser les temps de réflexion (Think Time)

Intégrer des temps de réflexion dans vos tests de charge peut être difficile car chaque utilisateur est différent. Heureusement, les temps de réflexion peuvent être flexibles et vous devez considérer une plage pour vos valeurs de think time. Par exemple, certains utilisateurs peuvent mettre plus de temps à lire ou à saisir des données dans un formulaire que d’autres.

Vous souhaiterez intégrer le think time entre ces actions pour mieux reproduire la durée entre le moment où une personne reçoit une réponse de votre serveur et le moment où elle demande une nouvelle page. Votre think time dépendra de vos scénarios utilisateurs, et vous devriez déterminer vos plages de valeurs en utilisant des données issues de votre site web ou application. Vous devrez déterminer le temps médian que les utilisateurs passent sur vos pages.

 

Qu’est-ce que le Pacing dans les tests de performance ?

Le pacing est utilisé dans les tests de charge pour s’assurer que le test est réalisé au taux prévu de transactions par seconde. C’est l’intervalle de temps entre chaque itération complète du flux métier. Cela aide à réguler le nombre de requêtes envoyées au serveur par seconde.

 

L’importance d’introduire des délais dans les tests de charge

Tester la performance de l’application avant son déploiement généralisé aide à prévenir des désagréments potentiels pour les utilisateurs finaux, comme les timeouts, les réponses lentes des pages et les interruptions de service. Pour garantir des résultats de test réalistes et détecter tout problème, il est essentiel d’incorporer le think time et le pacing dans la conception de nos scénarios de test.

Par exemple, lorsque nous introduisons un think time entre chaque action utilisateur concurrente, le serveur utilise ce délai pour traiter les tâches en attente dans la file. Il exécute la tâche suivante avant de revenir à la précédente. Cela reflète de près le scénario typique en production avec de vrais utilisateurs. En outre, l’intégration du think time prolonge le temps passé par l’utilisateur sur l’application, révélant tout problème lié à la capacité du serveur à gérer efficacement les utilisateurs concurrents.

Calcul des délais pour tester les applications

Le nombre d’utilisateurs virtuels concurrents, les délais et les transactions par seconde (TPS) varient selon chaque application. Pour calculer quels doivent être les délais pour votre application, vous pouvez utiliser la formule ci-dessous :

  • Durée du test de charge (en secondes) * (TPS + Délais) * Nombre d’utilisateurs concurrents = Total des transactions

Par exemple, prenons la génération de 100 000 transactions avec un temps de réponse de 5 secondes chacune lors d’un test de 10 minutes (600 secondes). Pour déterminer le nombre d’utilisateurs concurrents requis avec un think time de 3 secondes, utilisez la formule : 100 000 / (8 * 10 * 60), ce qui donne environ 21 utilisateurs. Cette approche aide à identifier les délais nécessaires et le nombre d’utilisateurs pour des tests de charge efficaces.

Mise en place des délais dans les tests de charge avec LoadView

LoadView vous propose l’EveryStep Web Recorder qui facilite la création de scénarios de test en enregistrant les actions utilisateur dans un navigateur. Il reproduit fidèlement les étapes de l’utilisateur, capturant des points de données tels que les sélecteurs, actions et délais. Lors de la création de votre scénario de test, il est essentiel d’émuler votre parcours utilisateur authentique, incluant les délais de think time. Après l’enregistrement, l’outil génère un script qui peut être relancé avec le nombre spécifié d’utilisateurs concurrents. Le script est personnalisable, permettant aux utilisateurs de modifier et mettre à jour les délais pour chaque étape selon les besoins de test, comme illustré sur l’image ci-dessous. En savoir plus sur comment éditer les scripts EveryStep Web Recorder.

L’approche optimale pour obtenir des résultats précis dans un test de charge consiste à créer un script qui simule de vraies interactions utilisateur avec l’application et capture le parcours utilisateur.

Add Delays to Script

Avec LoadView, vous aurez également la possibilité de modifier le comportement des utilisateurs lors des tests de charge. Comme vous pouvez le voir sur l’image ci-dessous, vous pouvez choisir entre Délai Normal ou Délai Personnalisé pour définir des comportements et délais utilisateur spécifiques pour vos applications.

Adjust User Behavior

Conclusion : Think Time, Pacing et Délais

Réaliser des tests de performance sur votre application est crucial avant son déploiement en production. L’efficacité de ce processus pour identifier les problèmes de performance repose sur le respect des meilleures pratiques et la conception de scénarios de test englobant les actions réelles des utilisateurs dans votre application.

Cet article a exploré l’importance du think time, du pacing et des délais dans les tests de charge. En incorporant ces éléments dans vos designs de tests de charge, vous pouvez détecter des problèmes tels que les timeouts de page, les réponses lentes, les écarts de temps de réponse et les erreurs serveur bien à l’avance, même sous des charges élevées. Adopter ces stratégies contribue à développer des applications et sites web réactifs et fiables. LoadView peut vous aider à rationaliser ce processus et vous pouvez facilement intégrer think time, pacing et délais dans vos scénarios de test de charge pour tirer le meilleur parti de vos efforts de test. Lorsque vous vous inscrivez à LoadView aujourd’hui, vous bénéficiez de tous les avantages du test de charge que la plateforme offre, et vous pouvez réaliser vos premiers tests initiaux gratuitement !

Passez votre test d’utilisateurs simultanés au
niveau supérieur

Découvrez des fonctionnalités inégalées avec une évolutivité illimitée. Pas de carte de crédit, pas de contrat.