Découvrez ce qu’est le TDD
Le TDD est une approche de développement logiciel qui met l'accent sur l'écriture de tests avant même d'écrire le code fonctionnel.
Le processus de TDD se décompose généralement en trois étapes :
Écrire un test.
Faire échouer le test en écrivant le code minimal nécessaire.
Écrire le code pour faire passer le test.
Ce cycle est répété de manière itérative pour chaque fonctionnalité à développer.
En adoptant cette approche, les développeurs sont incités à concevoir des composants logiciels modulaires, et à écrire un code plus fiable, car chaque fonctionnalité est testée dès le départ.
Le TDD favorise également une meilleure compréhension des spécifications et des exigences du logiciel, ainsi qu'une meilleure maintenabilité et une meilleure extensibilité du code.
Le cycle rouge-vert-refactor vous guidera dans l'écriture des tests.
C’est quoi, le cycle rouge-vert-refactor ?
Voyons ensemble ces trois étapes :
Rouge : Vous écrivez un test simple qui échouera avant même d'avoir du code qui l'accompagne. Le test échoue, évidemment, sans le code. Du coup, le test est rouge.
Vert : Vous écrivez le code le plus simple possible pour faire passer le test, même si le code est un peu ridicule ou simplifié. Le test réussit, il est donc vert.
Refactor : Le code que vous avez écrit pour faire passer le test est peut-être illogique ou trop simple. Il faut maintenant retravailler (refactor) ce code pour l’améliorer si possible.
En fin de compte, le TDD contribue à réduire les bugs et facilite la création d'un code plus robuste et de meilleure qualité.
Développez grâce au CDD
CDD n’est pas seulement le sigle pour contrat à durée déterminée : c’est aussi celui pour Cypress Driven Development. Vous avez compris le principe, c’est du TDD mais avec Cypress.
Le CDD met l'accent sur l'écriture de tests automatisés dès le début du processus de développement. Cette approche vise à assurer la qualité du code en identifiant et en résolvant rapidement les erreurs et les régressions.
Le CDD suit généralement un cycle itératif où les tests sont écrits avant le code fonctionnel. Les développeurs utilisent Cypress pour créer des tests automatisés qui simulent les interactions de l'utilisateur avec l'application web. Ces tests peuvent couvrir divers aspects tels que la navigation, la saisie de données, les interactions avec les éléments de l'interface utilisateur, etc.
En écrivant des tests automatisés avec Cypress dès le départ, les développeurs peuvent s'assurer que chaque fonctionnalité est testée de manière approfondie. Cela permet de détecter rapidement les erreurs et les problèmes de compatibilité, ce qui facilite la correction des bugs avant qu'ils ne se propagent dans le code. De plus, les tests automatisés peuvent servir de documentation dynamique, fournissant des exemples concrets d'utilisation de l'application.
Le CDD favorise également une collaboration étroite entre les développeurs et les testeurs, car les tests automatisés servent de base commune pour valider les fonctionnalités et communiquer les attentes. Cela ne vous rappelle pas une partie que nous avons vue dans le cours ? Eh oui, on vous avait déjà recommandé de vous intégrer aux discussions où les fonctionnalités sont déterminées.
Cette approche contribue à une meilleure qualité du code, à une plus grande confiance dans les fonctionnalités développées et à une réduction des problèmes rencontrés par les utilisateurs finaux.
À vous de jouer !
Écrivez un test d’une fonctionnalité qui n’existe pas encore : récupérer la liste des utilisateurs grâce à l’API. Suite à la réunion sur cette fonctionnalité, vous savez que cet appel est : /users. Vous pouvez vous inspirer du chapitre Rédigez des cas de test API et ajoutez des commandes pour la rédaction de ce test.
Consultez la suggestion de corrigé.
En résumé
Le TDD et le CDD ont des cycles itératifs : écrire un test, échouer le test avec un code minimal, écrire le code pour faire passer le test.
Il faut écrire le test dès le début du processus de développement.
Le CDD permet de détecter rapidement les erreurs et garantit la qualité du code.
Il favorise la collaboration entre développeurs et testeurs, facilite la correction des bugs et assure une meilleure confiance dans les fonctionnalités développées.
Voilà, vous avez écrit vos tests et vous les avez exécutés, maintenant que faire ? Communiquer aux parties prenantes vos résultats. C'est justement la dernière partie de ce cours. Mais avant cela, je vous ai préparé un petit quiz pour tester vos connaissances sur cette deuxième partie.