Guide complet sur les tests de logiciels
Classé dans Informatique
Écrit le en
français avec une taille de 2,98 KB
Introduction au test de logiciels
Le test de logiciels est le processus consistant à exercer un programme avec l'intention spécifique de trouver des erreurs avant l'utilisateur final.
Objectifs des tests
- Trouver des failles dans le logiciel.
- Un test est réussi si vous découvrez un défaut.
- Un test échoue si des défauts sont constatés, mais pas corrigés.
Concepts fondamentaux
- Test de vérification : Vérifier s'il répond aux spécifications de conception.
- Validation : Vérifier si le logiciel est conforme aux besoins.
- Opération : Exploiter proprement le système.
- Observabilité : Les résultats de chaque cas de test doivent être observables.
- Contrôlabilité : Mesure dans laquelle les tests peuvent être automatisés.
- Décomposition : Les tests peuvent être effectués par modules.
- Simplicité : Réduire l'architecture complexe pour simplifier le test.
- Stabilité : Gérer les changements nécessaires au cours des essais.
- Intelligibilité : Clarté de la conception.
Qui teste le logiciel ?
- Développeur : Comprend le système, mais est souvent biaisé par sa connaissance interne.
- Testeur indépendant : Doit comprendre le système, tenter de le faire échouer et est guidé par la qualité.
Tests en boîte blanche
Ce test observe le code source avec l'intention de tout essayer.
- Objectif : S'assurer que toutes les déclarations et conditions fonctionnent au moins une fois.
- Types : Couverture de test, conditions, tests de boucles.
- Complexité cyclomatique : Métrique quantitative de la complexité logique d'un programme.
- Graphiques Matrix : Utilisés pour déterminer l'ensemble des routes de base.
Tests en boîte noire
La preuve est basée sur l'interface, sans connaissance du code interne.
- Objectif : Exercer tous les éléments d'interface et les besoins fonctionnels.
- Classes d'équivalence : Diviser le domaine d'entrée en ensembles de données pour créer des cas de test.
- Tests aux limites : Les erreurs se situent souvent aux frontières des valeurs (ex: a-1, a, a+1).
Stratégies de test
- Tests unitaires : Tester le fonctionnement d'un module de code.
- Tests d'intégration : Tester l'interaction entre les modules.
- Tests de validation : Vérifier la conformité aux exigences (tests Alpha et Bêta).
- Tests système : Vérifier le système complet (performance, sécurité, fiabilité).