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

Table des matières:

Anonim

Test d'endurance

Le test d'endurance est un type de test logiciel non fonctionnel où un logiciel est testé avec une charge élevée étendue sur une période de temps significative pour évaluer le comportement d'une application logicielle en utilisation soutenue. L'objectif principal des tests d'endurance est de s'assurer que l'application est suffisamment capable de gérer une charge étendue 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 long processus 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 rend les tests d'endurance différents des tests de charge, qui se terminent généralement dans quelques heures environ.

L'endurance signifie la capacité, donc en d'autres termes, vous pouvez appeler les tests d'endurance les tests de capacité.

Dans ce didacticiel, vous apprendrez-

  • Qu'est-ce que les tests d'endurance?
  • Objectifs des tests d'endurance
  • Que surveiller dans les tests d'endurance
  • Comment effectuer des tests d'endurance
  • Exemple de test d'endurance
  • Outils de test d'endurance
  • Avantages des tests d'endurance
  • Inconvénients des tests d'endurance

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 sous utilisation soutenue
  • Pour s'assurer qu'après une longue période, le temps de réponse du système restera le même ou meilleur que le 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 performance.
  • Pour gérer les charges futures, nous devons comprendre combien de ressources supplémentaires (comme 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 à l'avenir.
  • 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 que des défauts ou des fuites de mémoire ne se produisent pas après ce qui est considéré comme une période d'utilisation relativement "normale".

Que surveiller dans les tests d'endurance

Dans les tests d'endurance, les choses suivantes sont testées.

  • Tester la fuite de mémoire - Des vérifications sont effectuées pour vérifier s'il y a une fuite de mémoire dans l'application, ce qui peut provoquer une panne 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 correctement fermée, elle peut bloquer certains ou tous les modules du système.
  • Tester la connexion à la base de données se ferme correctement - Si la connexion à la base de données n'est pas fermée correctement, cela peut entraîner une panne du système
  • Temps de réponse du test - Le système est testé pour le temps de réponse du système car l'application devient moins efficace en raison de l'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 - Identifier le matériel, les logiciels, le système d'exploitation requis pour les tests d'endurance, l'attribution des rôles et des 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 base de données commune et la croissance annuelle. Cela est nécessaire car vous devez tester comment votre application répondra après un an, deux ou cinq.
  • Création du plan de test, des scénarios - En fonction de la nature des tests - manuel ou automatisation ou une combinaison des deux, la conception du scénario de test, les révisions et l'exécution doivent être planifiées. Les tests pour stresser le système, les tests de point de rupture, etc. doivent également faire partie du plan de test. Les tests pour stresser le système déterminent le point de rupture dans l'application.
  • Estimation du test - Fournissez une estimation du temps qu'il faudra pour terminer la phase de test. Il doit être analysé sur la base d'un certain nombre de testeurs impliqués et du nombre de cycles d'essai requis.
  • Analyse des risques - 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 du risque et des problèmes ci-dessous que le testeur peut effectuer pendant le test d'endurance.
    • Les performances resteront-elles constantes au fil du 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 de test - Déterminez le budget, les livrables dans les délais. Comme Endurance Testing applique une charge énorme mais naturelle de transactions au système / à l'application pendant une période de temps continue.

Exemple de test d'endurance

Alors que les tests de résistance poussent le système testé à ses limites, les tests d'endurance poussent l'application à ses limites au fil du temps .

Par exemple, les problèmes les plus complexes - fuites de mémoire, utilisation du serveur de base de données et système qui ne répond pas - se produisent lorsque le logiciel s'exécute pendant une période prolongée. Si vous sautez 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

  • WebLOAD
  • LoadComplete
  • Apache JMeter
  • LoadRunner
  • Apparence
  • LoadUI
  • OpenSTA
  • Testeur de performances rationnelles

Avantages des tests d'endurance

  • Il aide à déterminer comment la charge de travail peut gérer le système sous charge.
  • 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 a fonctionné à un niveau élevé pendant une période plus longue
  • Les problèmes typiques sont identifiés dans des tests de performances ciblés plus petits, ce qui signifie que l'application reste disponible 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 entraîner des pannes d'application et / ou de réseau pouvant entraîner des perturbations importantes si l'environnement de test n'est pas isolé.
  • Une perte ou une corruption permanente des données peut se produire en surchargeant le système.
  • L'utilisation des ressources reste très élevée une fois le stress supprimé.
  • Certains composants d'application ne répondent pas.
  • Les exceptions non gérées sont observées par l'utilisateur final.

Résumé:

  • En 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 vérifications sont effectuées pour vérifier
    • Test de fuite de mémoire
    • Test de temps de réponse
    • Tester la connexion à la base de données, etc.

Cet article est rendu possible grâce à la contribution d'Unnati Soni.