🎬 Les fondamentaux des tests (indépendamment d'un langage de programmation)
Les tests constituent un élément clé du cycle de développement pour assurer la qualité des produits que nous développons.
Avant même de commencer à écrire des tests, il est essentiel d'avoir une bonne culture des tests de façon générale. La plupart des formations ne mettent pas suffisamment l'accent sur cet aspect. Il est important de savoir pourquoi on écrit des tests, ce qu'il faut tester et comment éviter d'écrire des tests fragiles (flaky) qui cassent à chaque refactoring ou modification de détails d'implémentation.
Par expérience, beaucoup ne font, par exemple, pas la différence entre les différents types de Test Doubles et ne savent pas quand choisir l'un par rapport à l'autre.
Il y a quelque temps, j'ai créé une petite série (lien en commentaire) sur ma chaîne destinée aux personnes qui débutent avec les tests ou qui souhaitent revoir les fondamentaux des tests, indépendamment du langage de programmation ou du framework utilisé.
Quel que soit le langage ou le framework que vous utilisez, vous retrouverez les notions abordées dans cette série lorsque vous commencerez à écrire des tests. Il s'agit de concepts généraux à adapter à votre langage ou à vos outils de test.
Les points abordés dans cette série sont les suivants :
- L'utilité des tests
- Les différents types de tests (unitaire, intégration, E2E) que l'on rencontre au quotidien et une comparaison de leur coût (Pyramide des tests)
- Les différents outils autour des tests (test runner, librairie d'assertions, librairie de mocks)
- Comment éviter les dépendances lors des tests unitaires (Test doubles)
- Les différents types de Test doubles (dummy, stub, spy, mock, fake) et leur utilité
- La structure des tests
- Les styles d'écriture des tests selon les pratiques (TDD, BDD)
- Etc.
N'hésitez pas à partager cette série autour de vous. Cela peut être utile à l'un de vos collègues ou camarades.
Vous trouverez le lien de la playlist en commentaire.
🧠 Stay Curious !!
#devPropulsor #testing #testDouble #test #testPyramid