★ À maîtriser
📌 Les tests dynamiques exécutent le programme avec des valeurs d’entrée et observent son comportement, tandis que les tests statiques analysent le produit sans l’exécuter.
Compléments
Entrée → exécution → oracle → verdict
📐 Formule — L’objectif idéal serait de garantir, pour toute donnée valide , que , où est le domaine d’entrée, le programme et sa spécification.
📌 Le test exhaustif est généralement impossible parce que le domaine d’entrée peut être trop grand ou infini, et que l’exécution de tous les cas serait trop longue et coûteuse.
Domaine trop vaste → tests exhaustifs impossibles → échantillon fini
★ À maîtriser
📌 Le test fonctionnel ou boîte noire utilise la description des fonctionnalités et les spécifications du programme sans utiliser son code interne.
📌 Le test structurel ou boîte blanche utilise la structure interne du programme, notamment ses conditions, ses boucles et ses flux de données.
Compléments
Les tests boîte noire peuvent utiliser des spécifications formelles, des modèles UML ou une description en langage naturel.
Les modèles utiles aux tests boîte blanche sont:
Boîte noire : spécification ; boîte blanche : structure interne
★ À maîtriser
La génération déterministe peut s’appuyer sur:
Une génération semi-aléatoire guidée par l’expérience consiste à recenser les erreurs possibles, s’appuyer sur un modèle d’erreurs, développer des tests couvrant ce modèle, puis maintenir le modèle.
Compléments
★ À maîtriser
🔄 Le partitionnement suit ces étapes:
Pour un numéro de département métropolitain compris entre 1 et 95, les classes sont [1–95] valide, [minInt–1[ invalide et ]95–MaxInt] invalide, avec comme tests 11, -30 et 100.
Compléments
📌 Pour une condition définissant un intervalle, on construit une classe valide dans l’intervalle et deux classes invalides, une à chaque extrémité de l’intervalle.
📌 Pour une condition définissant N valeurs, on construit une classe valide et deux classes invalides correspondant à une donnée vide et à une donnée dépassant N.
Classe valide ≠ classe invalide : comportement attendu différent
★ À maîtriser
📐 Formule — Si les conditions C1, C2 et C3 ont respectivement 3, 2 et 4 valeurs, le nombre de combinaisons possibles est .
Compléments
📌 La méthode « don’t care » simplifie une table en regroupant des variants lorsque la valeur d’une condition n’influence pas l’action produite.
Conditions → combinaisons → actions → variants de test
★ À maîtriser
Pour chaque classe d’équivalence, on génère une valeur médiane et une ou plusieurs valeurs aux bornes, en utilisant une mesure adaptée si la donnée n’est pas directement numérique.
Pour une entrée comprise entre 1 et 95, les représentants avec large couverture sont 1, 2, 48, 94 et 95 dans la classe valide, -3000, -1 et 0 dans la classe inférieure, puis 96, 97 et 1000 dans la classe supérieure.
📌 Pour une condition conjonctive de M prédicats, on choisit un cas où tous les prédicats sont juste vrais, puis M cas où un seul prédicat est juste faux à chaque fois.
Compléments
Frontière mal traitée → erreurs de borne, d’indice ou d’opérateur
★ À maîtriser
📌 Les cas de test issus d’un diagramme états-transitions peuvent couvrir tous les états, toutes les transitions ou des séquences particulières et invalides.
Compléments
État initial → événements → transitions → états finaux
★ À maîtriser
Les tests boîte noire se concentrent sur les fonctionnalités du logiciel et utilisent les spécifications pour définir les cas de test.
Les tests boîte noire peuvent révéler des oublis de réalisation et, lorsqu’ils sont mis en œuvre tôt, contribuer à préciser les spécifications et éviter des erreurs de réalisation.
📌 Les tests boîte noire ne détectent pas nécessairement les erreurs de réalisation portant sur des cas d’utilisation très particuliers qui ne sont ni nominaux ni situés aux limites.
Compléments
Fonctionnalités bien couvertes, mais cas internes particuliers invisibles
Comparaison boîte noire et boîte blanche
| Dimension | Boîte noire | Boîte blanche |
|---|---|---|
| Base de génération | Fonctionnalités et spécifications | Structure interne du programme |
| Modèles utilisés | Spécifications formelles, UML, langage naturel | Contrôle, données, flot de données, dépendances |
| Objectif fréquent | Couvrir les comportements fonctionnels | Couvrir le code et ses structures |
| Limite principale | Cas internes particuliers potentiellement invisibles | Nécessite l’accès au code ou à son modèle |
Teste tes connaissances sur Techniques de test logiciel avec 27 questions à choix multiples et corrections détaillées.
1. Quelle distinction caractérise le mieux les tests dynamiques et les tests statiques ?
2. Dans quel ordre général un processus de test dynamique se déroule-t-il ?
Mémorisez les concepts clés de Techniques de test logiciel avec 50 flashcards interactives.
Quelle différence principale existe entre tests dynamiques et tests statiques ?
Les tests dynamiques exécutent le programme, les tests statiques l'analysent sans exécution.
Quelles étapes comprend un processus de test dynamique ?
Fournir des données, exécuter, comparer au spécification, produire un verdict.
Quelle égalité idéale doit être garantie pour toute donnée valide ?
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches