Les tests de fumée (smoke tests) et les tests de cohérence (sanity tests) sont deux types de tests logiciels qui visent à vérifier le bon fonctionnement d’une application ou d’un système, mais ils sont généralement réalisés à des fins différentes et à des moments différents du processus de développement et de test. Voici les principales différences entre les deux :
- Objectif :
- Smoke Test : Le test de fumée vise à vérifier si une nouvelle version ou une mise à jour logicielle s’installe correctement et si l’application démarre sans erreur majeure. Il ne teste généralement que les fonctionnalités les plus essentielles de l’application.
- Sanity Test : Le test de cohérence est réalisé pour vérifier rapidement si les fonctionnalités spécifiques qui ont été modifiées ou ajoutées dans une nouvelle version fonctionnent correctement. Il se concentre sur des aspects particuliers de l’application plutôt que sur son ensemble.
- Profondeur des tests :
- Smoke Test : Les tests de fumée sont généralement peu approfondis et ne creusent pas profondément dans les fonctionnalités de l’application. Ils sont conçus pour repérer rapidement les problèmes majeurs qui pourraient empêcher l’application de fonctionner correctement.
- Sanity Test : Les tests de cohérence peuvent être plus approfondis que les tests de fumée, car ils se concentrent sur des parties spécifiques de l’application. Ils peuvent vérifier des fonctionnalités précises ou des scénarios d’utilisation particuliers.
- Moment de l’exécution :
- Smoke Test : Les tests de fumée sont généralement effectués après chaque nouvelle version du logiciel, notamment pour vérifier si l’application peut être déployée et si elle est stable.
- Sanity Test : Les tests de cohérence sont effectués après des modifications spécifiques du code source ou après l’introduction de nouvelles fonctionnalités. Ils sont plus ciblés et peuvent être exécutés plus fréquemment.
- Sortie :
- Smoke Test : En cas d’échec d’un test de fumée, l’application est généralement considérée comme non prête pour un test plus approfondi, et le développement peut être interrompu jusqu’à ce que les problèmes majeurs soient résolus.
- Sanity Test : En cas d’échec d’un test de cohérence, les développeurs se concentrent sur la résolution des problèmes spécifiques identifiés par le test, et les autres parties de l’application peuvent continuer à être testées.
En résumé, les tests de fumée sont généralement des tests de base pour s’assurer que l’application est en état de fonctionner, tandis que les tests de cohérence se concentrent sur des fonctionnalités spécifiques ou des modifications récentes pour vérifier leur bon fonctionnement. Les deux types de tests sont importants dans le processus de développement logiciel pour assurer la qualité et la stabilité de l’application.