soak testing tutorial what is soak testing
Ce guide complet sur les tests de trempage explique ce que sont les tests de trempage, pourquoi en avons-nous besoin, son application, ses avantages, ses meilleures pratiques et ses inconvénients:
Différents types de tests doivent être effectués lors du test d'une application logicielle. Les tests fonctionnels et non fonctionnels sont les deux grandes catégories dans lesquelles nous pouvons catégoriser les types de tests.
Le test fonctionnel, comme son nom l'indique, concerne le test de la fonctionnalité de l'application. Les tests non fonctionnels, en revanche, couvrent tous les autres tests (utilisabilité, performances, etc.), autres que les tests fonctionnels.
Ce que vous apprendrez:
Test de trempage - Un guide complet
Ce didacticiel vous présente les concepts du test de trempage, qui est un type de test de performance.
Comme le montre l'image ci-dessus, nous pouvons dire que le test Soak est un type de test non fonctionnel.
Qu'est-ce que le test de trempage
C'est un type de test de performance pour vérifier si une application sous test (AUT) peut résister à une charge continue pendant une période prédéterminée. Il s'agit d'un type de test non fonctionnel. Il est également appelé «Test d’endurance» ou «Test de longévité» .
Si vous utilisez son nom littéral, alors le mot «tremper» en lui-même a le sens de ce que ce test a l'intention de faire. Ainsi, soumettre une application pendant une période spécifique à une charge élevée est le but de ce test.
On peut se demander quelle pourrait être la différence si une application est soumise à une charge pendant une heure ou peut-être 20 heures. Mais oui, cela a une signification.
Cela peut être mieux expliqué avec un scénario réel. Si une corde est tirée des deux extrémités par deux personnes pendant un certain temps, elle pourrait simplement résister à la pression, cependant, si la même chose se poursuit pendant des jours, la corde pourrait simplement se casser en cédant à la pression de chaque extrémité.
sites de partage de fichiers gratuits à télécharger
(image la source )
Tel est le cas avec le logiciel. Lorsque nous soumettons une application à une charge élevée (quelques centaines ou milliers d'utilisateurs), cela peut fonctionner correctement pendant une heure. Cependant, lorsque la même application est soumise à la charge pendant 20 heures, elle peut s'effondrer complètement.
(image la source )
Un trafic intense continu pendant une longue durée peut entraîner des problèmes variés dans l'application. Ainsi, il apparaît le besoin de tests de trempage.
Dans ce test, le concept de base est de charger l'application avec les utilisateurs attendus, mais pour une période prolongée. Cela aide à identifier les divers problèmes sous-jacents qui, autrement, ne seraient pas détectés jusqu'à ce que le scénario réel se produise dans l'application en direct.
questions et réponses d'entretien de test manuel pour les expérimentés
Besoin de tests de trempage
Pour comprendre le besoin, nous devons également être conscients des problèmes possibles qu'une application pourrait rencontrer au cas où elle rencontrerait une charge importante pendant une longue durée.
Passons en revue les différentes raisons qui rendent les tests de trempage nécessaires.
#1) Il est principalement nécessaire pour identifier les problèmes tels que la gestion incorrecte de la mémoire, les problèmes de connexion à la base de données, la dégradation du temps de réponse des applications, etc.
Chacun de ces problèmes a été expliqué ci-dessous:
- Une gestion incorrecte de la mémoire peut impliquer des problèmes tels qu'une mémoire allouée pour utilisation mais jamais libérée ou lorsque les ressources utilisent plus de mémoire que nécessaire. Lorsque de tels scénarios se poursuivent pendant une longue durée, le système peut alors manquer de mémoire, ce qui empêche l'application de répondre.
- Problèmes de connexion à la base de données - Une erreur survenant lors de la fermeture d'une connexion à une base de données peut, à long terme, entraîner le blocage complet de l'application.
- Dégradation du temps de réponse de l'application - Parfois, pour une raison quelconque, une application peut devenir moins efficace et son temps de réponse peut augmenter. Au fil du temps, cela peut empêcher l'application de répondre.
Pour éviter que de telles situations ne se produisent, nous préférons faire un test de trempage de notre application. Cela aide à identifier ces problèmes sous-jacents qui pourraient autrement ne pas être détectés.
#deux) Soak Test aide à déterminer si notre application est prête à prendre la charge pendant une période prolongée.
# 3) Il permet à l'équipe de prendre des mesures correctives en fonction de la façon dont le système répond aux tests de trempage.
Quand commencer le test de trempage?
(image la source )
Idéalement, comme tout autre test de performance, ce test doit être effectué pendant le développement du produit avec des tests fonctionnels. Cependant, cela est rarement fait. La raison est évidente, c'est-à-dire la gestion du coût du projet.
Ainsi, l'accent est principalement mis sur les tests fonctionnels et toutes les formes de tests de performance sont généralement placées au second plan et prises près de la date de sortie de l'application.
En général, les tests d'imprégnation sont effectués juste avant que l'application ne soit mise à disposition du client. Mais cela présente un gros inconvénient lié à la résolution du problème.
Lorsqu'un problème de performances est détecté à un stade ultérieur, il peut être difficile de le résoudre car cela pourrait impliquer un changement de code majeur qui pourrait ne pas être possible compte tenu de la proximité de la date de livraison de l'application.
Ainsi, il est toujours conseillé que ces tests soient effectués correctement à temps afin que les problèmes identifiés puissent être résolus.
Stratégie de test de trempage
(image la source )
Tout comme une stratégie de test est préparée pour tester une application, une stratégie est préparée à l'avance pour effectuer des tests de trempage, ce qui est très nécessaire.
Jetons un œil à ce qui se passe dans la préparation de la stratégie de test de trempage.
Avant de commencer le test de trempage, l'équipe doit déterminer la charge pour laquelle l'application doit être testée. La durée pendant laquelle il doit être testé doit également être prédéterminée. Généralement, cela est fourni par l'équipe de développement.
L'équipe de test doit décider des scénarios qu'elle prévoit pour le test d'imprégnation. Cela dépendrait à son tour de l'engagement du client et des exigences de l'application sous test.
Comme les tests de trempage sont principalement axés sur l'identification des problèmes de fuite de mémoire et de ressources, il est important de connaître au préalable la consommation de mémoire et de base de données par rapport à celles disponibles.
comment ajouter une valeur à un tableau java
Les détails de l'environnement tels que le système d'exploitation, l'appareil, etc. sur lesquels les tests de trempage seraient effectués doivent également être décidés.
Enfin, le (s) risque (s) impliqué (s) doivent également être pris en considération. Un plan de sauvegarde doit toujours être fait pour de telles situations. Par exemple, si la base de données plante pendant le test, quelles autres alternatives sont disponibles à sa place et ainsi de suite.
Scénarios pour les tests de trempage
Lorsqu'un site Web de commerce électronique annonce une vente en ligne de ses produits, il est naturel que le site Web se charge pendant la période de vente qui peut s'étendre sur 3 à 5 jours. Dans une telle situation, le site Web doit être testé par trempage pour éviter tout crash inattendu.
Lors de la clôture d'un exercice, un site Web bancaire peut être confronté à une charge très élevée pendant une période continue. Dans une telle situation, le site Web doit avoir été testé Soak pour éviter tout crash inattendu de l'application Web.
Lorsqu'une application est conçue pour gérer une charge prédéterminée pendant une période continue prédéterminée, il devient alors nécessaire de tester l'application pour une charge au moins 2 fois sa capacité de gestion de charge connue.
Par exemple, si un site Web est connu pour gérer une charge de 500 utilisateurs pendant une période continue de 15 heures, l'application doit également être testée par trempage pour 1000 utilisateurs pendant 15 heures. Cela nous aiderait à savoir si l'application répondrait anormalement lorsqu'elle était forcée à deux fois sa capacité de charge.
Les meilleures pratiques
(image la source )
- Le test d'imprégnation doit toujours être effectué en connaissant la limite de charge inactive de l'application, à la fois en termes d'utilisateurs et de durée. Ceci est nécessaire pour être connu car la cible est de charger l'application avec les utilisateurs attendus mais pour une longue durée.
- Il est conseillé d'exécuter des tests de trempage la nuit ou si des tests de durée encore plus longue doivent être effectués, il est conseillé de le faire le week-end. La raison est évidente, c'est-à-dire que pendant les heures de travail, les ressources sont bloquées alors que la nuit ou les heures non ouvrables, les serveurs de test peuvent être disponibles pour être utilisés pendant de longues durées. Ainsi, les heures non ouvrées sont le moment idéal pour de tels tests.
- Les risques associés au test de trempage d'une application doivent toujours être analysés et un plan d'atténuation doit être prêt pour le même incident.
Contraintes de test d'imprégnation
(image la source )
- La longue durée requise pour tester une application est une grande contrainte généralement due à l'indisponibilité du temps. Ainsi, les tests de trempage peuvent parfois être évités en raison d'un manque de temps.
- L'environnement de test doit être soigneusement sélectionné afin que tout autre type de test effectué sur l'application ne soit pas affecté. Cela peut se produire, car tester l'application pour une charge élevée pendant une longue durée peut entraîner des problèmes.
- Le moment des tests de trempage doit être soigneusement décidé et doit être principalement des heures de repos (comme un week-end ou des heures de nuit après la fermeture des travaux).
- En règle générale, des outils d'automatisation sont nécessaires pour les tests de trempage car les tests doivent être exécutés pendant de longues durées avec un grand nombre d'utilisateurs.
Inconvénients des tests de trempage
- Les délais du projet peuvent être affectés en raison des tests de trempage, car le temps requis pour ces derniers est généralement élevé.
- Les ressources sont bloquées pendant la durée du test car l'utilisation de la mémoire est élevée en raison du grand nombre d'utilisateurs accédant à l'application.
Conclusion
Grâce à ce didacticiel, nous avons appris ce qu'est le test de trempage et ce qui rend nécessaire l'exécution de ce test.
Maintenant, avec cette compréhension de ce qu'est le Soak Testing et du type de problèmes qu'il aide à identifier, nous pouvons très bien comprendre la nécessité d'effectuer la même chose. Surtout à une époque où le monde entier est toujours connecté, ce test devient un must.
Nous avons vu à quel moment nous devrions commencer le test de trempage avec l'approche à suivre. Les scénarios, les meilleures pratiques et les contraintes qui y sont associées ont également été abordés ici.
Nous espérons que ce didacticiel vous a aidé à comprendre ce qu'est le test de trempage et doit avoir amélioré vos connaissances sur le même sujet.
lecture recommandée
- Test de charge avec les didacticiels HP LoadRunner
- Tutoriel sur les tests destructifs et les tests non destructifs
- Téléchargement de l'e-book 'Testing Primer'
- Corrélation - Test de charge avec LoadRunner
- Test fonctionnel vs test non fonctionnel
- Différence entre les tests de bureau, client-serveur et Web
- Test de charge à l'aide de LoadUI - Un outil de test de charge gratuit et open source
- Tutoriel de test SOA: méthodologie de test pour un modèle d'architecture SOA