Qu'est-ce que les tests d'endurance dans les tests de logiciels ? (avec exemple)

Test 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 ».

Ce qu'il faut surveiller lors des tests d'endurance

Test 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 effectuer 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

Tandis que 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, utilisation excessive du serveur de base de données et système qui ne répond pas) surviennent lorsque le logiciel s'exécute pendant une période prolongée. Si vous ignorez les tests d'endurance, vos chances de détecter de tels défauts avant le déploiement sont assez faibles.

Outils de test d'endurance

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.

Résumé

  • 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.