Soyons honnête : nous aimerions tous tester nos plateformes, nos codes, mais personne ne le fait vraiment bien. Heureusement, ce n’est pas une fatalité, et il n’est jamais trop tard pour tester ! La vraie question est : comment tester ? Derrière toute stratégie de tests efficace, il y a une connaissance de tous les types de tests disponibles, de leurs coûts et de leurs utilités. Tout au long de cette journée, nous allons vous détailler les différents types de tests, du test unitaire au test de charge, afin que vous puissiez évaluer la pertinence de chacun dans votre propre contexte.
3. TDD c’est quoi ?
Moi : TDD c’est quoi ?
Collègue : On crée les tests avant de créer le code de production
″
‶
4. TDD c’est quoi ?
• Une méthode de développement
• Un outil de clean code
• Un concept test first
• Une philosophie
5. T comme Test
• On commence par les tests
• Chaque test représente un cas d’utilisation
• L’ensemble des tests représente une description de notre code
• Filet de sécurité
6. D comme Driven
• Nos tests influencent le code
• Classes
• Méthodes
• …
• Adapté directement aux tests
• Injection
• Interface
• Abstraction
• …
7. D comme development
• Parce que l’on est développeur
• Code de production
• Clean code
• Refactoring
9. Analyse
• Analyser le besoin métier
• Mettre à jour la liste de tests
• Ecrire le nom de nos tests
• Choix du prochain test à implémenter
Analyse
10. Analyse : Ecrire le nom du test
• Le pattern Should / When
Should return I When convert 1 in roman number
Should return IV When convert 4 in roman number
Analyse
11. Analyse : Ecrire le nom du test
• Le cas du And
Should return I and log convert of 1 When convert 1 in roman
number
Should return I When convert 1 in roman number
Should log convert of 1 When convert 1 in roman number
Analyse
12. Analyse : Choisir son premier test
• Choisir votre prochain test :
• Choisir le plus petit incrément
• Un incrément qui apporte de la valeur
• Un cas à la marge
Analyse
13. Red
• Ecriture du test
• Compilation du code
• Exécution du test et voir qu'il passe au rouge
Red
18. Refactor
• Interaction sur le code
• Maîtrise du code
• Factoriser
• Structurer
• Renommer
• Pattern
• Design
Refactor
19. Refactor
• Le code de production
• Le code des tests
Refactor
“Always leave the campground cleaner than you found it.”
The Boy Scout Rule (by Uncle Bob)
20. On recommence
• On recommence à la phase d’Analyse
• On ajoute 1 test
• On implémente notre nouveau test
• On « refactor» l’ensemble du code
TDD