Test de fiabilité
Le test de fiabilité est un processus de test logiciel qui vérifie si le logiciel peut effectuer une opération sans échec pendant une période de temps spécifiée dans un environnement particulier. Le but des tests de fiabilité est de s'assurer que le produit logiciel est exempt de bogues et suffisamment fiable pour son utilisation prévue.
La fiabilité signifie «donner le même résultat», en d'autres termes, le mot «fiable» signifie que quelque chose est fiable et qu'il donnera le même résultat à chaque fois. Il en va de même pour les tests de fiabilité.
Dans ce didacticiel, vous apprendrez-
- Qu'est-ce que le test de fiabilité?
- Exemple de test de fiabilité
- Facteurs influençant la fiabilité des logiciels
- Pourquoi faire des tests de fiabilité
- Types de tests de fiabilité
- Comment faire des tests de fiabilité
- Exemples de méthodes de test de fiabilité
- Outils de test de fiabilité
Exemple de test de fiabilité
La probabilité qu'un PC dans un magasin soit opérationnel pendant huit heures sans tomber en panne est de 99%; c'est ce qu'on appelle la fiabilité.
Les tests de fiabilité peuvent être classés en trois segments,
- La modélisation
- La mesure
- Amélioration
La formule suivante sert à calculer la probabilité de défaillance.
Probabilité = Nombre de cas défaillants / Nombre total de cas considérés
Facteurs influençant la fiabilité des logiciels
- Le nombre de défauts présents dans le logiciel
- La façon dont les utilisateurs font fonctionner le système
- Les tests de fiabilité sont l'une des clés d'une meilleure qualité logicielle. Ce test permet de découvrir de nombreux problèmes dans la conception et la fonctionnalité du logiciel.
- Le but principal des tests de fiabilité est de vérifier si le logiciel répond à l'exigence de fiabilité du client.
- Des tests de fiabilité seront effectués à plusieurs niveaux. Les systèmes complexes seront testés aux niveaux de l'unité, de l'assemblage, du sous-système et du système.
Pourquoi faire des tests de fiabilité
Des tests de fiabilité sont effectués pour tester les performances du logiciel dans les conditions données.
Les objectifs de la réalisation des tests de fiabilité sont les suivants:
- Pour trouver la structure des échecs répétés.
- Pour trouver le nombre de pannes qui se produisent est la durée spécifiée.
- Pour découvrir la cause principale de l'échec
- Pour effectuer des tests de performance de divers modules d'application logicielle après avoir corrigé le défaut
Après la sortie du produit également, nous pouvons minimiser la possibilité d'apparition de défauts et ainsi améliorer la fiabilité du logiciel. Certains des outils utiles pour cela sont: l'analyse des tendances, la classification des défauts orthogonaux et les méthodes formelles, etc.
Types de tests de fiabilité
Les tests de fiabilité des logiciels comprennent les tests de fonctionnalités, les tests de charge et les tests de régression
Test des fonctionnalités: -
Les tests en vedette vérifient la fonctionnalité fournie par le logiciel et sont effectués dans les étapes suivantes: -
- Chaque opération du logiciel est exécutée au moins une fois.
- L'interaction entre les deux opérations est réduite.
- Chaque opération doit être vérifiée pour sa bonne exécution.
Test de charge: -
Habituellement, le logiciel fonctionnera mieux au début du processus et après cela, il commencera à se dégrader. Le test de charge est effectué pour vérifier les performances du logiciel sous une charge de travail maximale.
Test de régression:-
Les tests de régression sont principalement utilisés pour vérifier si de nouveaux bogues ont été introduits en raison de la correction des bogues précédents. Des tests de régression sont effectués après chaque changement ou mise à jour des fonctionnalités du logiciel et de leurs fonctionnalités.
Comment faire des tests de fiabilité
Les tests de fiabilité sont coûteux par rapport aux autres types de tests. Une planification et une gestion appropriées sont donc nécessaires lors des tests de fiabilité. Cela comprend le processus de test à mettre en œuvre, les données pour l'environnement de test, le calendrier de test, les points de test, etc.
Pour commencer les tests de fiabilité, le testeur doit continuer à suivre les choses,
- Établir des objectifs de fiabilité
- Développer un profil opérationnel
- Planifier et exécuter des tests
- Utilisez les résultats des tests pour prendre des décisions
Comme nous l'avons vu précédemment, il existe trois catégories dans lesquelles nous pouvons effectuer les tests de fiabilité, - la modélisation, la mesure et l'amélioration .
Les paramètres clés impliqués dans les tests de fiabilité sont: -
- Probabilité de fonctionnement sans panne
- Durée de fonctionnement sans défaillance
- L'environnement dans lequel il est exécuté
Étape 1) Modélisation
La technique de modélisation logicielle peut être divisée en deux sous-catégories:
1. Modélisation des prédictions
2. Modélisation d'estimation
- Des résultats significatifs peuvent être obtenus en appliquant des modèles appropriés.
- Des hypothèses et des abstractions peuvent être faites pour simplifier les problèmes et aucun modèle unique ne conviendra à toutes les situations.
Les principales différences de deux modèles sont: -
Questions | Modèles de prédiction | Modèles d'estimation |
---|---|---|
Référence des données | Il utilise des données historiques | Il utilise les données actuelles du développement du logiciel. |
Lorsqu'il est utilisé dans le cycle de développement | Il sera généralement créé avant les phases de développement ou de test. | Il sera généralement utilisé à la dernière étape du cycle de vie du développement logiciel. |
Délai | Il prédira la fiabilité à l'avenir. | Il prédira la fiabilité pour le moment présent ou dans le temps futur. |
Étape 2) Mesure
La fiabilité du logiciel ne peut pas être mesurée directement et, par conséquent, d'autres facteurs connexes sont pris en compte afin d'estimer la fiabilité du logiciel. Les pratiques actuelles de mesure de la fiabilité des logiciels sont divisées en quatre catégories: -
1. Mesures du produit: -
Les métriques de produit sont la combinaison de 4 types de métriques:
- Taille du logiciel : - La ligne de code (LOC) est une approche initiale intuitive pour mesurer la taille du logiciel. Seul le code source est compté dans cette métrique, et les commentaires et autres instructions non exécutables ne seront pas comptés.
- Point de fonction métrique : - Fonction Pont métrique est la méthode de mesure de la fonctionnalité du développement logiciel. Il prendra en compte le nombre d'entrées, de sorties, de fichiers maîtres, etc. Il mesure la fonctionnalité fournie à l'utilisateur et est indépendant du langage de programmation.
- Complexité : - Elle est directement liée à la fiabilité du logiciel, il est donc important de représenter la complexité. La métrique orientée complexité est une méthode permettant de déterminer la complexité de la structure de contrôle d'un programme, en simplifiant le code en une représentation graphique.
- Test Coverage Metrics : - C'est un moyen d'estimer les défauts et la fiabilité en effectuant le test complet des produits logiciels. La fiabilité du logiciel signifie que c'est la fonction de déterminer que le système a été complètement vérifié et testé.
2. Mesures de gestion de projet
- Les chercheurs ont réalisé qu'une bonne gestion peut aboutir à de meilleurs produits.
- Une bonne gestion peut atteindre une plus grande fiabilité en utilisant un meilleur processus de développement, un processus de gestion des risques, un processus de gestion de configuration, etc.
3. Métriques de processus
La qualité du produit est directement liée au processus. Les métriques de processus peuvent être utilisées pour estimer, surveiller et améliorer la fiabilité et la qualité des logiciels.
4. Mesures des pannes et des pannes
Les métriques de pannes et de pannes sont principalement utilisées pour vérifier si le système est totalement exempt de pannes. Les types de pannes découvertes pendant le processus de test (c'est-à-dire avant la livraison) ainsi que les pannes signalées par les utilisateurs après la livraison sont collectées, résumées et analysées pour atteindre cet objectif.
La fiabilité du logiciel est mesurée en termes de temps moyen entre pannes (MTBF) . MTBF se compose de
- Moyenne à l'échec (MTTF): C'est la différence de temps entre deux échecs consécutifs
- Temps moyen de réparation (MTTR): C'est le temps nécessaire pour corriger la panne.
MTBF = MTTF + MTTR
La fiabilité d'un bon logiciel est un nombre compris entre 0 et 1.
La fiabilité augmente lorsque les erreurs ou les bogues du programme sont supprimés.
Étape 3) Amélioration
L'amélioration dépend entièrement des problèmes survenus dans l'application ou le système, ou encore des caractéristiques du logiciel. Selon la complexité du module logiciel, la voie de l'amélioration différera également. Deux contraintes principales de temps et de budget, qui limiteront les efforts sont consacrées à l'amélioration de la fiabilité du logiciel.
Exemples de méthodes de test de fiabilité
Le test de fiabilité consiste à exercer une application afin que les échecs soient découverts et supprimés avant le déploiement du système.
Il existe principalement trois approches utilisées pour les tests de fiabilité
- Fiabilité test-retest
- Fiabilité des formulaires parallèles
- Cohérence des décisions
Ci-dessous, nous avons essayé d'expliquer tout cela avec un exemple.
Fiabilité test-retest
Pour estimer la fiabilité test-retest, un seul groupe de candidats effectuera le processus de test à seulement quelques jours ou semaines d'intervalle. Le temps doit être suffisamment court pour que les compétences des candidats dans le domaine puissent être évaluées. La relation entre les scores du candidat de deux administrations différentes est estimée par corrélation statistique. Ce type de fiabilité démontre dans quelle mesure un test est capable de produire des scores stables et cohérents dans le temps.
Fiabilité des formulaires parallèles
De nombreux examens ont plusieurs formats de questions, ces formes d'examen parallèles offrent une sécurité. La fiabilité des formulaires parallèles est estimée en administrant les deux formes de l'examen au même groupe de candidats. Les scores des candidats sur les deux formulaires de test sont corrélés afin de déterminer dans quelle mesure les deux formulaires de test fonctionnent de manière similaire. Cette estimation de la fiabilité est une mesure de la cohérence des scores des candidats à travers les formulaires de test.
Cohérence des décisions
Après avoir fait le test-retest fiabilité et la fiabilité de forme parallèle, nous obtiendrons un résultat de la réussite ou de l'échec des candidats. C'est la fiabilité de cette décision de classification qui est estimée dans la fiabilité de cohérence des décisions.
Importance des tests de fiabilité
Une évaluation approfondie de la fiabilité est nécessaire pour améliorer les performances du produit logiciel et du processus. Tester la fiabilité des logiciels aidera dans une large mesure les gestionnaires de logiciels et les praticiens.
Pour vérifier la fiabilité du logiciel via des tests: -
- Un grand nombre de cas de test doit être exécuté pendant une période prolongée pour savoir combien de temps le logiciel s'exécutera sans échec.
- La distribution des cas de test doit correspondre au profil opérationnel réel ou prévu du logiciel. Plus une fonction du logiciel est exécutée souvent, plus le pourcentage de cas de test devant être alloués à cette fonction ou à ce sous-ensemble est élevé.
Outils de test de fiabilité
Certains des outils de test de fiabilité utilisés pour la fiabilité des logiciels sont:
1. WEIBULL ++: - Analyse des données de fiabilité sur la durée de vie
2. RGA: - Analyse de la croissance de la fiabilité
3. RCM: - Maintenance centrée sur la fiabilité
Résumé:
Les tests de fiabilité sont la partie importante d'un programme d'ingénierie de fiabilité. Plus correctement, c'est l'âme du programme d'ingénierie de la fiabilité.
En outre, les tests de fiabilité sont principalement conçus pour découvrir des modes de défaillance particuliers et d'autres problèmes lors des tests de logiciels.
En génie logiciel, les tests de fiabilité peuvent être classés en trois segments,
- La modélisation
- La mesure
- Amélioration
Facteurs influençant la fiabilité des logiciels
- Le nombre de défauts présents dans le logiciel
- La façon dont les utilisateurs font fonctionner le système