Termes auxiliaires des tests de charge
Les tests de charge sont un aspect essentiel des tests de performance dans le développement de logiciels.
Il s’agit d’appliquer des charges de travail simulées à un système, une application ou un réseau afin d’observer son comportement dans des conditions normales et de pointe.
Ce processus permet d’identifier les goulets d’étranglement potentiels, d’assurer la stabilité des performances et d’améliorer l’expérience utilisateur globale.
Il est important de comprendre les définitions et terminologies clés liées aux tests de charge lorsque vous débutez dans les tests de charge.
Terminologie et définitions
Tests d’endurance
Les tests d’endurance, également connus sous le nom de tests d’imprégnation, consistent à faire fonctionner un système à une charge spécifique pendant une période prolongée afin d’identifier les problèmes de performance qui pourraient ne pas être évidents lors de tests à court terme.
Ce type de test permet de découvrir les fuites de mémoire, l’épuisement des ressources et d’autres problèmes susceptibles d’affecter la stabilité et les performances à long terme du système.
Test de pointe
Le Spike Testing est un sous-ensemble de tests de résistance qui consiste à soumettre votre système à des augmentations soudaines et extrêmes de la charge.
L’objectif est d’observer comment votre système gère les pics inattendus d’activité des utilisateurs et s’il peut maintenir les performances sans se bloquer ou se dégrader de manière significative.
Test de volume
Les tests de volume se concentrent sur la capacité de votre système à gérer de grands volumes de données.
Ce type de test évalue les performances de la base de données, le stockage des données et les temps d’extraction lorsqu’elle est soumise à une quantité importante de données.
Les tests de volume garantissent que votre système peut gérer et traiter efficacement de grands ensembles de données sans dégradation des performances.
Test d’évolutivité
Les tests d’évolutivité évaluent la capacité de votre système à augmenter ou à réduire la capacité en réponse aux modifications de la charge des utilisateurs ou du volume de données.
Ces tests permettent de déterminer si votre système peut gérer des charges de travail accrues en ajoutant des ressources (montée en charge) ou en répartissant la charge sur plusieurs serveurs (montée en charge).
Les tests d’évolutivité permettent de s’assurer que l’application peut évoluer avec la demande des utilisateurs.
Tests de base
Les tests de base consistent à mesurer les performances de votre système sous une charge prédéfinie et stable afin d’établir une base de référence de performances.
Cette base de référence sert de point de référence pour les futurs tests de charge et permet d’identifier les améliorations ou les régressions des performances.
Les tests de base sont essentiels pour suivre les tendances de performance au fil du temps.
débit
Le débit fait référence au nombre de transactions ou de demandes traitées par votre système au cours d’une période donnée.
Il est généralement mesuré en transactions par seconde (TPS) ou en requêtes par seconde (RPS).
Le débit est une mesure essentielle dans les tests de charge, car il indique la capacité de votre système à traiter efficacement les demandes des utilisateurs.
Latence
La latence est le temps nécessaire pour qu’une requête se déplace du client au serveur et inversement.
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 retards du réseau, le temps de traitement du serveur et d’autres facteurs.
temps de réponse
Le temps de réponse est le temps total écoulé entre le moment où un utilisateur envoie une demande et celui où votre système termine la réponse.
Il s’agit notamment de la latence et du temps nécessaire au serveur pour traiter la demande et générer une réponse.
Le temps de réponse est une mesure essentielle dans les tests de charge, reflétant l’expérience de l’utilisateur avec l’application.
Taux d’erreur
Le taux d’erreur est le pourcentage de demandes qui entraînent des erreurs lors des tests de charge.
Un taux d’erreur élevé peut indiquer des problèmes tels que des pannes de serveur, des délais d’expiration ou des bogues d’application.
La surveillance des taux d’erreur est essentielle pour identifier et résoudre les problèmes susceptibles d’affecter les performances et la fiabilité du système.
Concurrent Users
Les utilisateurs simultanés font référence au nombre d’utilisateurs qui interagissent simultanément avec votre système.
Dans les tests de charge, la simulation d’utilisateurs simultanés permet d’évaluer les performances de votre système dans des scénarios d’utilisation réalistes.
L’objectif est de s’assurer que l’application peut gérer le nombre attendu d’utilisateurs simultanés sans dégradation des performances.
Utilisateurs virtuels
Les utilisateurs virtuels (VU) 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 les performances de votre système dans différentes conditions.
Ils peuvent effectuer diverses actions, telles que la navigation, la recherche et l’achat, afin que vous puissiez simuler des modèles d’utilisation réels.
Générateur de charge
Load Generator est un outil ou un logiciel qui crée des utilisateurs virtuels et simule les interactions des utilisateurs avec votre système pendant les tests de charge.
Les générateurs de charge peuvent être répartis sur plusieurs machines pour générer de nombreux utilisateurs virtuels et une charge substantielle sur votre système.
Injecteur de charge
Un injecteur de charge est un composant d’une configuration de test de charge responsable de la génération de la charge sur votre système testé.
Il fonctionne avec le générateur de charge pour répartir la charge sur plusieurs injecteurs, garantissant ainsi une charge réaliste et distribuée sur votre système.
Les injecteurs de charge permettent d’obtenir une plus grande évolutivité et une simulation plus précise des interactions avec l’utilisateur.
Goulot
Un goulot d’étranglement est un point de votre système où les performances sont limitées, ce qui entraîne des temps de réponse plus lents ou un débit réduit.
L’identification et la résolution des goulets d’étranglement sont un aspect crucial des tests de charge, car ils peuvent avoir un impact significatif sur les performances globales de l’application.
Les goulots d’étranglement courants incluent le processeur, la mémoire, les E/S de 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 processeur, la mémoire, le disque et le réseau, lors des tests de charge.
La surveillance de l’utilisation des ressources permet d’identifier les problèmes de performances potentiels et d’optimiser votre système pour garantir une utilisation efficace des ressources.
Une utilisation élevée des ressources peut indiquer un besoin de mise à l’échelle ou d’optimisation de l’application.
Pensez au temps
Think Time est le délai simulé entre les actions consécutives d’un utilisateur virtuel pendant les tests de charge.
Il imite le temps qu’un utilisateur réel passerait à réfléchir ou à interagir avec l’application entre les actions.
Think Time permet de créer des scénarios de charge plus réalistes et de mieux comprendre les performances 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 effectuées 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 de votre système, en s’assurant qu’il reflète le comportement réaliste des utilisateurs.
Un rythme approprié est crucial pour une simulation précise des modèles d’utilisation dans le 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.
Dans les tests de charge, la sélection du protocole approprié (tel que HTTP, HTTPS, FTP ou SOAP) est essentielle pour simuler avec précision les interactions des utilisateurs avec votre système.
Différents protocoles peuvent avoir un impact sur les performances, et leur compréhension permet de concevoir des tests de charge efficaces.
Itération
Une itération dans les tests de charge fait référence à 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 la connexion, la navigation dans l’application et l’exécution des transactions.
Plusieurs itérations permettent de simuler l’activité continue de l’utilisateur et de fournir une évaluation complète des performances du système.
Transaction
Une transaction est une série d’actions connexes effectuées par un utilisateur qui sont regroupées pour mesurer leur performance collective.
Dans les tests de charge, les transactions permettent d’identifier des points spécifiques du parcours utilisateur qui peuvent être à l’origine de problèmes de performances.
Par exemple, une transaction de connexion peut inclure la saisie d’un nom d’utilisateur et d’un mot de passe, l’envoi du formulaire et la réception d’un message de confirmation.
Montée en puissance et descente
La montée en puissance est l’augmentation progressive du nombre d’utilisateurs virtuels ou de la charge sur votre système au cours de la phase initiale d’un test de charge.
Le Ramp-Down est la diminution progressive du nombre d’utilisateurs virtuels ou de la charge au cours de la phase finale du test.
La montée en puissance et la réduction permettent de simuler des scénarios du monde réel et d’éviter les pics soudains qui pourraient conduire à des résultats irréalistes.
Test Script
Un script de test est un ensemble d’instructions exécutées par des utilisateurs virtuels pendant les tests de charge.
Les scripts de test définissent les actions et les transactions effectuées par les utilisateurs virtuels, telles que la connexion, la recherche et les achats.
Des scripts de test bien conçus sont essentiels pour des tests de charge précis et des résultats de performance fiables.
SLA
Un accord de niveau de service (SLA) est un accord formel entre les fournisseurs de services et les clients qui définit le niveau de service attendu, y compris les mesures de performance telles que le temps de réponse, le débit et la disponibilité.
Les tests de charge permettent de s’assurer que votre système répond aux exigences SLA et offre une expérience utilisateur satisfaisante.
Surveillance et analyse
La surveillance et l’analyse impliquent le suivi des mesures de performance du système, telles que les temps de réponse, le débit et l’utilisation des ressources pendant les tests de charge.
L’analyse de ces mesures permet d’identifier les problèmes de performances, de comprendre le comportement du système et d’optimiser l’application.
Une surveillance et une analyse efficaces sont cruciales pour la réussite des tests de charge.
conclusion
Les tests de charge sont une pratique essentielle pour garantir les performances et la fiabilité des applications logicielles.
Comprendre les définitions et terminologies clés liées aux tests de charge vous permet de concevoir et d’exécuter des tests de charge efficaces, d’identifier les problèmes de performances et d’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 de vos utilisateurs et fonctionnent bien dans des conditions de charge variables.
Niveau suivant
Découvrez des fonctionnalités inégalées avec une évolutivité illimitée. Pas de carte de crédit, pas de contrat.