Qu'est-ce que les tests d'endurance dans les tests de logiciels ? (avec exemple)
⚡ Résumé intelligent
Les tests d'endurance consistent à exécuter une application sous une charge normale prévue pendant une période prolongée afin de déterminer si ses performances se dégradent avec le temps. Ce type de test permet de détecter les défauts qu'un test de charge d'une heure ne peut pas déceler.
Qu’est-ce que les tests d’endurance ?
Test d'endurance Il s'agit d'un type de test logiciel non fonctionnel dans lequel un logiciel est testé avec une charge élevée prolongée sur une période de temps significative pour évaluer le comportement d'une application logicielle dans le cadre d'une utilisation soutenue. L'objectif principal des tests d'endurance est de garantir que l'application est suffisamment capable de gérer une charge prolongée sans aucune détérioration du temps de réponse.
Ce type de test est effectué à la dernière étape du cycle d'exécution des performances. Les tests d’endurance sont un processus long et durent parfois jusqu’à un an. Cela peut inclure l'application de charges externes telles que le trafic Internet ou les actions des utilisateurs. Cela différencie les tests d'endurance des test de charge, qui se termine généralement dans quelques heures environ.
L'endurance signifie la capacité, donc en d'autres termes, vous pouvez qualifier les tests d'endurance de tests de capacité.
Objectifs des tests d'endurance
- L'objectif principal des tests d'endurance est de vérifier les fuites de mémoire.
- Pour découvrir comment le système fonctionne dans des conditions d'utilisation soutenue.
- Pour garantir qu'après une longue période, le temps de réponse du système restera identique ou meilleur qu'au début du test.
- Déterminer le nombre d'utilisateurs et/ou de transactions qu'un système donné prendra en charge et atteindra les objectifs de performances.
- Pour gérer les charges futures, nous devons comprendre combien de ressources supplémentaires (telles que la capacité du processeur, la capacité du disque, l'utilisation de la mémoire ou la bande passante du réseau) sont nécessaires pour prendre en charge l'utilisation future.
- Les tests d'endurance sont généralement effectués soit en surchargeant le système, soit en réduisant certaines ressources du système et en évaluant les conséquences.
- Elle est effectuée pour garantir qu'aucun défaut ou fuite de mémoire ne se produise après ce qui est considéré comme une période d'utilisation relativement « normale ».
Éléments à surveiller lors des essais d'endurance
Dans les tests d'endurance, les éléments suivants sont testés.
- Tester la fuite de mémoire- Des contrôles sont effectués pour vérifier s'il y a une fuite de mémoire dans l'application, ce qui peut provoquer un crash du système ou du système d'exploitation.
- Tester la fermeture de la connexion entre les couches du système – Si la connexion entre les couches du système n’est pas fermée correctement, elle peut bloquer certains ou tous les modules du système.
- La connexion à la base de données de test se ferme avec succès– Si la connexion à la base de données n’est pas fermée correctement, cela peut entraîner un crash du système
- Temps de réponse des tests – Le temps de réponse du système est testé car l'application devient moins efficace en raison d'une utilisation prolongée du système.
Comment réaliser des tests d'endurance
Vous trouverez ci-dessous l'approche de test de base pour le test d'endurance.
- Environnement de test – Identifiez le matériel, les logiciels, le système d'exploitation requis pour les tests d'endurance, en attribuant les rôles et les responsabilités au sein de l'équipe, etc. L'environnement doit être prêt avant l'exécution du test. Vous devez également estimer la taille de production de bases de données communes et la croissance annuelle. Ceci est obligatoire, vous devez donc tester la réponse de votre candidature après un an, deux ou cinq.
- Création du plan de test, des scénarios – En fonction de la nature des tests – manuels ou automatisés ou une combinaison des deux, Cas de test la conception, les révisions et l’exécution doivent être planifiées. Les tests visant à stresser le système, les tests de points de rupture, etc. doivent également faire partie du plan de test. Les tests visant à stresser le système déterminent le point d'arrêt dans l'application.
- Estimation des tests – Fournissez une estimation du temps qu’il faudra pour terminer la phase de test. Il doit être analysé en fonction du nombre de testeurs impliqués et du nombre de cycles de test requis.
- Analyse de risque - Analyser le risque et prendre les mesures appropriées pour la prévention. Hiérarchisation des cas de test selon le facteur de risque et identification des risques et des problèmes ci-dessous que le testeur peut effectuer pendant le test d'endurance.
- Les performances resteront-elles constantes dans le temps ?
- Y a-t-il d'autres problèmes mineurs qui n'ont pas encore été détectés ?
- Y a-t-il des interférences externes qui n’ont pas été traitées ?
- Calendrier des tests – Déterminer le budget, les livrables dans les délais. Comme Test d'endurance applique une disposition de charge énorme mais naturelle de transactions au système/application pendant une période de temps continue.
Exemple de test d'endurance
Si Tests de résistance pousse le système testé dans ses retranchements, Essais d'endurance pousse l'application à ses limites au fil du temps.
Par exemple, les problèmes les plus complexes – fuites de mémoire, saturation du serveur de base de données et blocage du système – surviennent lors d'une utilisation prolongée du logiciel. Sans tests d'endurance, les chances de détecter ces défauts avant le déploiement sont minimes.
Outils de test d'endurance
- CHARGEMENT Web
- LoadComplete
- Apache JMeter
- LoadRunner
- Appvance
- ChargerUI
- OuvrirSTA
- Rational Performance Tester
Avantages des tests d'endurance
- Cela aide à déterminer la charge de travail que le système sous charge peut gérer.
- Fournit des données précises que le client peut utiliser pour valider ou améliorer ses besoins en infrastructure.
- Identifie les problèmes de performances qui peuvent survenir après qu'un système fonctionne à un niveau élevé pendant une période prolongée
- Les problèmes typiques sont identifiés lors de tests de performances ciblés plus petits, ce qui signifie que les applications restent disponibles même en cas de charge énorme dans un laps de temps très court.
- Le test d'endurance est également utilisé pour vérifier s'il y a une dégradation des performances après une longue période d'exécution.
Inconvénients des tests d'endurance
- Il est souvent difficile de définir le niveau de stress qui vaut la peine d’être appliqué.
- Les tests d'endurance peuvent provoquer des pannes d'application et/ou de réseau pouvant entraîner une perturbation importante si Environnement de test ne sont pas isolés.
- Une perte ou une corruption permanente des données peut survenir en raison d'une sollicitation excessive du système.
- L’utilisation des ressources reste très élevée une fois le stress supprimé.
- Certains composants de l'application ne répondent pas.
- Les exceptions non gérées sont observées par l'utilisateur final.
Comment ce test s'intègre à la famille des tests de performance
Les tests de performance constituent un terme générique. Les variantes décrites ci-dessous diffèrent uniquement par la forme de la charge appliquée et sa durée, ce qui explique la confusion fréquente entre elles.
| Type de test | Modèle de charge | Question à laquelle il répond |
|---|---|---|
| Test de charge | Charge de pointe prévue, courte durée | Le système atteint-il ses objectifs en conditions de trafic de pointe normales ? |
| Tests de résistance | Augmentation au-delà de la capacité jusqu'à la défaillance | Où se casse-t-il, et la défaillance est-elle gracieuse ? |
| Test de pointe | Montée en puissance extrême et soudaine, puis retrait | Peut-elle survivre et se remettre d'un choc de trafic ? |
| Essais d'endurance | La charge normale a été maintenue pendant de nombreuses heures. | Les performances se dégradent-elles avec le temps ? |
| Test de trempage | Charge soutenue sur une période prolongée | Y a-t-il des fuites de mémoire ou une saturation des ressources ? |
| Test de stabilité | Charge variable selon les conditions | Le système reste-t-il fiable lorsque les conditions changent ? |
| Tests de volume | Utilisateurs normaux, volume de données très important | Est-ce que le système peut gérer la croissance de la base de données ? |
Les tests d'endurance et les tests d'immersion sont souvent considérés comme synonymes. En pratique, on les appelle tests d'endurance : les deux consistent à supporter une charge soutenue pendant une longue période. Lorsque les équipes font la distinction, les tests d'endurance se concentrent sur l'évolution des temps de réponse, tandis que les tests de charge se concentrent sur la consommation de ressources telles que la mémoire, les descripteurs de fichiers et les pools de connexions. L'exécution d'un seul de ces tests permet généralement d'obtenir des résultats pour les deux.
Indicateurs clés à recueillir pendant le test
La qualité d'un test de performance dépend de la qualité des données enregistrées pendant son exécution. Capturez ces six éléments côté serveur et côté client, puis comparez-les à la valeur de référence plutôt qu'à votre intuition.
| Métrique | Ce que ça te dit | Panneau d'avertissement |
|---|---|---|
| Temps de réponse moyen | Expérience utilisateur typique | Toute dérive ascendante à travers la course |
| temps de réponse au 95e percentile | L'expérience des utilisateurs les plus lents | Bien au-dessus de la moyenne, ce qui signifie une incohérence |
| Cadence de production | Requêtes traitées par seconde | Chute alors que la charge reste constante |
| Taux d'erreur | Part des requêtes ayant échoué ou expiré | Toute augmentation au-delà du seuil convenu |
| Utilisation du processeur et de la mémoire | marge de ressources du serveur | Un souvenir qui s'élève et ne revient jamais. |
| Connexions et threads de base de données | épuisement de la piscine | Des comptes qui augmentent régulièrement sans libération |
Lisez la moyenne et le percentile ensemble. Une moyenne de 800 ms avec un 95e centile de 900 ms caractérise un système stable. La même moyenne, associée à un 95e centile de 9 secondes, signifie qu'un utilisateur sur vingt rencontre des difficultés, et que la moyenne masque ce problème.
Observez la forme, pas seulement la valeur. Dans tout test de longue durée, une ligne de ressource plate indique une réussite et une ligne montante indique une fuite, même si le nombre absolu reste largement dans la limite au moment où l'exécution se termine.
Tests d'endurance : principaux enseignements
- In Génie logiciel, Les tests d'endurance sont un sous-ensemble des tests de charge.
- Les tests d'endurance sont un long processus et durent parfois jusqu'à un an.
- Des contrôles sont effectués pour vérifier
- Tester la fuite de mémoire
- Temps de réponse des tests
- Tester la connexion à la base de données, etc.


