Qu’est-ce que les tests de fiabilité ? (Exemple)

Qu’est-ce que les tests de fiabilité ?

Test de fiabilité est un processus de test logiciel qui vérifie si le logiciel peut effectuer une opération sans échec dans un environnement particulier pendant une période de temps spécifiée. Le but des tests de fiabilité est de garantir que le produit logiciel est exempt de bogues et suffisamment fiable pour son objectif attendu.

La fiabilité signifie « donner la même chose », 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é.

Exemple de test de fiabilité

La probabilité qu'un ordinateur dans un magasin reste 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,

  • Modélisation
  • Mesure
  • Formation

La formule suivante permet de calculer la probabilité de défaillance.

Probability = Number of failing cases/ Total number of cases under consideration

Exemple de test de fiabilité

Facteurs influençant la fiabilité des logiciels

  1. Le nombre de défauts présents dans le logiciel
  2. La façon dont les utilisateurs exploitent le système

Les tests de fiabilité sont l’une des clés d’une meilleure qualité logicielle. Ces tests permettent de découvrir de nombreux problèmes dans la conception et les fonctionnalités du logiciel.

L'objectif principal des tests de fiabilité est de vérifier si le logiciel répond aux exigences de fiabilité du client.

Les 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.

L'objectif derrière la réalisation de tests de fiabilité est :

  1. Trouver la structure des échecs répétés.
  2. Trouver le nombre de pannes qui se produisent correspond à la durée spécifiée.
  3. Découvrir la cause principale de l’échec.
  4. Mener Test de performance de divers modules d'applications logicielles après correction d'un défaut.

Après la sortie du produit, nous pouvons également minimiser la possibilité d'apparition de défauts et ainsi améliorer la fiabilité du logiciel. Certains des outils utiles à cet effet sont : analyse de tendance, orthogonal Défaut Classification et méthodes formelles, etc.

Types de tests de fiabilité

Les tests de fiabilité des logiciels comprennent les tests de fonctionnalités, test de charge et Les tests de régression

Test de fonctionnalités : -

Les tests en vedette vérifient les fonctionnalités fournies par le logiciel et sont effectués selon les étapes suivantes : -

  • Chaque opération dans le 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, puis il commencera à se dégrader. Des tests de charge sont effectués pour vérifier les performances du logiciel sous la 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 de bogues précédents. Des tests de régression sont effectués après chaque modification 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 inclut le processus de test à mettre en œuvre, les données pour l'environnement de test, le calendrier des tests, les points de test, etc.

Pour commencer les tests de fiabilité, le testeur doit continuer à suivre les éléments suivants :

  • Établir des objectifs de fiabilité
  • Développer un profil opérationnel
  • Planifier et exécuter des tests
  • Utiliser les résultats des tests pour prendre des décisions

Comme nous l'avons mentionné précédemment, il existe trois catégories dans lesquelles nous pouvons effectuer des tests de fiabilité : Modélisation, mesure et 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 panne
  • 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 de prédiction

2. Modélisation des estimations

  • Des résultats significatifs peuvent être obtenus en appliquant des modèles appropriés.
  • Des hypothèses et des abstractions peuvent être formulées pour simplifier les problèmes, et aucun modèle unique ne conviendra à toutes les situations. Les principales différences entre les 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 de logiciels.
Lorsqu'il est utilisé dans le cycle de développement Il sera généralement créé avant les phases de développement ou de tests. Il sera généralement utilisé plus tard dans le cycle de vie du développement logiciel.
Délai Cela permettra de prédire la fiabilité dans le futur. Il prédira la fiabilité soit pour le moment présent, soit dans le futur.

Étape 2) Mesure

La fiabilité du logiciel ne peut pas être mesurée directement ; par conséquent, d'autres facteurs connexes sont pris en compte pour estimer la fiabilité du logiciel. Les pratiques actuelles de mesure de la fiabilité des logiciels sont divisées en quatre catégories : -

Mesure 1 : métriques du produit

