Tester des systèmes Python
Les tests apportent des preuves sur le comportement dans des conditions énoncées. Ils ne prouvent pas l'absence de défauts ; la confiance doit donc venir de plusieurs couches aux forces de détection différentes.
Carte
- Tests unitaires — exemples, paramétrage, fixtures, doublures et frontières d'isolation.
- Stratégie de test — intégration, système, régression, performance, CI et politique des tests instables.
- Erreurs et exceptions — définition et test des contrats d'échec en Python.
Boucle de travail
- Énoncez le contrat observable et les principaux modes d'échec.
- Placez la plupart des cas métier déterministes dans des tests rapides et ciblés.
- Ajoutez des tests aux frontières entre composants, stockage, réseaux, processus ou utilisateurs.
- Exécutez le plus petit ensemble pertinent pendant le développement et la suite requise dans une CI propre.
- Traitez un défaut découvert comme un modèle ou contrôle manquant, puis conservez un test de régression s'il apporte une valeur durable.
La couverture mesure quel code s'est exécuté, pas si son comportement a été vérifié de manière significative. Utilisez-la pour trouver les angles morts, pas pour remplacer la conception des tests.