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.

