what is reliability testing
Qu'est-ce que le test de fiabilité?
c programmation des questions et réponses d'entretien avec explications pdf
La fiabilité est définie comme la probabilité de fonctionnement du logiciel sans défaillance pendant une période de temps spécifiée dans un environnement particulier.
Des tests de fiabilité sont effectués pour s'assurer que le logiciel est fiable, qu'il répond à l'objectif pour lequel il est réalisé, pendant une durée spécifiée dans un environnement donné et qu'il est capable de rendre un fonctionnement sans défaut.
Dans ce monde mécanisé, les gens croient aveuglément en n'importe quel logiciel. Quel que soit le résultat du système logiciel, les gens le suivent en croyant que le logiciel sera toujours correct. En fait, c'est une erreur courante que nous faisons tous.
Les utilisateurs pensent que les données affichées sont correctes et que le logiciel fonctionnera toujours correctement. C'est là qu'intervient le besoin de tests de fiabilité.
Selon l'ANSI, la fiabilité du logiciel est définie comme la probabilité de fonctionnement du logiciel sans défaillance pendant une période de temps spécifiée dans un environnement particulier.
Si un produit logiciel fonctionne sans défaillance pendant une période donnée dans un environnement spécifié, il est alors appelé logiciel fiable.
La fiabilité du logiciel réduira les pannes pendant le développement du logiciel. Dans les appareils électroniques ou les instruments mécaniques, le logiciel ne peut pas avoir une «usure», ici «l’usure» se produit uniquement en raison de «défauts» ou de «bogues» dans le système logiciel.
Lecture recommandée => Trucs et astuces pour trouver un bogue
Ce que vous apprendrez:
- Qu'est-ce que le test de fiabilité?
Qu'est-ce que le test de fiabilité?
Dans le monde d’aujourd’hui, les applications logicielles sont utilisées dans tous les aspects de notre vie, y compris la santé, les secteurs gouvernementaux, les télécommunications, etc.
Par conséquent, nous avons besoin de données précises sur lesquelles les utilisateurs peuvent se fier. Les tests de fiabilité concernent la qualité du logiciel et la standardisation des produits. Si nous pouvons répéter les cas de test et si nous obtenons le même résultat de manière cohérente, alors le produit est dit «fiable».
Des tests de fiabilité sont effectués pour s'assurer que le logiciel est fiable, qu'il répond à l'objectif pour lequel il est réalisé, pendant une durée spécifiée dans un environnement donné et qu'il est capable de rendre un fonctionnement sans défaut.
Quand utilisons-nous les tests de fiabilité?
Vous trouverez ci-dessous les scénarios dans lesquels nous utilisons ces tests:
- Pour trouver les défauts présents dans le système et leur raison.
- Assurer la qualité du système.
Les cas de test doivent être conçus de manière à garantir la couverture totale du logiciel. Les cas de test doivent être exécutés à intervalles réguliers afin que nous puissions vérifier le résultat actuel et le résultat précédent et vérifier s'il y a une différence entre eux. S'il présente le même résultat ou un résultat similaire, le logiciel peut être considéré comme fiable.
En outre, nous pouvons tester la fiabilité en exécutant les cas de test pendant un laps de temps particulier et vérifier s'il affiche correctement le résultat sans échec après cette période de temps particulière. Lors des tests de fiabilité, nous devons vérifier les contraintes d'environnement telles que les fuites de mémoire, la batterie faible, le réseau faible, les erreurs de base de données, etc.
Types fondamentaux pour évaluer la fiabilité des logiciels
Vous trouverez ci-dessous quelques types fondamentaux pour évaluer la fiabilité du logiciel.
1) Fiabilité test-retest
Considérez la situation suivante dans laquelle nous testons une fonctionnalité, dites à 9h30 et testez à nouveau la même fonctionnalité à 13h00. Plus tard, nous comparons les deux résultats. Nous obtenons une corrélation élevée dans les résultats. Ensuite, nous pouvons dire que le test est «fiable». Habituellement, une fiabilité de 0,8 ou plus signifie que le système peut être considéré comme un produit hautement fiable.
Ici, il est très important de noter que la durée du test reste la même si nous avons 10 étapes dans un cas de test, alors le nombre d'étapes restera le même pour effectuer le test la prochaine fois.
Considérez le particulier Exemple d’une personne participant à un «test de QI» et obtenant 144 points. Après 6 mois, il passe le même «test de QI» et obtient 68 points. Dans un tel cas, il ne peut être considéré comme une source «fiable».
2) Forme parallèle ou alternative de fiabilité
Il est appelé ainsi car les testeurs effectuent le test sous deux formes en même temps.
3) Fiabilité inter-évaluateurs
La fiabilité inter-évaluateurs est également connue sous le nom de fiabilité inter-observateurs ou inter-codeurs. C'est un type spécial de fiabilité qui consiste en plusieurs évaluateurs ou juges. Il traite de la cohérence de la notation proposée par les différents noteurs / observateurs.
Par exemple , considérez un concurrent participant à un concours de chant et gagnant 9,8,9 (sur 10) points de la part de plusieurs juges. Ce score peut être considéré comme «fiable» car il est assez cohérent. Mais s’il avait obtenu un score de 9,3,7 (sur 10), cela ne peut pas être considéré comme «fiable».
Noter: Ces notes dépendront fortement de l'accord général entre les différents juges / évaluateurs. Une fois que vous avez fait une série d'observations, vous pouvez alors décider qu'il y a une sorte de stabilité entre les scores et après cette période, nous pouvons dire qu'ils sont cohérents.
Ainsi, la stabilité de notation est une mesure entre plusieurs observateurs. Il est très important de noter que la compétence de l’observateur joue également un rôle important lorsqu’il s’agit de discuter de la fiabilité inter-juges. Pour améliorer la fiabilité inter-juges, les évaluateurs ont besoin d'une formation ou de conseils appropriés.
Considérez la feuille Excel ci-dessus et affichez les notes données par deux évaluateurs différents Rater1 et Rater2 pour 12 éléments différents. Rater1 a évalué indépendamment sur le tableau de notation. Ici, à l'aide du tableau de bord, nous allons maintenant calculer le pourcentage d'accord entre les deux évaluateurs. C'est ce qu'on appelle la fiabilité inter-juges ou l'accord inter-juges entre les deux évaluateurs.
Dans la troisième colonne, nous mettrons «1» si les scores attribués par les évaluateurs correspondent. Nous donnerons «0» si les scores correspondent. Après cela, nous trouverons les nombres «1» et «0» dans la colonne. Ici, c'est 8.
Nombre de «1» = 8
Nombre total d'articles = 12
Pourcentage d'accord = (8/12) * 100 = 67%. 67%, ce n'est pas tant. Les évaluateurs doivent avoir plus d'accord pour pouvoir discuter et améliorer le résultat en conséquence.
Différents types de test de fiabilité
Les différents types de tests de fiabilité sont décrits ci-dessous pour votre référence:
1) Test des fonctionnalités:
Ce test détermine l'adéquation, c'est-à-dire qu'il teste si l'application fonctionne comme prévu pour son utilisation en retrait. Ici, il vérifiera l'interopérabilité d'une application pour la tester avec les autres composants et le système qui interagit avec l'application.
Il garantit la précision du système pour vérifier s'il n'y a pas de bogue détecté pendant Tests bêta .
En dehors de cela, il teste une sorte de sécurité et de conformité. Test de sécurité est lié à la prévention de l'accès non autorisé à l'application, intentionnellement ou non. En conformité, nous vérifierons si l'application respecte certains critères comme la norme, les règles, etc.
2) Test de charge
Test de charge vérifiera les performances du système par rapport au système de compétition ou aux performances. Il est également basé sur le nombre d'utilisateurs simultanés qui utilisent le système et le comportement du système vis-à-vis des utilisateurs.
Le système doit répondre aux commandes de l'utilisateur avec moins de temps de réponse (disons 5 secondes) et répondre aux attentes de l'utilisateur.
3) Test de régression
Dans Les tests de régression , nous vérifierons si le système fonctionne bien et qu'aucun bogue n'a été introduit suite à l'ajout de nouvelles fonctionnalités dans le logiciel. Cela est également fait lorsqu'un bogue a été corrigé et que le testeur doit le tester à nouveau.
Plan de test de fiabilité
Au cours des différentes phases du SDLC (cycle de vie du développement logiciel), de nombreuses questions sur l’avenir du produit peuvent être soulevées par ses utilisateurs, par exemple «s’ils sont fiables ou non». Nous devons trouver une solution claire à ces questions. Avec un modèle approprié, nous pouvons prédire le produit.
Les deux types de modèles comprennent:
- Modèle de prédiction
- Modèle d'estimation
Dans les tests prédictifs, nous prédisons le résultat avec les données historiques, les statistiques et le machine & learning. Tout ce dont nous avons besoin, c'est de rédiger un rapport. Dans un modèle prédictif, nous n'obtenons que quelques informations historiques. En utilisant ces informations, nous pouvons construire un nuage de points et dessiner une ligne d'extrapolation aux données historiques existantes et nous pouvons prédire les données à venir.
Ce type de modèle est réalisé avant l'étape de développement ou de test proprement dite. Dans les tests d'estimation, outre l'utilisation des données historiques, nous utiliserons les données actuelles. Ici, nous pouvons prédire la fiabilité d'un produit dans le temps présent ou futur. Ce type de test est effectué au cours des dernières étapes du Cycle de vie du développement logiciel .
Outils de test de fiabilité
Les testeurs doivent déterminer l'estimation de la fiabilité d'un logiciel. Cela conduira à l'utilisation de divers outils de fiabilité logicielle.
En utilisant un outil standardisé, nous pouvons:
- Détectez les informations de panne.
- Choisissez le bon modèle pour faire une prédiction sur le logiciel.
- Générez des rapports sur les échecs.
Il existe divers outils disponibles sur le marché pour mesurer la fiabilité des logiciels, et certains d'entre eux sont mentionnés ci-dessous:
CASRE (Outil d'estimation de la fiabilité des logiciels assistés par ordinateur): Ce n'est pas un logiciel gratuit, nous devons l'acheter.
L'outil de mesure de fiabilité CASRE est construit sur la base des modèles de fiabilité existants qui aident à de meilleures estimations de la fiabilité d'un produit logiciel. L'interface graphique de l'outil permet de mieux comprendre la fiabilité du logiciel et il est également très facile à utiliser.
Lors d'un test, il aide les utilisateurs à savoir si la fiabilité du système augmente ou diminue tout en utilisant un ensemble de données de défaillance. Carse fournit une vue 2D en traçant le nombre d'échecs par rapport au temps d'intervalle de test et ainsi un utilisateur peut obtenir un graphique représentant le système comme indiqué dans la figure ci-dessous.
comment exécuter des fichiers jar sous windows
Utilisation de CASRE
- L'utilisateur peut sélectionner les données d'échec.
- En spécifiant jusqu'où dans le futur, nous voulons prédire la fiabilité du produit.
- Sélectionnez les modèles de fiabilité.
- Sélectionnez un modèle approprié pour le résultat.
- Imprimez le résultat de l'échec.
- Enregistrez le résultat sur le disque.
Les autres outils utilisés pour tester la fiabilité comprennent SOFTREL , SoRel (Software Reliability Analysis and Prediction), WEIBULL ++, etc.
Conclusion
Les tests de fiabilité sont coûteux par rapport aux autres formes de tests. Par conséquent, pour le faire de manière rentable, nous devons avoir un Plan de test et gestion des tests.
Dans SDLC, le test de fiabilité joue un rôle important. Comme expliqué ci-dessus, l'utilisation des mesures de fiabilité apportera de la fiabilité au logiciel et prédira l'avenir du logiciel. Souvent, la fiabilité du logiciel est difficile à obtenir si le logiciel a une complexité élevée.
lecture recommandée
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Emploi d'assistant QA en test logiciel
- Cours de test logiciel: à quel institut de test logiciel dois-je adhérer?
- Choisir les tests de logiciels comme carrière
- Travail d'indépendant de rédacteur de contenu technique de test de logiciels
- Test d'applications - Dans les bases du test de logiciels!
- Qu'est-ce que le test de régression? Définition, outils, méthode et exemple
- Quelques questions d'entretien intéressantes sur les tests de logiciels