what is endurance testing software testing
Introduction aux tests d'endurance logicielle:
Dans cet article, nous discuterons et explorerons en détail les tests de logiciels Endurance.
Dans un premier temps, essayons de comprendre en quoi consiste exactement les tests d'endurance, puis nous explorerons tous les détails à ce sujet. Je suis sûr que cet article sera vraiment un guide parfait pour ceux qui découvrent le concept de test d’endurance.
Cet article vous donnera un aperçu complet des tests d'endurance, y compris sa signification, son besoin, sa durée, ses avantages, ses défis et les étapes impliquées, ainsi que des exemples en termes simples pour vous permettre de comprendre parfaitement le concept.
Ce que vous apprendrez:
- Qu'est-ce que les tests d'endurance?
- Pourquoi les tests d'endurance?
- Durée d'un test d'endurance
- Avantages des tests d'endurance
- Défis des tests d'endurance
- Un exemple
- Étapes pour effectuer ce test
- Outils de test d'endurance
- Conclusion
- lecture recommandée
Qu'est-ce que les tests d'endurance?
Le mot Endurance signifie «la capacité d’une chose à durer ou à résister à l’usure.» Vous pouvez simplement appeler cela la durabilité, la puissance durable ou la longévité.
En ce qui concerne le monde du logiciel, le test d'endurance (test de trempage ou test de longévité ou test de capacité) est un type de test non fonctionnel qui est effectué pour vérifier si le système logiciel peut supporter une charge attendue énorme continue sur une longue période. de temps.
Il s'agit de l'un des types de test de performance et d'un sous-type de test de charge.
Pourquoi les tests d'endurance?
L'objectif principal de l'exécution de ces tests est d'identifier les éventuelles fuites de mémoire. Ainsi, lors de ces tests, l'utilisation de la mémoire est étroitement surveillée. J'espère que vous êtes conscient du concept des fuites de mémoire. Néanmoins, permettez-moi de résumer ce qu'est réellement une fuite de mémoire pour ceux qui sont peut-être nouveaux dans ce terme.
À fuite de mémoire est un échec dans un programme logiciel pour libérer de la mémoire supprimée, entraînant une dégradation des performances ou une panne.
cycle de vie du développement du système de modèle de cascade
Une fuite de mémoire peut ne pas avoir d'impact à court terme, mais à long terme, elle ralentit le système, ce qui ne laisse aucune mémoire libre et conduit finalement à une panne de l'application ou du système. La fuite de mémoire est un problème qui n'apparaît qu'après un certain temps.
Par conséquent, nous avons besoin de tests d'endurance pour découvrir de tels problèmes.
Cependant, il est possible qu'avec une charge importante et importante, votre application fonctionne bien pendant une certaine période, par exemple 1 heure. Mais, lorsqu'elle est exposée à la même quantité de charge en continu pendant une période plus longue, par exemple 3-4 heures, votre application se bloque en raison d'un problème de ressources et d'un espace disque insuffisant.
Un autre problème important que les tests de logiciels d'endurance visent à identifier est sa dégradation des performances. Il faut s'assurer que le débit ou les temps de réponse après une utilisation prolongée sont équivalents ou améliorés par rapport au début du test.
Les problèmes de connexion à la base de données sont également identifiés dans le test d'endurance. Si la connexion à la base de données n'est pas correctement fermée, cela peut entraîner une panne du système.
Le test d'endurance vérifie également s'il existe une fermeture de connexion appropriée entre les couches du système, ce qui entraînerait autrement le blocage de certains modules du système.
En un mot, nous pouvons dire que le but du test d'endurance est de déterminer comment le système se comporte pendant une longue période d'utilisation soutenue. Les principaux problèmes identifiés dans le cadre des tests d'endurance sont les fuites de mémoire, la dégradation des performances, les problèmes de connexion à la base de données, etc.
Durée d'un test d'endurance
S'il s'agit d'un projet d'exploitation sans interruption 24 heures sur 24, 7 jours sur 7, un test d'endurance devrait idéalement durer 72 heures. La raison étant que l'application doit être suffisamment capable de s'exécuter sans surveillance le week-end (car le support du week-end est coûteux pour les organisations).
Il faut donc tester le système exposé à une charge importante pendant une période légèrement supérieure à un week-end. Cependant, comme exécuter le test pendant 72 heures peut être trop fastidieux, nous effectuons généralement le test d'endurance pendant 12 heures.
De plus, il n'y a pas de règle absolue pour la durée d'un test d'imprégnation. Cela dépend principalement de facteurs tels que l’implication des clients, l’utilisation réelle de la production, etc. Parfois, les tests d’endurance durent également un an!
Avantages des tests d'endurance
Les avantages dérivés de ces tests sont énumérés ci-dessous:
- Il garantit l'adéquation d'une application.
- Il découvre les bogues qui autrement ne peuvent être trouvés par aucun autre test de performance. Par exemple , il se peut que vous ne trouviez pas le problème de fuite de mémoire lors des tests de volume ou de stress.
- Rend l'application robuste: Il identifie les problèmes de dégradation des performances qui pourraient survenir sous une charge continue énorme, puis la résolution de ces problèmes rend l'application plus robuste.
- Il raconte le comportement du système sous une charge à long terme. En d’autres termes, il vérifie la durabilité du système au fil du temps.
- Les données de résultat du test d'endurance peuvent être utilisées pour que le client valide ou améliore ses besoins en infrastructure.
Défis des tests d'endurance
Les défis impliqués dans ces tests comprennent:
- Cela prend beaucoup de temps. Il est donc difficile de réaliser des tests d'endurance dans un projet dont les délais sont très stricts.
- Cela ne peut pas être fait manuellement. Cela nécessite un outil d'automatisation et un expert ayant la connaissance de cet outil.
- Il est souvent difficile de déterminer la quantité de charge qui vaut la peine d'être appliquée.
- Si l'environnement de test n'est pas correctement isolé de l'environnement de production en direct, les pannes de l'application ou du réseau dans le test d'endurance peuvent entraver l'ensemble du système de travail et entraîner une perte / corruption permanente des données.
- Les exceptions non gérées sont observées par le client.
Un exemple
L'application bancaire est un exemple où des tests d'endurance sont requis et peuvent être utilisés.
Les jours de fermeture de la banque, l'application est testée pour savoir si le système peut supporter une charge attendue continue ou un grand nombre de transactions pendant longtemps.
Ceci est un exemple parfait d'un test d'endurance.
Étapes pour effectuer ce test
Voici l'approche pour effectuer ce test:
# 1) Établissez l'environnement de test:
Cela implique de déterminer quel matériel, logiciel, base de données (ainsi que sa taille au fur et à mesure de sa croissance avec la durée du test) et quel système d'exploitation sont nécessaires pour effectuer le test d'endurance.
Cela implique également la création d'une équipe pour effectuer les tests d'endurance et l'attribution des rôles et responsabilités au sein de l'équipe. L'environnement de test doit être prêt avant l'exécution du test et il doit être correctement isolé du système réel réel.
# 2) Création d'un plan de test et de scénarios de test:
Les cas de test doivent être conçus, examinés et finalisés. La stratégie d'exécution des tests doit également être élaborée à cette étape.
Le point de rupture de l'application doit être déterminé, et la quantité de charge qui serait appliquée à l'application lors d'un test d'endurance doit être finalisée.
# 3) Estimation du cycle de test:
Il s'agit d'analyser la durée de chaque phase de test et le nombre de cycles de test nécessaires.
# 4) Analyse des risques:
C'est une étape très importante de ce test. Les cas de test sont classés par ordre de priorité en fonction du facteur de risque.
Les risques et problèmes qu'un testeur pourrait rencontrer pendant le test d'endurance sont mentionnés ci-dessous:
- Le test de performance va-t-il rester cohérent avec le temps?
- Y a-t-il d'autres problèmes mineurs qui ne sont pas encore déduits?
- Y a-t-il des interférences externes qui ne sont pas encore traitées?
# 5) Calendrier des tests:
Déterminez le budget, les livrables et les délais.
# 6) Exécution du test:
Cela implique enfin de lancer le test d'endurance.
# 7) Fermeture du cycle de test:
Fermez le cycle de test en fonction des critères de sortie définis lors de la phase de planification des tests. Il peut être basé sur les défauts constatés, la durée du test, etc.
Outils de test d'endurance
Il existe plusieurs outils disponibles sur le marché.
Voici quelques-uns des outils de test d'endurance les plus populaires et les plus utiles:
- Apache JMeter
- LoadRunner
- LoadStorm
- LoadUI
- Apparence
- OpenSTA
- WebLOAD
- Testeur de performances rationnelles
Conclusion
Dans cet article, nous avons appris ce que sont les tests d'endurance? Comment cela doit-il être fait? Ses avantages et inconvénients, ainsi que les différents outils disponibles.
Certains des principaux points à retenir sont:
- Les tests d'endurance (tests de trempage ou tests de longévité ou tests de capacité) sont un type de tests non fonctionnels qui sont effectués pour vérifier si le système logiciel peut supporter une énorme charge attendue sur une longue période de temps.
- C'est un sous-ensemble des tests de charge.
- Les principaux problèmes identifiés dans le cadre de ces tests sont les fuites de mémoire, la dégradation des performances, les problèmes de connexion à la base de données, etc.
- La durée du test d'endurance dépend des exigences de l'entreprise, du projet et du client. Cela peut durer 5 à 10 heures ou quelques jours ou un mois ou parfois même un an.
- Il rend l'application plus robuste et la prépare à résister à de lourdes charges continues.
- Comme cela prend beaucoup de temps, il faut éviter de faire le test d'endurance manuellement. Il est principalement automatisé.
- Il faut commencer par établir un environnement de test isolé, puis créer des plans de test, estimer la durée des cycles de test, analyser le risque, préparer le programme de test, exécuter le test d'endurance et enfin clôturer le cycle de test.
- Certains des excellents outils de test d'endurance sont Apache Jmeter, LoadStorm, LoadRunner, LoadUI, Appvance, OpenSTA, WebLoad et IBM Rational Performance Tester.
Lectures complémentaires:
- Top 15 des outils de test de performance de 2018: Liste des outils de test de charge
- STH Article détaillé sur les tests de performance - avec des exemples
- 4 conseils de test d'endurance que vous devez connaître lors de l'exécution de ce test via Apache JMeter
lecture recommandée
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Emploi d'assistant QA en test logiciel
- Test de charge avec les didacticiels HP LoadRunner
- Cours de test logiciel: à quel institut de test logiciel dois-je adhérer?
- Choisir les tests logiciels comme carrière
- Travail d'indépendant de rédacteur de contenu technique de test de logiciels
- Quelques questions d'entretien intéressantes sur les tests de logiciels
- Commentaires et évaluations du cours de test de logiciels