Les métriques produit sont la combinaison de 4 types de métriques :

  • Taille du logiciel: – Line of Code (LOC) est une première approche intuitive pour mesurer la taille du logiciel. Seul le code source est pris en compte dans cette métrique, et les commentaires et autres instructions non exécutables ne seront pas pris en compte.
  • Point de fonction Métrique:- Function Pont Metric 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é est directement lié à la fiabilité du logiciel, il est donc important de représenter la complexité. La métrique orientée complexité détermine la complexité de la structure de contrôle d'un programme en simplifiant le code en une représentation graphique.
  • Mesures de couverture des tests:- C'est un moyen d'estimer les défauts et la fiabilité en effectuant des tests de produits logiciels. La fiabilité du logiciel signifie qu'elle a pour fonction de déterminer que le système a été entièrement vérifié et testé.

Mesure 2 : indicateurs de gestion de projet

  • Les chercheurs ont réalisé qu’une bonne gestion peut donner lieu à de meilleurs produits.
  • Une bonne gestion peut atteindre une plus grande fiabilité en utilisant de meilleurs processus de développement, de gestion des risques et de gestion de la configuration.

Mesure 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.

Mesure 4 : métriques de pannes et de défaillances

Les mesures de pannes et de défaillances sont principalement utilisées pour vérifier si le système est totalement exempt de pannes. Les types de défauts détectés au cours du processus de test (c'est-à-dire avant la livraison) ainsi que les échecs signalés par les utilisateurs après la livraison sont collectés, résumés et analysés pour atteindre cet objectif.

La fiabilité du logiciel est mesurée en termes de temps moyen entre pannes (MTBF). Le MTBF consiste en

  • Moyenne jusqu'à 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 réparer la panne.
MTBF = MTTF + MTTR

La fiabilité d'un bon logiciel se situe entre 0 et 1.

La fiabilité augmente lorsque les erreurs ou les bugs 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 manière d'améliorer sera également différente. Deux contraintes principales, le temps et le budget, limiteront les efforts déployés pour améliorer la fiabilité des logiciels.

Exemples de méthodes pour les tests de fiabilité

Tester la fiabilité consiste à tester une application pour découvrir et supprimer les pannes 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

Fiabilité test-retest

Pour estimer la fiabilité test-retest, un seul groupe de candidats effectuera le processus de test à quelques jours ou semaines d’intervalle seulement. Le temps doit être suffisamment court pour que les compétences du candidat dans le domaine puissent être évaluées. La relation entre les scores des candidats 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

Fiabilité des formulaires parallèles

De nombreux examens comportent plusieurs formats de questions, ces formes d'examen parallèles assurent la sécurité. La fiabilité des formulaires parallèles est estimée en administrant les deux formulaires de l'examen au même groupe de candidats. Les scores du candidat 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 manière dont on peut s'attendre à ce que les résultats des candidats soient cohérents d'une forme de test à l'autre.

Cohérence des décisions

Après avoir effectué le test-retest de fiabilité et de fiabilité des formulaires parallèles, nous obtiendrons un résultat de réussite ou d'échec des candidats. La fiabilité de cette décision de classification est estimée en fiabilité de cohérence de la décision.

Importance des tests de fiabilité

Une évaluation approfondie de la fiabilité est nécessaire pour améliorer les performances des produits et processus logiciels. 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 : -

  1. Un grand nombre de scénarios de test doivent être exécutés pendant une période prolongée pour déterminer combien de temps le logiciel s'exécutera sans échec.
  2. La distribution des scénarios 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 scénarios de test qui doivent être alloués à cette fonction ou sous-ensemble est élevé.

Outils de test de fiabilité

Une partie de la Outils de test de fiabilité utilisés pour la fiabilité des logiciels sont :

1. WEIBULL++ : - Durée de vie de fiabilité Historique

2. RGA : - Analyse de la croissance de la fiabilité

3. RCM : - Maintenance centrée sur la fiabilité

Résumé

Les tests de fiabilité sont une partie importante d'un programme d'ingénierie de fiabilité. Plus exactement, c’est l’âme d’un programme d’ingénierie de fiabilité. De plus, 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 logiciels.

In Génie logiciel, Les tests de fiabilité peuvent être classés en trois segments,

  • Modélisation
  • Mesure
  • Formation

Facteurs influençant la fiabilité des logiciels

  • Le nombre de défauts présents dans le logiciel
  • La façon dont les utilisateurs exploitent le système