Termes auxiliaires des tests de charge
Les tests de charge sont un aspect essentiel des tests de performance en développement logiciel. Ils consistent à appliquer des charges simulées à un système, une application ou un réseau afin d’observer son comportement dans des conditions normales et maximales. Ce processus aide à identifier les goulets d’étranglement potentiels, à garantir la stabilité des performances et à améliorer l’expérience utilisateur globale.
Comprendre les définitions et terminologies clés liées aux tests de charge est important lorsque vous débutez avec ces tests.
Terminologie et Définitions
Test d’Endurance
Le test d’endurance, également appelé test de résistance, consiste à faire fonctionner un système à une charge spécifique pendant une période prolongée afin d’identifier des problèmes de performance qui pourraient ne pas être évidents lors de tests à court terme. Ce type de test permet de détecter les fuites de mémoire, l’épuisement des ressources et d’autres problèmes qui peuvent affecter la stabilité et la performance à long terme du système.
Test de Pointe
Le test de pointe est une sous-catégorie des tests de stress qui consiste à soumettre votre système à des augmentations soudaines et extrêmes de charge. Le but est d’observer comment votre système gère des pics inattendus d’activité utilisateur et s’il peut maintenir ses performances sans planter ou se dégrader de manière significative.
Test de Volume
Le test de volume se concentre sur la capacité de votre système à gérer de grandes quantités de données. Ce type de test évalue la performance de la base de données, le stockage des données et les temps de récupération lorsqu’il est soumis à une importante quantité de données. Le test de volume garantit que votre système peut gérer et traiter efficacement de grands ensembles de données sans dégradation des performances.
Test de Scalabilité
Le test de scalabilité évalue la capacité de votre système à monter ou descendre en charge en réponse aux variations de la charge utilisateur ou du volume de données. Ce test permet de déterminer si votre système peut gérer des charges accrues en ajoutant des ressources (scalabilité verticale) ou en répartissant la charge sur plusieurs serveurs (scalabilité horizontale). Le test de scalabilité garantit que l’application peut croître en fonction de la demande des utilisateurs.
Test de Référence
Le test de référence consiste à mesurer la performance de votre système sous une charge stable et prédéfinie afin d’établir une base de référence de performance. Cette base sert de point de comparaison pour les futurs tests de charge et aide à identifier les améliorations ou dégradations de la performance. Le test de référence est essentiel pour suivre l’évolution des performances dans le temps.
Débit
Le débit se réfère au nombre de transactions ou de requêtes traitées par votre système sur une période donnée. Il est généralement mesuré en transactions par seconde (TPS) ou requêtes par seconde (RPS). Le débit est une mesure critique dans les tests de charge, car il indique la capacité de votre système à gérer efficacement les demandes des utilisateurs.
Latence
La latence est le temps nécessaire pour qu’une requête voyage du client au serveur et retourne au client. C’est un facteur important dans les tests de charge car une latence élevée peut entraîner une mauvaise expérience utilisateur. La latence est généralement mesurée en millisecondes (ms) et peut être affectée par les délais réseau, le temps de traitement serveur et d’autres facteurs.
Temps de Réponse
Le temps de réponse est la durée totale écoulée depuis le moment où un utilisateur envoie une requête jusqu’à ce que votre système complète la réponse. Il inclut la latence ainsi que le temps nécessaire au serveur pour traiter la requête et générer une réponse. Le temps de réponse est une métrique vitale dans les tests de charge, reflétant l’expérience utilisateur avec l’application.
Taux d’Erreur
Le taux d’erreur est le pourcentage de requêtes qui aboutissent à des erreurs durant les tests de charge. Un taux d’erreur élevé peut indiquer des problèmes tels que des plantages serveur, des délais d’attente ou des bugs d’application. La surveillance des taux d’erreur est essentielle pour identifier et résoudre les problèmes qui pourraient impacter la performance et la fiabilité du système.
Utilisateurs Concurrents
Les utilisateurs concurrents désignent le nombre d’utilisateurs interagissant simultanément avec votre système. Lors des tests de charge, la simulation d’utilisateurs concurrents permet d’évaluer les performances de votre système dans des scénarios d’utilisation réalistes. L’objectif est de garantir que l’application puisse gérer le nombre attendu d’utilisateurs simultanés sans dégradation des performances.
Utilisateurs Virtuels
Les utilisateurs virtuels (UV) sont des utilisateurs simulés générés par des outils de test de charge pour imiter le comportement réel des utilisateurs. Les utilisateurs virtuels sont importants pour créer des scénarios de charge réalistes et mesurer la performance de votre système dans différentes conditions. Ils peuvent effectuer diverses actions, telles que naviguer, rechercher et effectuer des achats, afin que vous puissiez simuler des modèles d’utilisation du monde réel.
Générateur de Charge
Le générateur de charge est un outil ou un logiciel qui crée des utilisateurs virtuels et simule les interactions des utilisateurs avec votre système lors des tests de charge. Les générateurs de charge peuvent être répartis sur plusieurs machines pour générer un grand nombre d’utilisateurs virtuels et une charge importante sur votre système.
Injecteur de Charge
Un injecteur de charge est un composant d’une configuration de test de charge responsable de générer la charge sur votre système testé. Il travaille avec le générateur de charge pour répartir la charge entre plusieurs injecteurs, assurant une charge réaliste et distribuée sur votre système. Les injecteurs de charge aident à atteindre une meilleure scalabilité et une simulation plus précise des interactions utilisateurs.
Goulet d’Étranglement
Un goulet d’étranglement est un point dans votre système où la performance est limitée, entraînant des temps de réponse plus longs ou un débit réduit. Identifier et résoudre les goulets d’étranglement est un aspect crucial des tests de charge, car ils peuvent impacter significativement la performance globale de l’application. Les goulets d’étranglement courants incluent le CPU, la mémoire, les accès disque et la bande passante réseau.
Utilisation des Ressources
L’utilisation des ressources fait référence à la consommation des ressources système, telles que le CPU, la mémoire, le disque et le réseau, durant les tests de charge. Surveiller l’utilisation des ressources aide à identifier les problèmes de performance potentiels et à optimiser votre système pour assurer une utilisation efficace des ressources. Une utilisation élevée des ressources peut indiquer la nécessité de scaler ou d’optimiser l’application.
Temps de Réflexion
Le temps de réflexion est le délai simulé entre les actions consécutives d’un utilisateur virtuel pendant les tests de charge. Il imite le temps que passerait un utilisateur réel à réfléchir ou interagir avec l’application entre les actions. Le temps de réflexion aide à créer des scénarios de charge plus réalistes et fournit une meilleure compréhension de la performance de votre système dans des conditions d’utilisation typiques.
Rythme
Le rythme est l’intervalle entre les itérations d’un script de test exécuté par un utilisateur virtuel. Il contrôle la fréquence à laquelle les utilisateurs virtuels exécutent leurs actions. En ajustant le rythme, vos équipes de test peuvent contrôler la charge sur votre système, garantissant qu’elle reflète un comportement utilisateur réaliste. Un rythme approprié est crucial pour une simulation précise des patrons d’utilisation du monde réel.
Protocole
Le protocole fait référence à l’ensemble des règles qui régissent la communication entre les clients et les serveurs. Lors des tests de charge, choisir le protocole approprié (tel que HTTP, HTTPS, FTP ou SOAP) est essentiel pour simuler avec précision les interactions utilisateurs avec votre système. Différents protocoles peuvent influencer la performance, et les comprendre aide à concevoir des tests de charge efficaces.
Itération
Une itération dans les tests de charge correspond à une exécution unique d’un script de test par un utilisateur virtuel. Chaque itération implique l’exécution d’une série d’actions définies dans le script de test, telles que l’identification, la navigation dans l’application et la réalisation de transactions. Plusieurs itérations permettent de simuler une activité utilisateur continue et fournissent une évaluation complète des performances du système.
Transaction
Une transaction est une série d’actions liées effectuées par un utilisateur, regroupées pour mesurer leur performance collective. Dans les tests de charge, les transactions aident à identifier des points spécifiques dans le parcours utilisateur qui peuvent causer des problèmes de performance. Par exemple, une transaction de connexion pourrait inclure la saisie du nom d’utilisateur et du mot de passe, la soumission du formulaire et la réception d’un message de confirmation.
Montée en Charge et Descente en Charge
La montée en charge est l’augmentation progressive du nombre d’utilisateurs virtuels ou de la charge sur votre système durant la phase initiale d’un test de charge. La descente en charge est la diminution progressive du nombre d’utilisateurs virtuels ou de la charge durant la phase finale du test. La montée et la descente en charge permettent de simuler des scénarios réels et d’éviter des pics soudains qui pourraient conduire à des résultats irréalistes.
Script de Test
Un script de test est un ensemble d’instructions exécutées par les utilisateurs virtuels durant les tests de charge. Les scripts de test définissent les actions et transactions effectuées par les utilisateurs virtuels, telles que la connexion, la recherche et les achats. Des scripts bien conçus sont cruciaux pour des tests de charge précis et des résultats de performance fiables.
SLAs
Un accord de niveau de service (SLA) est un accord formel entre les fournisseurs de services et les clients définissant le niveau de service attendu, y compris les indicateurs de performance tels que le temps de réponse, le débit et la disponibilité. Les tests de charge aident à garantir que votre système respecte les exigences du SLA et offre une expérience utilisateur satisfaisante.
Suivi et Analyse
Le suivi et l’analyse consistent à surveiller les métriques de performance du système, telles que les temps de réponse, le débit et l’utilisation des ressources durant les tests de charge. L’analyse de ces métriques aide à identifier les problèmes de performance, comprendre le comportement du système et optimiser l’application. Un suivi et une analyse efficaces sont essentiels pour la réussite des tests de charge.
Conclusion
Les tests de charge sont une pratique essentielle pour garantir la performance et la fiabilité des applications logicielles. Comprendre les définitions et terminologies clés liées aux tests de charge vous aide à concevoir et exécuter des tests efficaces, identifier les problèmes de performance et optimiser vos applications pour une meilleure expérience utilisateur. En maîtrisant ces concepts, vos équipes peuvent construire des systèmes robustes qui répondent aux attentes des utilisateurs et fonctionnent bien sous différentes conditions de charge.
Passez vos tests de charge au niveau supérieur
l’étape suivante
Découvrez des fonctionnalités incomparables avec une scalabilité illimitée. Pas de carte de crédit, pas de contrat.