Test unitaire : Vérifie qu'une petite partie de code (unité) fonctionne correctement.
- Identifier la fonction à tester
- Préparer des cas de test (valeurs d'entrée et résultats attendus)
- Appeler la fonction avec les cas de test
- Comparer les résultats avec les valeurs attendues
- Signaler les différences
La fonction moyenne prend une liste de nombres et retourne leur moyenne arithmétique.
Nous testons trois scénarios : une liste normale, une liste avec un seul élément, une liste vide.
Chaque assertion vérifie que la fonction retourne la valeur attendue pour une entrée donnée.
La fonction de test vérifie que la fonction moyenne fonctionne correctement pour différents cas.
• Test unitaire : Tester chaque fonction indépendamment
• Cas limites : Tester les cas extrêmes comme les listes vides
• Assertions : Vérifier que les résultats correspondent aux attentes
Validation : Processus qui vérifie que les données sont conformes aux exigences.
Un email valide suit le format : nom@domaine.extension
L'expression régulière vérifie que l'email respecte le format standard.
Nous testons à la fois des emails valides et invalides pour s'assurer que la validation fonctionne.
La fonction valide les emails selon un format prédéfini en utilisant des expressions régulières.
• Expressions régulières : Outil puissant pour valider des formats complexes
• Validation : Protège contre les injections et les erreurs
• Test bidirectionnel : Vérifier à la fois les cas valides et invalides
Conversion : Transformation d'une valeur d'un système à un autre selon une formule précise.
La formule est : F = C × 9/5 + 32
Nous utilisons des points de référence connus : 0°C = 32°F, 100°C = 212°F
-40°C est égal à -40°F, ce qui constitue un test intéressant.
La fonction convertit correctement les températures avec des tests pour valider la précision.
• Précision numérique : Utiliser des tolérances pour les comparaisons flottantes
• Cas spéciaux : Tester des valeurs extrêmes ou particulières
• Formule exacte : S'assurer que la conversion suit la formule mathématique correcte
Débogage : Processus d'identification et de correction des erreurs dans le code.
La division par zéro provoque une erreur, ainsi que des types incorrects.
Nous ajoutons des vérifications pour éviter les erreurs courantes.
Nous vérifions que les exceptions sont levées correctement.
La fonction corrigée gère les erreurs potentielles et fournit des messages clairs.
• Gestion des erreurs : Vérifier les cas limites et lever des exceptions appropriées
• Validation des types : S'assurer que les paramètres sont du bon type
• Test des erreurs : Vérifier que les exceptions sont correctement levées
Couverture de code : Mesure du pourcentage de code exécuté par les tests.
La fonction a plusieurs chemins d'exécution conditionnelle (if/else).
Nous créons des cas de test qui exécutent chaque chemin possible.
Nombre de lignes exécutées / nombre total de lignes de code.
Les tests couvrent toutes les branches de la fonction, assurant une bonne couverture de code.
• Couverture des branches : Tester chaque chemin possible dans le code
• Couverture de ligne : S'assurer que chaque ligne est exécutée au moins une fois
• Qualité du code : Une haute couverture de code indique une meilleure qualité
- Test unitaire : Teste une seule fonction ou méthode
- Test d'intégration : Teste l'interaction entre plusieurs modules
- Test fonctionnel : Vérifie que le programme répond aux besoins fonctionnels
- Test de performance : Vérifie les performances du programme
- Validation de type : Vérifie que les variables sont du bon type
- Validation de plage : Vérifie que les valeurs sont dans les bornes acceptables
- Validation de format : Utilise des expressions régulières pour valider le format
- Validation de logique : Vérifie que les règles métier sont respectées
- Chaque fonction devrait avoir ses propres tests unitaires
- Les tests doivent être indépendants les uns des autres
- La validation des entrées est essentielle pour la sécurité
- La couverture de code ne garantit pas l'absence de bugs
- Les tests doivent être maintenus à jour avec le code