Vincent Tencéhttp://noncomplexstuff.comhttp://github.com/testinfected@testinfected
100% de couverture      en finir avec les fuites
75%25%        95%
Aucun sens
100%
“That’s the goal”        - Uncle Bob
99%Code vert
Couverture    Domaine                             98%Infrastructure                          100%  Controllers            ...
100%Code vert et rouge
Statistiques 1368 lignes de code de production en Java 2048 lignes de code d’infrastructure de test 2395 lignes de code de...
Pourquoi s’en soucier
Trop de projets agilesfont naufrages
Un phenomèneconnu sous le nomde ...                “Flaccid Scrum”                         http://www.flickr.com/photos/bea...
“Your Scrum has gone weak at the knees”                            - Martin Fowler
Impact sur la vélocité                                   re                              l ib                           te...
“Legacy Software”
Impact sur les coûts                   Bonne qualité             Qualité typique$400,000                                  ...
“Iterative and incrementaldevelopment only works ifyou write clean code andtests around it”               - Ken Schwaber
L’option la plus risquée
Tyrannie de l’urgence
Planifier le futur ...
... en ayant du plaisir
N’écrivez pas uneligne de code sansun test rouge.
Simple.
0
0Java
0SQL
0Annotation
0Configuration
0Javascript
0HTML
T.D.D.
Améliorer le             message d’erreurÉcrire un test                  Faire passer qui échoue                        le...
Améliorer le message                                                      d’erreur     Écrire un test          Écrire un t...
Test système                                    Pa                            m ent      ym                       ip      ...
Un exemple
Test unitaire                                 Pa                         m ent      ym                    ip              ...
Un exemple
Test d’intégration                                   Pa                           m ent      ym                      ip   ...
Un exemple
Pur plaisir ?
Vostechnologies vous  rendrons la vie dure
Vos   frameworks vous ferons                   suer
Vos   outils se mettront en travers                    de votre   route
L’urgence dictera sa loi
Choisissez                   qui    des               vous aidenttechnologies
Investissez dans vos outils
Concevez vos propres       outils
Adoptez une architecture qui supporte les tests
User Interface          APITim e       adapter      Persistence                       “Ports and Adapters”
Conclusion ?
“A Journey of a thousandmiles being with a singlestep”                  - Lao-Tzu
Lancez-vous !
Pour en savoir plus•   Le cours Professional Scrum Developer Java•   Offert en version 3 jours et 5 jours•   Visitez http:...
Bonne route !
100% couverture de code par les tests
Prochain SlideShare
Chargement dans…5
×

100% couverture de code par les tests

3 407 vues

Publié le

Session donnée à Agile Tour Montréal, 29 Octobre 2011 et Confoo.ca, 1er Mars 2012.

S'adonner au développement itératif et incrémental sans automatiser les tests, c'est s'engager sur la voie du Scrum Flasque (Flaccid Scrum pour reprendre l'expression de Martin Fowler). C'est voir petit à petit la vélocité de l'équipe diminuer, la dette technique s'accumuler, la livraison de valeur d'affaires cesser. La base de code devient progressivement intravaillable. Bref, la qualité se détériore et les coûts de maintenance de l'application explosent. L'automatisation des tests à tous les niveaux est essentielle pour livrer itération après itération du logiciel de qualité qui enchantera vos clients. Plus facile à dire qu'à faire, à priori. Et quelle couverture de code devrait-on viser ? Seulement le chemin nominal ? 70% ? ... ou bien 100% ! Certains diront déjà, 100% c'est irréaliste ! Au contraire, cette session vous présentera comment viser ... et atteindre une couverture de test de 100% en tirant profit des différents types de tests et en construisant vos propres outils de tests.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3 407
Sur SlideShare
0
Issues des intégrations
0
Intégrations
51
Actions
Partages
0
Téléchargements
28
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

100% couverture de code par les tests

  1. 1. Vincent Tencéhttp://noncomplexstuff.comhttp://github.com/testinfected@testinfected
  2. 2. 100% de couverture en finir avec les fuites
  3. 3. 75%25% 95%
  4. 4. Aucun sens
  5. 5. 100%
  6. 6. “That’s the goal” - Uncle Bob
  7. 7. 99%Code vert
  8. 8. Couverture Domaine 98%Infrastructure 100% Controllers 100% Views 100% ? 0% 25% 50% 75% 100%
  9. 9. 100%Code vert et rouge
  10. 10. Statistiques 1368 lignes de code de production en Java 2048 lignes de code d’infrastructure de test 2395 lignes de code de test 7 tests systèmes 21 tests d’intégration 87 tests unitaires
  11. 11. Pourquoi s’en soucier
  12. 12. Trop de projets agilesfont naufrages
  13. 13. Un phenomèneconnu sous le nomde ... “Flaccid Scrum” http://www.flickr.com/photos/beansandgrapes/5253690227/
  14. 14. “Your Scrum has gone weak at the knees” - Martin Fowler
  15. 15. Impact sur la vélocité re l ib te 100 c h u n 75 e téTravail à faire tiv i 50 u c rod 25 P 0 0 1 2 3 4 5 6 Sprints
  16. 16. “Legacy Software”
  17. 17. Impact sur les coûts Bonne qualité Qualité typique$400,000 v u e e n li te$300,000$200,000 F ail$100,000 $0 1 2 3 4 5 6 7 8 9 10 Années
  18. 18. “Iterative and incrementaldevelopment only works ifyou write clean code andtests around it” - Ken Schwaber
  19. 19. L’option la plus risquée
  20. 20. Tyrannie de l’urgence
  21. 21. Planifier le futur ...
  22. 22. ... en ayant du plaisir
  23. 23. N’écrivez pas uneligne de code sansun test rouge.
  24. 24. Simple.
  25. 25. 0
  26. 26. 0Java
  27. 27. 0SQL
  28. 28. 0Annotation
  29. 29. 0Configuration
  30. 30. 0Javascript
  31. 31. 0HTML
  32. 32. T.D.D.
  33. 33. Améliorer le message d’erreurÉcrire un test Faire passer qui échoue le test Refactoriser
  34. 34. Améliorer le message d’erreur Écrire un test Écrire un testd’acceptance qui échoue Faire passer le test unitaire qui échoue Refactoriser
  35. 35. Test système Pa m ent ym ip e nt Sh User Interface Persistence Ma e il TimTest
  36. 36. Un exemple
  37. 37. Test unitaire Pa m ent ym ip e nt ShUser Interface Persistence Ma e il Tim Test
  38. 38. Un exemple
  39. 39. Test d’intégration Pa m ent ym ip e nt Sh User Interface Persistence Ma e il Tim Test
  40. 40. Un exemple
  41. 41. Pur plaisir ?
  42. 42. Vostechnologies vous rendrons la vie dure
  43. 43. Vos frameworks vous ferons suer
  44. 44. Vos outils se mettront en travers de votre route
  45. 45. L’urgence dictera sa loi
  46. 46. Choisissez qui des vous aidenttechnologies
  47. 47. Investissez dans vos outils
  48. 48. Concevez vos propres outils
  49. 49. Adoptez une architecture qui supporte les tests
  50. 50. User Interface APITim e adapter Persistence “Ports and Adapters”
  51. 51. Conclusion ?
  52. 52. “A Journey of a thousandmiles being with a singlestep” - Lao-Tzu
  53. 53. Lancez-vous !
  54. 54. Pour en savoir plus• Le cours Professional Scrum Developer Java• Offert en version 3 jours et 5 jours• Visitez http://pyxis-tech.com/fr/notre-offre/ formation-agile/professional-scrum-developer- java
  55. 55. Bonne route !

×