Tests de stabilité dans les tests de logiciels
Test de stabilité
Test de stabilité est un type de test logiciel non fonctionnel effectué pour mesurer l'efficacité et la capacité d'une application logicielle à fonctionner en continu sur une longue période de temps. Le but des tests de stabilité est de vérifier si l'application logicielle plante ou échoue lors d'une utilisation normale à tout moment en exerçant toute sa gamme d'utilisation.
Les tests de stabilité sont effectués pour vérifier l'efficacité d'un produit développé au-delà de sa capacité opérationnelle normale, souvent jusqu'à un point d'arrêt. La gestion des erreurs, la fiabilité du logiciel, la robustesse et l'évolutivité d'un produit sous forte charge sont plus importantes que la vérification du comportement du système dans des circonstances normales.
Les tests de stabilité évaluent les problèmes de stabilité. Ces tests visent principalement à solliciter au maximum le composant logiciel. C'est une technique non fonctionnelle.

Les tests de stabilité sont également appelés tests de charge ou essais d'endurance.
Risques si le système testé n'a pas subi le test de stabilité
Pour une application en cours de test dans laquelle un grand nombre d'utilisateurs sont introduits et des applications qui doivent fonctionner pendant des mois sans redémarrer, un certain nombre de problèmes sont susceptibles de survenir :
L'erreur possible peut être affrontée,
- le système ralentit
- le système rencontre des problèmes de fonctionnalité
- le système affiche un comportement filaire
- le système plante complètement
En génie logiciel, Test de stabilité implique généralement de tester le système avec de gros utilisateurs (virtuel) et de mesurer les paramètres de performance pour vérifier si le système peut supporter la charge prévue.
Pourquoi faire des tests de stabilité
Ce type de test aide les utilisateurs à comprendre la manière dont le système fonctionnera dans des situations réelles.
Par conséquent, les tests de stabilité vous permettent de vérifier,
- Donnez confiance dans la stabilité de votre système testé.
- Assurez-vous que votre système peut gérer des programmes volumineux.
- Surveillez l’efficacité de votre système.
- Testez la stabilité du système sous contrainte.
Il joue un rôle important dans le développement de produits car il est utilisé pour déterminer les limites d'un produit logiciel en cours de test avant sa sortie ou les domaines nécessitant davantage d'amélioration avant la mise en ligne ou en production du produit.
Un exemple très courant de technique de test de stabilité est
Online Ssaut Portals : les tests de stabilité vérifieront comment le site Web se comportera lorsque :
- Quantité élevée de données saisies aux heures de pointe
- Nombre de hits à un moment précis
- Problème de chargement de page en même temps
- Comportement du système
- La réactivité du système et bien d’autres encore relèvent Test de stabilité
un autre exemple
A Processeur Le test est une forme populaire de test de stabilité sous Test de performance technique. Ce test vérifie la stabilité du processeur et surveille également ses performances à mesure que la charge de travail du processeur augmente.
Comment faire des tests de stabilité
- Pour déterminer la portée et l'objectif des tests, nous devons nous assurer que le ou les serveurs d'applications ne tombent pas en panne lors des exécutions du test de charge.
- Pour déterminer les problèmes commerciaux, vérifiez les performances et la charge du système selon le point de vue de l'utilisateur final.
- Pour attribuer les différentes responsabilités et rôles comme -Création d'un plan de test, Cas de test conception, revue des cas de test, exécution des tests, etc.
- Pour garantir les livrables du test dans les délais impartis
- Pour assurer une bonne test de charge L'équipe d'outils et d'expérience est présente pour la même chose.
- Mesurer le risque et le coût impliqués par les tests. Cela déterminera le coût de chaque exécution en termes d’utilisation du processeur et de mémoire.
- Détermine le Défaut le suivi et le reporting ainsi que leur adéquation avec les exigences.
Scénario de test pour les tests de stabilité des performances du processeur
- Pour vérifier la limite supérieure du système.
- Comment le système plante ou récupère.
- Nombre total de transactions terminées par demande.
- Que la réponse à la transaction reste stable ou augmente avec le temps.
- Comment le système se comporte sous forte charge.
- Sa réponse et son comportement sous forte charge.
Rapports de test pour les tests de stabilité
Plusieurs statistiques sont collectées et mesurées lors de l'exécution des tests ; ces chiffres sont analysés afin de générer un rapport et d'identifier d'éventuels problèmes de performances.
Des exemples de statistiques collectées lors du test sont :
- Temps de réponse aux transactions: Le temps moyen mis pour effectuer les transactions pendant le test. Cette statistique évaluera si les performances du serveur se situent dans les périodes de temps de performances de transaction minimales et maximales acceptables définies pour le système. Ces informations évalueront le temps nécessaire au traitement de la demande par le serveur Web et envoyée au serveur d'applications, qui en la plupart des cas feront une requête à un serveur de base de données.
- Coups par seconde : Le nombre de visites effectuées sur le serveur par les utilisateurs. Ces statistiques permettent de déterminer le nombre de charges générées par les utilisateurs, par rapport au nombre de hits.
- Débit: Quantité de débit sur le serveur Web pendant le test, mesurée en octets. Le débit désigne la quantité de données que les utilisateurs reçoivent du serveur à un moment donné. Cette statistique permet d'évaluer la quantité de charge générée par les utilisateurs.
- Transaction par seconde : Il s'agit du nombre total de transactions terminées (réussies et échouées) effectuées au cours d'un test. Cette statistique permet de vérifier la charge réelle des transactions sur le système.
- CPU: Pourcentage d'utilisation du processeur dépensé lors d'un test.
- Mémoire: Utilisation de la mémoire lors d'un test.
- Disque: utilisation des espaces disque dépensés lors d'un test.
Bases des tests de stabilité
Test de stabilité relève des tests de performances – une technique utilisée pour vérifier certains des attributs de qualité du logiciel tels que la stabilité, la fiabilité et la disponibilité.
Ces tests sont utilisés pour déterminer la vitesse à laquelle un système ou un sous-système s'exécute sous une charge de travail particulière.
Il existe de nombreux types de tests de performances, parmi lesquels les tests de stabilité.
- Tests de résistance: Il s'agit d'un type de test qui vérifie la robustesse du système au-delà de la capacité du système.
- Test de pointe: Il est utilisé pour vérifier le comportement d’un système en augmentant instantanément la charge d’un système. L'objectif est de vérifier à quel moment le système aura des problèmes de performances, ou il réussira.
- Tests d'évolutivité : Il est utilisé pour vérifier les capacités d’un système. Quelle sera l'efficacité du système face à des besoins croissants, à des changements de taille et à des changements de volume.
- Test de volume: Il s'agit d'une technique de test non fonctionnel dans laquelle le logiciel testé est soumis à un énorme volume de données et le comportement d'un système est vérifié en conséquence.
- Tests de charge ou de stabilité: (déjà discuté ci-dessus)
Outils de test de stabilité
Certains des outils pour les tests de performances sont les suivants :
- CHARGEMENT Web
- LoadRunner
- Apache JMeter
- NeoCharge
- Test Cloud
- Tempête de charge
- ChargerUI
- WAPT
- Impact de charge
- Chargeur
- Httperf
- OuvrirSTA
Conclusion
Les tests de stabilité sont un processus non fonctionnel consistant à tester le comportement de l'application en appliquant une charge maximale. Elle est réalisée pour connaître l'évolutivité du système dans un environnement donné.
