Unit testing After, Before et TDD

Antoine Vernois / @avernois

Antoine Vernois

Software Anarchist

Common Sens Consultant

blog : https://blog.crafting-labs.fr

twitter : @avernois

#ISpeakForFood

Disclaimer

  • Il s'agit d'une introduction.
  • Je ne parlerai pas
    • de mock,
    • de tests d'intégration.
  • Les exemples seront en java.
oh. et oui, il se peut que j'exagère un peu... :)

Ma définition

Unit test

un test qui vérifie un comportement d'un morceau de code.

Pourquoi ?

  • parce que c'est à la mode !?
  • les tests sont une preuve que votre code fait ce qu'il est supposé faire.
  • au plus tôt on trouve le problème, le moins cher coûte sa résolution.
  • ils donnent confiance lorsqu'on fait des modifications.
  • rendre un code testable (et testé) conduit souvent à un meilleur design.
  • les tests expliquent ce que fait votre code.

Qualité d'un test unitaire

  • Fast
  • Isolated
  • Repeatable
  • Self-validating
  • Timely




Test After.

Les tests après.

bowling time !

(faux) problèmes

C'est bon ça marche, pas besoin de test.
Je suis à la bourre, et j'ai du fonctionnel plus important. J'écrirai les tests plus tard.
Les tests c'est pour ceux qui savent pas coder.

lesjoiesducode.fr

(gros) problèmes

  • on peut avoir écrit du code qui n'est pas testable.
  • on ne voit jamais les tests échouer
  • souvent, les tests sont écrits en étudiant le code.

Test First

Les tests d'abord.

Les tests d'abord.

  1. Réfléchir à ce que je veux faire.
  2. Écrire les tests correspondants.
  3. Écrire le code qui les fera passer.


Enjoy.

bowling time !



instant confession

TDD : Test Driven Developpement

Développement guidé par les tests

Développement guidé par les tests

  1. Écrire exactement un test qui échoue.
  2. Le faire passer.
  3. Nettoyer.




Répéter.

Test Driven Developpement

  1. Red
  2. Green
  3. Refactor


That's all !

bowling time !

Thank You !






Antoine Vernois / @avernois

Crédits photos

Bowling - Markus Spiske
One - Andrechin
Ginny - One person can [...]
seanbjack - bowling 1
Alexander C. Kafka - Bowling pins
Ginny - bowling
Rachel Zack - Kitchen sink
/woodleywonderworks - dark before dark
Wonderlane - Fu / Return
Trevor Leyenhorst - i've never used the word bokeh before
Pargon - A kitten and a Scholar
jenny downing - after the rain
Tambako The Jaguar - Cute winking kitten!
Barbara Muller Walter - After Work