Nicolas Ledez 2023/01/30
On a testé pour vous…
Je doute que tester soit douter
<Nicolas Ledez>
</Nicolas Ledez>
News ?
Plan
• Introduction
• TDD ?
• Tips
Introduction
Qui ?
• Test
• Intégration continue
• TDD
Avant Piss Code
Piss Test
Run test
KO
Fix code
✅
OK
Combien ça coute ?
Les tests
• Données entièrement générées au pifomètre
• Code => pour 50 lignes
• Tests => 150 lignes
• Wow !!!!
• WTF 😱
TDD
Comment
Piss Test
Run test
❌
KO
Piss Code
✅
OK
Pourquoi ?
• Tu n’as jamais le temps après
• Tu penses à comment utiliser avant de coder
• Tu implémentes que les tests dont l’on a besoin
• Tu es sûr que le test est faux
• Pas de bug dans le test
• Sûr que tu teste la bonne chose
Comment écrire tes tests ?
• Dé
fi
nis un problème simple à résoudre
• S’il passe, tu peux passer à la suite
• Si tu ne peux pas tester
• C’est que tu ne comprends pas le problème
• Tu ne t’y prends surement pas correctement
• Le problème n’est surement pas assez simple
Comment améliorer ton code ?
• Écris le code le plus simple possible
• Plus facile à maintenir
• Meilleure couverture de code
• Réusine (refactoring en français) ton code et tu vas
• Améliorer la qualité de ton code
• Être sûr grâce aux tests
• Enlever de la duplication dans ton code (DRY)
• Améliorer la lisibilité et maintenabilité
Donc
• Tu écris ton test
• 20 % de ton temps
• 80% du “code”
• Tu écris ton code
• 80 % de ton temps
• 20% du “code”
Résumer
Comment
• Pas sur un vrai projet la première fois
• Commencer par des coding dojo
• Écrire des tests adéquats
• Couverture de code
• Ne pas commenter de tests
• Pair programming
• Garder les tests propres
• Le test ne doit faillir d’une seule manière
Quels tests ?
La pyramide des tests
Unitaires 80/90%
Intégration 5/15%
Fonctionnels
1-5%
Manuels
Tips
Mock ?
https://github.com/nledez/
fl
ipperzero-cli
Tu de mock de moi !? 1/2
https://gist.github.com/nledez/6b24aacb586361959c9766c279863b22
Tu de mock de moi !? 2/2
https://gist.github.com/nledez/6b24aacb586361959c9766c279863b22
Avec quoi ?
Pytest
Conclusion
Conclusion
Questions ?
Slack !

On a testé pour vous…