stress testing guide
Un guide complet de tests de stress pour les débutants:
Souligner quoi que ce soit au-delà d'un certain point entraîne de graves conséquences chez l'homme, la machine ou un programme. Cela cause de graves dommages ou le casse complètement.
De même, dans ce didacticiel, nous allons apprendre à tester les applications Web avec leurs effets.
Afin d'éviter tout dommage permanent à vos applications ou sites Web lorsqu'ils sont stressés, c'est-à-dire fortement chargés, nous devons trouver le point de rupture et à son tour la solution pour éviter de telles conditions. Pensez simplement à ce que ce serait lorsque votre site Web d’achat tombe en panne pendant les soldes de Noël. Quelle serait la perte?
Vous trouverez ci-dessous quelques exemples de cas réels où il est très important de tester une application ou un site Web:
version complète du logiciel gratuit de gestion d'églises
#1) Les applications d'achat commerciales ou les sites Web doivent effectuer des tests de résistance car la charge devient très élevée pendant les festivals, les soldes ou la période d'offre spéciale.
#deux) Les applications financières ou les sites Web doivent effectuer des tests de résistance à mesure que la charge augmente à des moments comme lorsque la part d'une entreprise augmente, de nombreuses personnes se connectent à leurs comptes pour acheter ou vendre, les sites de vente en ligne redirigent les `` net-banquiers '' pour le paiement etc.
# 3) Les applications Web ou de messagerie électronique doivent être soumises à des tests de résistance.
# 4) Les sites Web ou applications de réseautage social, les blogs, etc. doivent être soumis à des tests de résistance, etc.
Ce que vous apprendrez:
- Qu'est-ce que le test de résistance et pourquoi le test de résistance?
- Stratégie pour les tests de résistance
- Test de stress pour les applications mobiles
- Différence entre les tests de charge et les tests de contrainte
- Exemples de cas de test
- 5 meilleurs logiciels de test de stress
- Conclusion
- lecture recommandée
Qu'est-ce que le test de résistance et pourquoi le test de résistance?
Les tests de résistance sont définis comme le processus de test du matériel ou du logiciel pour sa stabilité dans une condition de charge lourde. Ce test est effectué pour trouver le point numérique où le système se cassera (en termes d'un certain nombre d'utilisateurs et de requêtes de serveur, etc.) et la gestion des erreurs associée pour le même.
Pendant les tests de résistance, l'application sous test (AUT) est bombardée d'une charge lourde pendant une période donnée pour vérifier le point de rupture et voir dans quelle mesure la gestion des erreurs est effectuée.
Exemple: MS Word peut donner un message d’erreur «Ne répond pas» lorsque vous essayez de copier un fichier de 7 à 8 Go.
Vous avez bombardé Word avec un fichier de taille énorme et il ne pouvait pas traiter un fichier aussi gros et par conséquent, il est suspendu. Nous tuons normalement les applications du gestionnaire de tâches lorsqu'elles cessent de répondre, la raison en est que les applications sont stressées et cessent de répondre.
Voici quelques raisons techniques derrière l'exécution des tests de résistance:
- Pour vérifier le comportement du système dans des conditions de charge anormales ou extrêmes.
- Pour trouver la valeur numérique des utilisateurs, des demandes, etc., après quoi le système peut casser.
- Gérez l'erreur en affichant les messages appropriés.
- Être bien préparé à de telles conditions et prendre des mesures de précaution telles que le nettoyage du code, le nettoyage de la base de données, etc.
- Pour vérifier la gestion des données avant que le système ne s'arrête, c'est-à-dire pour voir si les données ont été supprimées, enregistrées ou non, etc.
- Pour vérifier la menace de sécurité dans de telles conditions de rupture, etc.
Stratégie pour les tests de résistance
Il s'agit d'un type de test non fonctionnel et ce test est généralement effectué une fois que le test fonctionnel d'un site Web ou d'une application est terminé. Les cas de test, la manière de tester et même les outils à tester peuvent parfois varier.
Voici quelques conseils qui vous aideront à élaborer une stratégie pour votre processus de test:
- Identifiez les scénarios, fonctionnalités, etc., qui seront les plus consultés et qui pourraient avoir tendance à briser le système. Comme pour une application financière, la fonctionnalité la plus couramment utilisée est le transfert d'argent.
- Identifiez la charge que le système peut subir un jour donné, c'est-à-dire à la fois maximum et minimum.
- Créez un plan de test , scénario, cas de test et suite de tests.
- Utilisez 3-4 systèmes informatiques différents pour tester avec une mémoire, un processeur, etc.
- Utilisateur 3-4 navigateurs différents pour les applications Web avec différentes versions.
- Idéalement, trouvez la valeur sous le point d'arrêt, au point d'arrêt et la valeur après le point d'arrêt (lorsque le système ne répondra pas du tout), créez un banc d'essai et des données autour de celles-ci.
- Dans le cas des applications Web, essayez également d'effectuer un test de résistance avec un réseau lent.
- Ne sautez pas à la conclusion des tests en un ou deux tours, exécutez les mêmes tests pendant au moins 5 tours, puis concluez vos résultats.
- Trouvez le temps de réponse idéal du serveur Web et quelle est l'heure au point d'arrêt.
- Trouvez le comportement de l'application au point de rupture à différents points de l'application, comme lors du simple lancement de l'application, de la connexion, de l'exécution d'une action après la connexion, etc.
Test de stress pour les applications mobiles
Les tests de résistance pour les applications mobiles natives sont un peu différents de ceux des applications Web. Dans les applications natives, un test de résistance est effectué pour les écrans couramment utilisés en ajoutant d'énormes données.
Voici quelques vérifications effectuées dans le cadre de ce test pour les applications mobiles natives:
- L'application ne plante pas lorsque des données volumineuses sont affichées. Comme pour une application de messagerie électronique, environ 4 à 5 lakhs de cartes électroniques reçues, pour les applications d'achat, le même nombre de cartes d'articles, etc.
- Le défilement est sans problème et l'application ne se bloque pas lors du défilement vers le haut ou vers le bas.
- L'utilisateur doit pouvoir afficher les détails d'une carte ou effectuer une action sur la carte à partir de la liste énorme.
- Envoi de milliers de mises à jour depuis l'application vers le serveur, comme marquer un article comme 'favori', ajouter un article au panier, etc.
- Essayez de charger l'application avec d'énormes données sur un réseau 2G, lorsque l'application se bloque ou se bloque, elle devrait afficher un message approprié.
- Essayez un scénario de bout en bout lorsqu'il y a d'énormes données et un réseau 2G lent, etc.
Voici votre stratégie de test sur les applications mobiles:
- Identifiez les écrans qui ont des cartes, des images, etc., afin de cibler ces écrans avec d'énormes données.
- De même, identifiez les fonctionnalités qui seront les plus utilisées.
- Lors de la création du banc d'essai, essayez d'utiliser des téléphones moyens et bas de gamme.
- Essayez de tester simultanément sur des appareils parallèles.
- Évitez ces tests sur l'émulateur et les simulateurs.
- Évitez de tester les connexions Wifi car elles sont puissantes.
- Essayez d'exécuter au moins un test de résistance sur le terrain, etc.
Différence entre les tests de charge et les tests de contrainte
S.No. | Test de stress | Test de charge |
---|---|---|
un | Ce test est effectué pour connaître le point de rupture du système. | Ce test est effectué pour vérifier les performances du système sous une charge attendue. |
deux | Ce test est effectué pour savoir si le système se comportera comme prévu si la charge dépasse la limite normale. | Ce test est effectué pour vérifier le temps de réponse du serveur pour la charge spécifique attendue. |
3 | La gestion des erreurs est également vérifiée dans ce test. | La gestion des erreurs n'est pas testée de manière approfondie. |
4 | Cela vérifie également les menaces de sécurité, les fuites de mémoire, etc. | Aucun test de ce type n'est obligatoire. |
5 | Vérifie la stabilité des systèmes. | Vérifie la fiabilité du système. |
6 | Les tests sont effectués avec plus que le max. possible nombre d'utilisateurs, demandes, etc. | Les tests sont effectués avec le nombre maximum d'utilisateurs, de demandes, etc. |
Test de résistance vs test de charge
Exemples de cas de test
Les cas de test que vous créerez pour vos tests dépendront de l'application et de ses exigences. Avant de créer les cas de test, assurez-vous de connaître les domaines d'intervention, c'est-à-dire les fonctionnalités qui auront tendance à se rompre sous la condition d'une charge anormale.
Voici quelques exemples de cas de test que vous pouvez inclure dans vos tests:
- Vérifiez si un message d'erreur approprié s'affiche lorsque le système atteint le point d'arrêt, c'est-à-dire qu'il franchit le nombre maximum. d'utilisateurs autorisés ou de demandes.
- Vérifiez le cas de test ci-dessus pour diverses combinaisons de RAM, de processeur et de réseau, etc.
- Vérifiez si le système fonctionne comme prévu au maximum. des utilisateurs ou des demandes sont en cours de traitement. Vérifiez également le cas de test ci-dessus pour diverses combinaisons de RAM, de processeur et de réseau, etc.
- Vérifiez que bien que plus que le non autorisé. des utilisateurs ou des demandes effectuent la même opération (comme acheter les mêmes articles sur un site Web d'achat ou effectuer un transfert d'argent, etc.) et si le système devient irresponsable, un message d'erreur approprié s'affiche à propos des données (non enregistrées? - dépend de la la mise en oeuvre).
- Vérifiez si plus que le non autorisé. des utilisateurs ou des demandes effectuent des opérations différentes (comme un utilisateur se connecte, un utilisateur lance l'application ou le lien Web, un utilisateur sélectionne un produit, etc.) et si le système devient irresponsable, un message d'erreur approprié s'affiche à propos des données (non enregistré? - dépend de l'implémentation).
- Vérifiez si le temps de réponse pour les utilisateurs ou les demandes de point de rupture est dans une valeur d'acceptation.
- Vérifiez les performances de l'application ou du site Web lorsque le réseau est très lent, un message d'erreur approprié doit s'afficher pour la condition de «délai d'expiration».
- Vérifiez tous les cas de test ci-dessus pour un serveur sur lequel plusieurs applications sont exécutées pour vérifier si l'autre application est affectée, etc.
Avant d'exécuter des tests, assurez-vous que:
- Toutes les défaillances fonctionnelles de l'application testée sont corrigées et vérifiées.
- Le système complet de bout en bout est prêt et l'intégration testée.
- Aucune nouvelle vérification de code qui affectera les tests n'est effectuée.
- Les autres équipes sont informées de votre calendrier de tests.
- Des systèmes de sauvegarde sont créés en cas de problèmes graves.
5 meilleurs logiciels de test de stress
Lorsque les tests de résistance sont effectués manuellement, c'est également un travail très compliqué et fastidieux. Cela peut également ne pas vous donner les résultats escomptés.
Les outils d'automatisation peuvent vous donner les résultats attendus et il est relativement facile de créer le banc d'essai requis en les utilisant. Il se peut que les outils que vous utilisez pour vos tests fonctionnels normaux ne soient pas suffisants pour les tests de résistance.
C'est donc à vous et à votre équipe de décider s'ils souhaitent un outil distinct exclusivement pour ces tests. Il est également avantageux pour les autres que vous dirigiez la suite la nuit afin que leur travail ne soit pas entravé. À l'aide d'outils d'automatisation, vous pouvez planifier l'exécution de la suite la nuit et les résultats seront prêts pour vous le lendemain.
Voici une liste des outils les plus recommandés:
# 1) Load Runner:
LoadRunner est un outil conçu par HP pour les tests de charge, mais il peut également être utilisé pour les tests de résistance.
Il utilise VuGen, c'est-à-dire Virtual User Generator, pour créer les utilisateurs et les demandes de tests de charge et de stress. Cet outil dispose de bons rapports d'analyse qui peuvent aider à dessiner les résultats sous forme de graphiques, de tableaux, etc.
# 2) Neoload:
Neoload est un outil payant qui est utile pour tester les applications Web et mobiles.
Il peut simuler plus de 1000 utilisateurs pour vérifier les performances du système et trouver le temps de réponse du serveur. Il s'intègre également à Cloud pour les tests de charge et de stress. Il offre une bonne évolutivité et est très facile à utiliser.
# 3) JMeter:
JMeter est un outil open source qui fonctionne avec JDK 5 et versions supérieures. L'objectif de cet outil est principalement de tester des applications Web. Il peut également être utilisé pour tester les connexions de base de données LDAP, FTP, JDBC, etc.
# 4) Moulin:
Grinder est un outil open source basé sur Java utilisé pour les tests de charge et de stress.
Le paramétrage peut être effectué de manière dynamique pendant l'exécution des tests. Il contient de bons rapports et des affirmations pour vous aider à mieux analyser les résultats. Il possède une console qui peut être utilisée comme IDE pour créer et modifier les tests et des agents pour créer la charge à des fins de test.
# 5) WebLoad:
Webload L'outil a une édition gratuite ainsi qu'une édition payante. Cette édition gratuite permet jusqu'à 50 création d'utilisateurs.
Cet outil prend en charge la vérification du stress des applications Web et mobiles. Il prend en charge différents protocoles comme HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP etc. Il dispose d'un IDE, d'une console de génération de charge, d'un tableau de bord d'analyse et d'intégrations (à intégrer avec Jenkins, les outils APM, etc.).
meilleur endroit pour regarder des anime gratuitement
Conclusion
Les tests de résistance se concentrent entièrement sur le test du système dans des conditions de charge extrêmes pour trouver son point de rupture et voir si les messages appropriés sont affichés lorsque le système ne répond pas. Il met l'accent sur la mémoire, le processeur, etc. pendant les tests et vérifie dans quelle mesure ils récupèrent.
Le test de résistance est un type de test non fonctionnel et est généralement effectué après le test fonctionnel. Lorsqu'il existe également une exigence de test de charge, alors ce test peut être effectué comme cas extrême de test de charge. 90% du temps, le même outil d'automatisation peut être utilisé pour les tests de charge et de contrainte.
J'espère que vous auriez acquis un bon aperçu du concept de test de stress !!
lecture recommandée
- Test de charge avec les didacticiels HP LoadRunner
- Test de performance vs test de charge vs test de stress (différence)
- Guide complet de test de charge pour les débutants
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Test alpha et test bêta (un guide complet)
- Guide du débutant sur les tests de pénétration des applications Web
- Test de charge, de stress et de performance des applications Web à l'aide de WAPT
- Test fonctionnel vs test non fonctionnel