# Qu'est-ce que TDD ?

> Test-Driven Development

Il s'agit d'une méthode de développement basée sur la préparation d'abord du test du code à écrire, puis sur l'écriture de suffisamment de code pour réussir ce test.

## Définition
TDD est basé sur la philosophie « tester d'abord, coder ensuite ». Vous écrivez d’abord un test qui définit ce que le code doit faire ; Naturellement, ce test échoue car il n’y a pas encore de code. Ensuite, vous écrivez le code le plus simple qui réussira le test. Ce cycle garantit que le logiciel est sans erreur à chaque étape.

## Comment ça marche
Cycle en trois étapes : 1. Test d'écriture (Échec), 2. Écriture du code (Réussite du test), 3. Nettoyage du code (Refactor). Ce processus se répète constamment.

## Où est-ce utilisé
Il est appliqué dans les équipes de développement de logiciels modernes, en particulier dans les projets où la sécurité et la qualité sont au premier plan.

## Souvent confondu avec
Il peut être confondu avec les tests unitaires ; TDD est une méthode et les tests unitaires sont un outil utilisé par cette méthode.

## Questions fréquentes
**TDD ne perd-il pas de temps ?**
Même si cela peut sembler ralentir au début, cela permet globalement de gagner du temps car cela réduit le temps de débogage à l'avenir.


## Termes liés
- [Unit Testing](/fr/dictionary/unit-testing/)
- [Testing Framework](/fr/dictionary/testing-framework/)
- [Clean Code](/fr/dictionary/clean-code/)

## Outils liés
- [Catch2](/fr/discover/catch2/)
- [Babysitter](/fr/discover/babysitter/)

---
Source : TreScout Glossaire · https://trescout.com/fr/dictionary/tdd/
