Tests de performance et de charge
"Un système peut être fonctionnel… et inutilisable s’il est trop lent."
Objectifs pédagogiques
À la fin de cette section, vous serez capable de :
- expliquer ce que sont les tests de performance et de charge
- distinguer les principaux types de tests de performance
- identifier les indicateurs clés à mesurer
- comprendre quand et pourquoi les réaliser
- illustrer ces tests à l’aide du fil rouge MyEvents
Définition
Les tests de performance et de charge visent à évaluer :
- la rapidité du système
- sa stabilité dans le temps
- sa capacité à supporter une charge croissante
- son comportement en situation de stress
👉 Contrairement aux tests fonctionnels,
ils ne vérifient pas ce que fait le système, mais comment il le fait.
Pourquoi sont-ils indispensables ?
Un système peut : - fonctionner correctement avec peu d’utilisateurs - devenir lent, instable ou inutilisable sous charge
Les tests de performance permettent de :
- détecter les goulots d’étranglement
- anticiper les pics de charge
- éviter les incidents en production
- garantir une expérience utilisateur acceptable
“Ils évaluent la rapidité, la stabilité et l'évolutivité de l'application en conditions normales ou extrêmes. Ils sont moins fréquents que les tests unitaires ou d'intégration”
Principaux types de tests de performance
Test de performance
- mesure les temps de réponse
- vérifie le respect des objectifs (SLA)
Exemples : - temps de chargement d’une page - temps de réponse d’une API
Test de charge
- évalue le comportement sous une charge normale ou attendue
- simule un nombre réaliste d’utilisateurs
Objectif :
vérifier que le système supporte l’utilisation prévue
Test de stress
- pousse le système au-delà de ses limites
- observe son comportement en cas de surcharge
Objectif : - identifier le point de rupture - vérifier la capacité de récupération
Test d’endurance (ou de longévité)
- exécute le système sur une longue durée
- détecte les problèmes de mémoire, de ressources, de stabilité
Indicateurs mesurés
Les tests de performance s’appuient sur des métriques objectives :
- temps de réponse
- débit (requêtes/seconde)
- taux d’erreur
- consommation CPU / mémoire
- temps de montée en charge
- stabilité dans le temps
Exemple fil rouge – MyEvents
Dans l’application MyEvents, les tests de performance sont critiques, notamment pour :
- l’achat de billets
- la consultation d’événements populaires
- l’envoi massif de notifications
Exemple de test de charge
Scénario : - 1 000 utilisateurs consultent un événement en même temps - 300 utilisateurs achètent un billet simultanément
Vérifications attendues :
- le temps de réponse reste acceptable
- aucun paiement n’est perdu
- le système reste stable
- aucune erreur critique n’apparaît
👉 Ces tests permettent d’anticiper les pics liés à un événement populaire.
Lien avec les autres types de test
Les tests de performance :
- complètent les tests fonctionnels
- s’appuient sur un environnement de test maîtrisé
- influencent la stratégie de test
- sont souvent automatisés
Ils sont généralement exécutés : - avant une mise en production - après une évolution majeure - lors de changements d’infrastructure
À retenir
- un système fonctionnel n’est pas forcément performant
- la performance se mesure, elle ne se devine pas
- ces tests réduisent les risques en production
- ils sont essentiels pour les systèmes à forte charge