stability testing software testing
Les tests de stabilité font partie des tests de performances. Ce didacticiel explique les objectifs, l'importance et la nécessité des tests de stabilité avec des exemples:
Les tests de stabilité sont des tests «non fonctionnels». Ici, l'équipe ne teste pas les fonctionnalités et les fonctionnalités de base du site; mais teste les caractéristiques du produit logiciel telles que la «robustesse», la «gestion des erreurs», la «fiabilité» et la stabilité du produit ».
Prenons l'exemple d'une personne qui achète un nouveau produit sur le marché ( Par exemple, un téléphone portable). L'acheteur s'attendra à ce que le produit fonctionne uniformément pendant une longue période, sans aucun échec. De même, les utilisateurs du site Web et de l'application mobile s'attendent à ce que le site Web ou les applications mobiles correspondants fonctionnent avec une fiabilité et une stabilité élevées.
Prenons maintenant le cas des utilisateurs qui tentent d'acheter des produits à partir de portails de commerce électronique. Si un grand nombre d'utilisateurs utilisent simultanément le même portail, les chances de dégradation des performances du site Web sont élevées. Les utilisateurs peuvent également rencontrer un temps de réponse lent ou même une fuite de mémoire pendant la session.
Ces problèmes soulèvent des menaces tant pour les développeurs que pour les parties prenantes. Il incombe à l’équipe de test de détecter ces problèmes et de les signaler à l’équipe de développement avant d’atteindre les utilisateurs finaux. Ce type de test fera l'objet de tests de performance. Les tests de stabilité font partie des tests de performances.
Ce que vous apprendrez:
Vue d'ensemble des tests de stabilité
Comme mentionné précédemment, les tests de stabilité sont également définis comme des tests «non fonctionnels». Ici, les équipes de test vérifient la robustesse, la gestion des erreurs, la fiabilité et la stabilité du produit.
Ces tests sont également appelés «tests d’endurance» ou «tests de trempage». Il est également connu sous le nom de «test de charge extrême».
Dans ce type de test, les testeurs vérifieront comment le portail en ligne répond lorsque de nombreux utilisateurs actifs utilisent le site Web simultanément. Les testeurs doivent également vérifier la réponse du système dans un tel environnement.
Dans de nombreuses occasions, les sites Web doivent fonctionner en continu pendant des semaines (voire des mois) sans possibilité de redémarrer le serveur. Les utilisateurs actifs de ces sites Web (les utilisateurs utilisant actuellement le site Web) peuvent être formidables et chaque utilisateur s'attend à une performance transparente.
Le rôle des testeurs est de donner confiance aux développeurs et de garantir aux utilisateurs finaux qu'ils peuvent utiliser un système comme indenté, sans défaillance ni fuite de mémoire, même en cas de trafic élevé. Pour cela, l'application est soumise à une charge maximale (jusqu'au point de rupture de l'application) et le comportement du système est vérifié dans de telles conditions.
Ces tests sont généralement effectués avant la sortie du logiciel. Les testeurs doivent s'assurer que l'application est capable de gérer la charge prévue sur le site Web. Parfois, le système peut tomber en panne en raison d'une charge lourde ou devenir lent ou même montrer des comportements inattendus.
La stabilité du logiciel dépend fortement de la performance transparente du système dans les conditions stressantes mentionnées ci-dessus. Ainsi, les tests de stabilité jouent un rôle très important.
Objectifs des tests de stabilité
Les objectifs sont énumérés ci-dessous:
- Pour trouver la durabilité du système.
- Trouvez la stabilité de l'application et augmentez ainsi la confiance du développeur.
- Trouvez le défaut du système dans un environnement stressant.
- Évaluation globale et efficacité du produit.
- Pour s'assurer que le système peut gérer un programme volumineux.
- Pour tester le temps de réponse d'une application.
- Pour vérifier la connectivité de la base de données.
Faits sur les tests de stabilité
Quelques faits utiles sont énumérés ci-dessous:
- Les tests de stabilité nécessitent un environnement de test approprié.
- Pour obtenir de meilleurs résultats, les tests de stabilité nécessitent une approche bien planifiée et structurée.
- C'est un processus qui prend du temps. Le temps nécessaire au processus de test peut varier en fonction des exigences du client, du type de produit et des politiques de l'entreprise.
- L'isolement du système est important dans cette forme de test. Lors du test de stabilité de l'application, il y a des chances que les données soient définitivement perdues ou corrompues.
- Les tests d'endurance peuvent provoquer des défaillances des composants d'application, de sorte que les utilisateurs finaux peuvent observer des exceptions non gérées.
Différence entre stabilité et fiabilité dans un système logiciel
Il existe une différence substantielle entre la fiabilité et la stabilité dans une application logicielle. Cela peut être expliqué à l'aide d'un exemple.
Exemple:
Considérez qu'un utilisateur a installé une nouvelle application sur son téléphone portable et l'a lancée. Si l'application installée plante après toutes les 3 minutes d'utilisation, cela va certainement gêner l'utilisateur. Mais si l'utilisateur pouvait restaurer les données sans aucune perte après la relance de l'application, l'application ne perdra pas sa fiabilité. Une telle application peut être considérée comme fiable mais ne peut être considérée comme stable.
où puis-je regarder l'anime gratuitement en ligne
D'un autre côté, prenez le scénario dans lequel les données d'application ne sont pas enregistrées correctement. Ici, l'application fonctionne bien et ne plante pas (comme toutes les 3 minutes). Une telle application peut être ou ne peut pas être considérée comme fiable mais peut être considérée comme «stable».
La fiabilité et la stabilité sont comme les deux faces d'une même médaille. N'oubliez donc pas que la fiabilité et la stabilité sont toutes deux importantes pour un produit d'un point de vue commercial.
Exemples de tests de stabilité:
Selon une approche courante, lorsqu'un utilisateur achète un nouveau téléphone mobile, il effectue sciemment ou non un test de stabilité. L'utilisateur enregistrera de nombreuses images, photos, vidéos, documents, etc. dans la mémoire de l'appareil et vérifiera si trop de données stockées ont affecté les performances de l'appareil ou non. Ceci est un exemple particulier de test de stabilité.
En raison d'immenses données stockées, notre appareil peut parfois se bloquer, puis l'utilisateur doit supprimer certaines données ou effacer les fichiers temporaires pour que l'appareil retrouve ses performances. Après ce test, l'utilisateur aura une idée claire de la capacité du système.
Les portails d'achat en ligne sont un autre exemple en temps réel. Pendant une saison de «vente / festival», de nombreuses personnes achètent des produits de ces types de portails Web. La performance d'un site Web doit répondre aux attentes des utilisateurs.
Les testeurs doivent donc tester le site en gardant à l’esprit la «ruée» attendue qui est susceptible de se produire sur ces sites pendant ces jours.
Test de stabilité d'une connexion Internet
Ici, le cas de test sera de vérifier la stabilité de notre connexion Internet. Lors de l'établissement d'une connexion sur Internet et de la demande de pages Web, en raison de la perte de paquets, les utilisateurs doivent subir une latence incohérente dans la visualisation des pages Web.
Parfois, la perte de paquets se produit lorsqu'il n'atteint pas la destination. C'est en raison de la perte de paquets que beaucoup d'entre nous peuvent avoir rencontré des problèmes similaires lorsque nous utilisons des appels vidéo Skype, jouons à des jeux sur Internet ou sommes déconnectés au hasard d'Internet.
Prérequis pour tester la connectivité Internet:
- Pour tester la stabilité d'Internet, nous avons besoin d'un navigateur Web dans lequel le pare-feu est désactivé.
- Choisissez une adresse Web ( Par exemple, https://www.google.com/ ) qui est peu susceptible d'échouer.
- Utilisez Google Spreadsheet ou Microsoft Excel pour enregistrer le résultat, car il est facile à comprendre et plus lisible pour les utilisateurs.
- Vérifiez à nouveau la connectivité Internet, les appareils et vérifiez à nouveau les connexions. Nous effectuerons ensuite les tests mentionnés ci-dessous.
Méthodes utilisées pour tester la connectivité Internet:
La meilleure façon de tester la connectivité est de visiter Test de rapidité (avant de poursuivre la lecture, veuillez visiter le site). Dans SpeedTest.net, nous avons une disposition pour choisir les serveurs. Choisissez et exécutez le serveur près de chez vous.
Après cela, le site effectuera des calculs basés sur certains algorithmes prédéfinis et affichera immédiatement le rapport qui détermine la qualité de notre connexion Internet. Dans le rapport, le pourcentage de perte de paquets est inclus. Ce devrait être «0%».
La perte de paquets «0%» détermine la stabilité élevée de la connexion. Tout nombre supérieur à «0» indique que la connectivité est instable.
La deuxième méthode consiste à utiliser l’invite ‘cmd’ et à saisir la commande ‘ping’ (veuillez vous référer à la figure ci-dessous). Ici, en utilisant l'invite de commande, nous pouvons également tester la stabilité et la latence d'Internet en temps réel.
Dans la figure, veuillez consulter la section «Statistiques Ping».
Ici,
Nombre de paquets envoyés = 4
Nombre de paquets reçus = 4
Nombre de paquets perdus = 0
Le résultat montre que la connexion est très stable.
Processus utilisé:
Étape 1: Les testeurs choisiront l'une des deux méthodes expliquées ci-dessus.
Étape 2: Les testeurs exécuteront le processus et enregistreront les informations nécessaires obtenues en réponse à la connectivité Internet, dans une feuille de calcul.
Étape 3: Ils répéteront le processus 3 ou 4 fois par semaine.
(Étant donné que les tests de stabilité sont effectués sur une période de temps, les testeurs devront planifier le processus au moins plus de deux fois par semaine.)
Étape 4: Les résultats sont enregistrés dans des feuilles de calcul.
Les testeurs doivent noter la date d'exécution du processus. Comparez le résultat obtenu à chaque date pour avoir une idée de la stabilité de notre réseau actuel.
Remarque: Point d'arrêt est l'état du système auquel le système s'effondrera lorsqu'une charge supplémentaire lui sera donnée. Il définit la capacité du système.
Le document de spécification est un document remis aux testeurs par le chef d'équipe et contiendra des détails sur la charge prévue dans le système. Lors des tests de stabilité, les testeurs vérifieront le point d'arrêt du système en fonction des directives qui leur sont fournies dans le document de spécification.
L'équipe de test vérifiera le système en testant l'application avec une charge supérieure / inférieure au point d'arrêt spécifié dans le document de spécification. Ceci est différent du cas des tests de charge.
code c ++ de tri à bulles
Dans les tests de stabilité, nous n'utiliserons que la charge attendue pour les tests, mais dans les tests de charge, une charge inattendue est donnée à l'application et les testeurs vérifient la capacité de l'application.
Cycle de vie des tests logiciels basés sur les tests de stabilité
Les différentes phases de la Cycle de vie des tests logiciels sont enrôlés ci-dessous:
- Analyse des besoins
- Plan de test
- Développement de cas de test
- Configuration de l'environnement de test
- Exécution de cas de test
- Clôture du test
Comprenons toutes les phases ci-dessus en détail.
# 1) Analyse des besoins
Dans cette phase, l'équipe de test décidera des différents types de tests à effectuer dans l'application. Cela dépend uniquement des exigences du client et du type d'application. Par exemple, les testeurs testent une application bancaire puis le test le plus prioritaire, dans ce cas, est le test de sécurité. Si les testeurs testent une application immobilière, ils donneront la priorité aux tests fonctionnels.
# 2) Planification des tests
Dans cette phase, les portées des tests sont discutées. Les testeurs discuteront du besoin d'automatisation. Pour les tests de stabilité, les processus de test sont fastidieux et doivent être répétés plusieurs fois pendant une certaine durée, l'automatisation sera un bon choix. «LoadStrom» est un bon outil pour effectuer des tests de stabilité à l’aide de l’automatisation.
Dans cette phase, nous discuterons du budget et du délai de test avec le client. Étant donné que les tests prennent du temps, le budget et le délai doivent respecter le plan de test.
# 3) Développement de cas de test
Un cas de test pour tester l'application est créé dans cette phase.
# 4) Environnement de test
L'environnement de test est un facteur essentiel pour tester la stabilité. Nous avons besoin d'un environnement de test approprié qui soit la réplique de notre environnement de production. L'environnement d'origine doit être inutilisé car pendant les tests, le site peut parfois planter ou même perdre des données.
# 5) Exécution des tests
Dans cette phase, les cas de test sont exécutés et les résultats des tests sont vérifiés. C'est une phase qui prend du temps. Les problèmes généraux rencontrés par les testeurs dans cette phase sont les fuites de mémoire, les problèmes de connectivité des données, le temps de réponse lent, etc.
# 6) Clôture du test
Dans cette phase, tous les membres de l'équipe se rencontreront et discuteront des critères de sortie utilisés dans le projet. Les critères de sortie dépendent de facteurs tels que le nombre de défauts détectés et la durée des tests.
Outils utilisés dans les tests de stabilité
Les outils suivants sont utilisés:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Apparence
- LoadUI
- Testeur de performances rationnelles
Comment utiliser Apache JMeter pour les tests d'endurance?
Apache JMeter est un bon outil pour les tests d'endurance. Avant de commencer les tests, les testeurs doivent avoir une bonne connaissance des objectifs commerciaux. Après cela, les testeurs créeront des scripts de test. Ensuite, nous allons configurer les paramètres du groupe de threads dans JMeter.
Lors des tests d'endurance à l'aide de JMeter, nous devons spécifier les facteurs suivants:
- Le nombre de threads: Cela indique le nombre attendu d'utilisateurs sur le site.
- Période de montée en puissance: Cela indique le temps nécessaire à chaque thread pour se terminer. Si nous avons 5 threads, la période de démarrage est de 50 secondes.
- Nombre de boucles: Cela indique le nombre de fois que le processus est répété. Pour les tests d'endurance, il est défini pour toujours.
- Planificateur: Dans ce test, nous utiliserons la fonctionnalité du planificateur. Nous devons spécifier la configuration du planificateur en fonction de l'exigence.
Conclusion
De nombreuses applications sont mal conçues et ne libèrent pas la mémoire de l'appareil après l'utilisation. Cela conduira progressivement à une perte de mémoire. Nous pouvons surmonter le problème avec des tests de stabilité. Les tests de stabilité sont donc très importants. Ce sont des tests non fonctionnels. Il ne concerne que les caractéristiques de l'application. Ici, les tests ne concernent pas le comportement du système.
meilleures applications de téléchargement de mp3 pour Android
J'espère que vous avez compris l'importance et la nécessité des tests de stabilité.
lecture recommandée
- Emploi d'assistant QA en test logiciel
- Cours de test logiciel: à quel institut de test logiciel dois-je adhérer?
- Travail d'indépendant de rédacteur de contenu technique de test de logiciels
- Choisir les tests de logiciels comme carrière
- Conseils de test de logiciel pour les testeurs novices
- Commentaires et évaluations du cours de test de logiciels
- Comment garder la motivation vivante chez les testeurs de logiciels?
- Qu'est-ce que le test de singe dans le test de logiciel?