Le code legacy (souvent non testé, difficile à modifier) est un défi à tester — il peut avoir des dépendances enchevêtrées et pas de tests. Ajouter des tests de façon sécurisée implique des techniques comme les tests de caractérisation, les seams pour casser les dépendances, et l'amélioration incrémentale, permettant des modifications plus sûres.
Le défi du code legacy
Legacy code is often: untested, tightly coupled, hard to understand, risky to change:
→ no tests → changing it is dangerous (you can't tell if you broke something)
→ hard to test → dependencies are tangled (can't isolate units); not designed for testing
→ a chicken-and-egg problem: to change safely you need tests, but it's hard to test.
