SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
TDD (Test Driven Development) / BDD / ++
Mieux délivrer et s'entendre entre Dev / Testeur / PO!
#INSPIRER #CATALYSER #DELIVRER
At
DC CONSULTANTS - Catalyser vos transformations ! 2
Avez-vous déjà pratiqué du TDD ou du
BDD en pratique dans des projets ?
DC CONSULTANTS - Catalyser vos transformations ! 3
Transformation de notre Meetup en Webinar
Nouveau contexte COVID
Learning en continu
Comprendre comment le TDD peut aider à délivrer ?
Comment améliorer la communication entre tous les
acteurs du sujet : Développeur, Testeur, Product Owner, … ?
Faire un lien entre Agilité et Testing
Quelles bonnes pratiques ?
DC CONSULTANTS - Catalyser vos transformations !
4
Moins utile pour vous si :
• Vous pratiquez déjà TDD/BDD régulièrement
• Pour vous, « tester c’est douter »
Qui sont les intervenants ?
Le pitch
1/ Pourquoi tester ?
2/ TDD / BDD / Test by example : qu’est-ce ?
3/ Améliorer la communication : feedback
4/ Questions / Réponses
DC CONSULTANTS - Catalyser vos transformations !
6
DC CONSULTANTS - Catalyser vos transformations !
Alex GON
• Consultant, coach, formateur
• Fondateur de DC CONSULTANTS et la communauté des
Digital Catalysts
• Accompagner les transformations digitales, donner du sens
• Parcours : #Utilities #Startup #Conception #Product Owner
#Coaching d’organisations
• Passions : #agilité #aider #vélo #forgoodprojects
DC CONSULTANTS - Catalyser vos transformations !
DC CONSULTANTS - Catalyser vos
transformations !
9
• En ce moment :
• Agile Scrum Master PSM 1 / Product Owner PSPO 1
• Design Thinking / Lean Startup
• DEVOPS / ITIL v4
• Classe virtuelle, adapté
• Financement à 100% via votre CPF ou OPCO
• Pour vous :
• une réduction de 15% sur les prochaines sessions
• + discount si vous inscrivez 2 personnes et plus
Comment faire :
• écrire à Alex maintenant en chat privé
• écrire à sales@dc-consultants.net pour demander plus d’infos inscriptions
DC CONSULTANTS - Catalyser vos transformations ! 10
11
• Tester c’est douter ?
DC CONSULTANTS - Catalyser vos transformations ! 12
• “Quality is never an accident; it is always the result of intelligent
effort.” – John Ruskin
• “A pinch of probability is worth a pound of perhaps.” James
Thurber
• “Software never was perfect and won’t get perfect. But is that a
license to create garbage? The missing ingredient is our
reluctance to quantify quality.” – Boris Beizer
DC CONSULTANTS - Catalyser vos transformations ! 13
• Aller droit au but : faire en sorte d’avoir le comportement
attendu
• Aligner la vision Produit et Technique : Product Owner,
Développeur, Testeur, …
• Gagner du temps pour réduire le processus de livraison :
• Délivrer de la qualité
• Délivrer régulièrement
DC CONSULTANTS - Catalyser vos transformations ! 14
• Vous avez :
• Des tests manuels
• Beaucoup de tests d’acceptation qui demandent de gros efforts de mains
d’œuvre à chaque livraison.
• Vous avez de grosses livraisons
• Vous avez des tests unitaires mais vous n’avez pas ou ne stockez pas les
résultats
• Vous n’avez pas de stratégie de tests ou vous ne savez plus ce qu’il y a
dedans
UI test
services
TU
• A voir selon votre cas
• Les tests sont pensés avec les fonctionnalités
• Les tests sont d’abord pensés pour être
automatisés
• La grande majorité des tests sont automatisés
• Vous avez une stratégie de tests à jour et
améliorée en continu
E to E
Services
TU
UI test
services
E to E
Services
TU
E to E
Services
TU
UI test
services
TU
UI test
services
TU
UI test
services UI test
TU
E to E
Services
TU
E to E
Services
TUTU
TUF
TUF
TU
24
• TDD
• BDD
• Outils
25
• Technique de développement
• Implémenter le test avant d’implémenter la fonctionnalité (= coder le test
avant de coder la fonction)
• Tests dits unitaires
26
3 lois du TDD :
1.Loi no 1 : Vous devez écrire un test qui échoue
avant de pouvoir écrire le code de production
correspondant.
2.Loi no 2 : Vous devez écrire une seule assertion à la
fois, qui fait échouer le test ou qui échoue à la
compilation.
3.Loi no 3 : Vous devez écrire le minimum de code de
production pour que l'assertion du test
actuellement en échec soit satisfaite.
Fonctionne très bien en Pair programming :
• L’un rédige le test
• L’autre code
• Échange des rôles
• (plusieurs roulements possibles)
27
• Hygiène garantie : faire évoluer sans crainte
• Réduction du temps de correction d’anomalie.
• Confiance en votre code, notamment vis-à-vis de votre équipe
28
• Souvent vu comme un investissement temps lourd
• Permet de maintenir un code de qualité dans le temps, donc « rentable »
29
• Penser les fonctionnalités selon le comportement
• Exprimer les besoins selon un comportement attendu
• « c’est le résultat qui compte »
• Je développe une fonctionnalité pour atteindre le comportement attendu

• Spécification par l'exemple
• Tests fonctionnels
• Documentation exécutable
30
• Illustrer la spécification / règle de gestion par un (des) exemple(s)
• Exemple : Google Doc
• En tant qu’utilisateur je souhaite pouvoir éditer un document à plusieurs en
simultané
• Jusqu’à 5 utilisateurs peuvent éditer un document
• Les utilisateurs ayant les droits peuvent compléter, commenter le document en même
temps
• Exemple : 5 personnes (A, B, C,D, E) ont accès au document « Recette.gdoc ». Ils
ouvrent le document en ligne, ils écrivent chacun leur nom en simultané. Les noms des
5 personnes sont visibles sur le document.
• Qui ? Le Product Owner, Business Analyst, Testeur
31
• Structure des tests en BDD :
• Etant donné que
• Lorsque
• Alors
 In english :
• Given
• When
• Then
• Standard reconnu par tous
32
• Exemple pour un moteur de recherche de contenu / comparateur
• Scenario: les suggestions proposées sont populaires, disponibles et adaptées à l'âge de l utilisateur
• Etant donné l'utilisateur "Tim"
• Et il a "4" ans
• Et les catégories populaires pour cet âge sont
| categorieId | nom |
| cat1 | Coloriage |
| cat2 | Comptines |
• Et les livres disponibles pour les catégories "cat1,cat2" sont
• | livreId | titre | categorieId |
• | lv11 | Colorier les poules | cat1 |
• | lv21 | Comptines de la ferme | cat2 |
• Quand on demande "2" suggestions
• Alors les suggestions sont
• | livreId | titre | categorieId |
• | lv11 | Colorier les poules | cat1 |
• | lv21 | Comptines de la ferme | cat2 |
DC CONSULTANTS - Catalyser vos transformations ! 33
• Documentation vivante : évolue de version en version,
• Pas de régression sur les versions livrées
• Architecture émergente : l’infrastructure du logiciel évolue au fur et à mesure
DC CONSULTANTS - Catalyser vos transformations ! 34
• Permet de décliner les objectifs du
produit, du Product Owner
• Centré sur le but, avec la contrainte de la
qualité
• Déclinaison des OKR au niveau du code
DC CONSULTANTS - Catalyser vos transformations ! 35
• Mettre en œuvre une démarche TDD / BDD oblige l’équipe à se parler :
• Attentes et besoins structurés du PO
• Discussions entre PO, Developpeurs, Testeurs,
• Plus de clarté
• Plus de factuel : exemples, résultats mesurables
 Bonnes recettes pour l’entente et le moral de l’équipe !
36
• Un panorama des classiques :
37
• Selon Gartner, les meilleurs en 2020 :
=> https://www.gartner.com/reviews/market/software-test-automation
=> https://medium.com/@briananderson2209/best-automation-testing-tools-for-2018-top-10-reviews-
8a4a19f664d2
38
• Pour les API / Webservices :
39
• Fitnesse : specifications executables Open Source
• Cucumber : specifications executables
• Katalon Studio : plateforme « All In One » : toutes applications, toutes technos
• Pour JIRA (ATLASSIAN) : XRAY
• Rédaction des scenarios Cucumber dans JIRA
• Centrealise les plans de tests projet et de l’entreprise, dans l’outil de gestion de votre travail
• Intégration avec la CI (intégration continue) (Bamboo, Jenkins)
DC CONSULTANTS - Catalyser vos transformations ! 40
Plusieurs pratiques selon les équipes croisées
Long chemin à mettre en œuvre
Difficultés/Challenges
Résultats ?
DC CONSULTANTS - Catalyser vos transformations ! 41
• Indispensable pour la livraison régulière : livrer à chaque fin de sprint,
ou en continu
• Augmente l’entente de l’équipe :
• Moins de refus sur le « fonctionnel » à posteriori (le PO qui refuse une
User Story…)
• Moins de discussions inutiles sur la classification Anomalie / Evolution /
Mauvaise spécification car meilleure anticipation
DC CONSULTANTS - Catalyser vos transformations ! 42
DC CONSULTANTS - Catalyser vos transformations ! 43
• Avoir une approche TDD, BDD, Automatiser les tests est excellent
• Mais les efforts sont lourds
• Garder une approche ROI : est-ce toujours rentable ?
• Sur une application en fin de vie ?
• Sur un projet déjà livré ?
• Sur un premier prototype ?
DC CONSULTANTS - Catalyser vos transformations !
44
• Tester
• Peut couter très cher à la qualité de votre produit, et à la satisfaction utilisateur
• Sur la base du comportement attendu est plus efficace
• Est un bon moyen de créer de la communication entre Dev/PO/Testeur
• Automatiser les Tests
• C’est investir pour gagner du temps et de la qualité par la suite
• Y penser dès le début pour éviter les ennuis (= dette technique)
• Une idée / Envie
• d’intervenir
• de nous accueillir ?
• => alex.gon@dc-consultants.net
DC CONSULTANTS - Catalyser vos transformations ! 46
• Venir parler à votre CIO, DSI, CEO et vos équipes des enjeux
• Développement de vos talents :
o communauté,
o formations,
• Savoir-faire Digital Catalysts :
o Mindset de l’agilité dans les missions réalisées & suivies
• Des outils pour réussir
• Nos communautés :
o 1100+ Spécialistes agilité
o 800+ membres sur nos Meetups
Agilists
& Products
We
Alex GON
Principal Digital Catalyst
06 27 79 37 72
01 84 17 75 69
sales@dc-consultants.net
Activez la communauté Digital Catalysts :
https://www.linkedin.com/company/dc_consultants/
https://www.facebook.com/DigitalCatalysts/
Agile Nightmares : https://www.meetup.com/fr-FR/Agile-
Nightmares-by-Digital-Catalysts/

Contenu connexe

Tendances

Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
laurent bristiel
 
AgileTour Toulouse 2012 : adopter l’agilité
AgileTour Toulouse 2012 : adopter l’agilitéAgileTour Toulouse 2012 : adopter l’agilité
AgileTour Toulouse 2012 : adopter l’agilité
Agile Toulouse
 

Tendances (19)

presentation Zest au JFTL 2014
presentation Zest au JFTL 2014presentation Zest au JFTL 2014
presentation Zest au JFTL 2014
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
 
Method XP
Method XP Method XP
Method XP
 
Présentation des Méthodes Agiles pour l'association AnnexEthique
Présentation des Méthodes Agiles pour l'association AnnexEthiquePrésentation des Méthodes Agiles pour l'association AnnexEthique
Présentation des Méthodes Agiles pour l'association AnnexEthique
 
Methode Agile
Methode Agile Methode Agile
Methode Agile
 
Le Product Owner est-il un Product Manage agile ? v2.0
Le Product Owner est-il un Product Manage agile ? v2.0Le Product Owner est-il un Product Manage agile ? v2.0
Le Product Owner est-il un Product Manage agile ? v2.0
 
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
 
Pas d'agilité sans qualité
Pas d'agilité sans qualitéPas d'agilité sans qualité
Pas d'agilité sans qualité
 
Construire un produit open source, en mode lean, agile et open standards
Construire un produit open source, en mode lean, agile et open standardsConstruire un produit open source, en mode lean, agile et open standards
Construire un produit open source, en mode lean, agile et open standards
 
AgileTour Toulouse 2012 : adopter l’agilité
AgileTour Toulouse 2012 : adopter l’agilitéAgileTour Toulouse 2012 : adopter l’agilité
AgileTour Toulouse 2012 : adopter l’agilité
 
Les Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/AgileLes Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/Agile
 
La solution-a-la-dette-technique
La solution-a-la-dette-techniqueLa solution-a-la-dette-technique
La solution-a-la-dette-technique
 
Acculturation agilite
Acculturation agiliteAcculturation agilite
Acculturation agilite
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
Scrum xp
Scrum xpScrum xp
Scrum xp
 
eXtreme Programming [fr]
eXtreme Programming [fr]eXtreme Programming [fr]
eXtreme Programming [fr]
 
Architecture express pour petits projets
Architecture express pour petits projetsArchitecture express pour petits projets
Architecture express pour petits projets
 

Similaire à Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD

La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
Lucian Precup
 

Similaire à Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD (20)

Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
 
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
 
Agile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima ExpertsAgile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima Experts
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Meetup daikibo 1
Meetup daikibo 1Meetup daikibo 1
Meetup daikibo 1
 
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
 
NDepend 5 en action par son créateur
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateur
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
Assurance qualité
Assurance qualitéAssurance qualité
Assurance qualité
 
Vincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops Sherbrooke
 
7. Du Design UX au Design de la collaboration
7. Du Design UX au Design de la collaboration7. Du Design UX au Design de la collaboration
7. Du Design UX au Design de la collaboration
 
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
Les tests automatisés par mots-clés, le complément parfait d’un projet AgileLes tests automatisés par mots-clés, le complément parfait d’un projet Agile
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
 
Le développement logiciel expliqué à votre patron en 24 slides
Le développement logiciel expliqué à votre patron en 24 slidesLe développement logiciel expliqué à votre patron en 24 slides
Le développement logiciel expliqué à votre patron en 24 slides
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Initiation Scrum
Initiation ScrumInitiation Scrum
Initiation Scrum
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
La documentation logicielle se transforme en gestion de stratégie de conten...
La documentation logicielle se transforme en gestion de stratégie de conten...La documentation logicielle se transforme en gestion de stratégie de conten...
La documentation logicielle se transforme en gestion de stratégie de conten...
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
 
Surmonter les anti-patrons culturels nuisant à DevOps
Surmonter les anti-patrons culturels nuisant à DevOpsSurmonter les anti-patrons culturels nuisant à DevOps
Surmonter les anti-patrons culturels nuisant à DevOps
 

Plus de DC CONSULTANTS

Plus de DC CONSULTANTS (20)

Jira Software : La Gestion des temps et activités, comment s'y prendre ?
Jira Software : La Gestion des temps et activités, comment s'y prendre ?Jira Software : La Gestion des temps et activités, comment s'y prendre ?
Jira Software : La Gestion des temps et activités, comment s'y prendre ?
 
Jira Cloud : Les add-ons indispensables !
Jira Cloud : Les add-ons indispensables !Jira Cloud : Les add-ons indispensables !
Jira Cloud : Les add-ons indispensables !
 
Leadership, management d'équipe et agilité
Leadership, management d'équipe et agilitéLeadership, management d'équipe et agilité
Leadership, management d'équipe et agilité
 
Confluence : Un outil de partage du savoir professionnel
Confluence : Un outil de partage du savoir professionnel Confluence : Un outil de partage du savoir professionnel
Confluence : Un outil de partage du savoir professionnel
 
Comment être Certifié SAFe ,Scaled Agile Framework
Comment être Certifié SAFe ,Scaled Agile FrameworkComment être Certifié SAFe ,Scaled Agile Framework
Comment être Certifié SAFe ,Scaled Agile Framework
 
L’atelier Delegation poker du Management 3.0
L’atelier Delegation poker du Management 3.0L’atelier Delegation poker du Management 3.0
L’atelier Delegation poker du Management 3.0
 
Jira Cloud : Le monitoring via dashboards
Jira Cloud : Le monitoring via dashboardsJira Cloud : Le monitoring via dashboards
Jira Cloud : Le monitoring via dashboards
 
Jira Cloud & JQL : les possibilités de la recherche avancée
Jira Cloud & JQL : les possibilités de la recherche avancéeJira Cloud & JQL : les possibilités de la recherche avancée
Jira Cloud & JQL : les possibilités de la recherche avancée
 
Jira Cloud : Gérer mes utilisateurs
Jira Cloud : Gérer mes utilisateursJira Cloud : Gérer mes utilisateurs
Jira Cloud : Gérer mes utilisateurs
 
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
 
How HR Directors can bring the change with Management 3.0 and techniques ?
How HR Directors can bring the change with Management 3.0 and techniques ?How HR Directors can bring the change with Management 3.0 and techniques ?
How HR Directors can bring the change with Management 3.0 and techniques ?
 
Jira Cloud : Gérer mes workflows
Jira Cloud : Gérer mes workflowsJira Cloud : Gérer mes workflows
Jira Cloud : Gérer mes workflows
 
Les différences Jira Cloud vs. Jira Server
Les différences Jira Cloud vs. Jira ServerLes différences Jira Cloud vs. Jira Server
Les différences Jira Cloud vs. Jira Server
 
Jira Software : les solutions et opportunités de la migration vers le Cloud
Jira Software : les solutions et opportunités de la migration vers le CloudJira Software : les solutions et opportunités de la migration vers le Cloud
Jira Software : les solutions et opportunités de la migration vers le Cloud
 
How to implement agility at scale with SAFe in 2021? Feedback from the Frontline
How to implement agility at scale with SAFe in 2021? Feedback from the FrontlineHow to implement agility at scale with SAFe in 2021? Feedback from the Frontline
How to implement agility at scale with SAFe in 2021? Feedback from the Frontline
 
Jira Software : les solutions et opportunités de la migration vers le Cloud
Jira Software : les solutions et opportunités de la migration vers le CloudJira Software : les solutions et opportunités de la migration vers le Cloud
Jira Software : les solutions et opportunités de la migration vers le Cloud
 
Agile HR by Digital Catalysts : Atelier Discovery sur l'agilité et la RH !
Agile HR by Digital Catalysts : Atelier Discovery sur l'agilité et la RH !Agile HR by Digital Catalysts : Atelier Discovery sur l'agilité et la RH !
Agile HR by Digital Catalysts : Atelier Discovery sur l'agilité et la RH !
 
Devops: Culture or Tools? Why should I deploy it in my team, my department ?
 Devops: Culture or Tools? Why should I deploy it in my team, my department ? Devops: Culture or Tools? Why should I deploy it in my team, my department ?
Devops: Culture or Tools? Why should I deploy it in my team, my department ?
 
Introduction au Management 3.0 : motiver vos équipes en temps modernes
Introduction au Management 3.0 : motiver vos équipes en temps modernesIntroduction au Management 3.0 : motiver vos équipes en temps modernes
Introduction au Management 3.0 : motiver vos équipes en temps modernes
 
Agilité et Startup ? Est-ce naturel ? Qu'en pensez-vous ?
Agilité et Startup ? Est-ce naturel ? Qu'en pensez-vous ?Agilité et Startup ? Est-ce naturel ? Qu'en pensez-vous ?
Agilité et Startup ? Est-ce naturel ? Qu'en pensez-vous ?
 

Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD

  • 1. TDD (Test Driven Development) / BDD / ++ Mieux délivrer et s'entendre entre Dev / Testeur / PO! #INSPIRER #CATALYSER #DELIVRER At
  • 2. DC CONSULTANTS - Catalyser vos transformations ! 2 Avez-vous déjà pratiqué du TDD ou du BDD en pratique dans des projets ?
  • 3. DC CONSULTANTS - Catalyser vos transformations ! 3 Transformation de notre Meetup en Webinar Nouveau contexte COVID Learning en continu
  • 4. Comprendre comment le TDD peut aider à délivrer ? Comment améliorer la communication entre tous les acteurs du sujet : Développeur, Testeur, Product Owner, … ? Faire un lien entre Agilité et Testing Quelles bonnes pratiques ? DC CONSULTANTS - Catalyser vos transformations ! 4 Moins utile pour vous si : • Vous pratiquez déjà TDD/BDD régulièrement • Pour vous, « tester c’est douter »
  • 5. Qui sont les intervenants ? Le pitch 1/ Pourquoi tester ? 2/ TDD / BDD / Test by example : qu’est-ce ? 3/ Améliorer la communication : feedback 4/ Questions / Réponses DC CONSULTANTS - Catalyser vos transformations ! 6
  • 6. DC CONSULTANTS - Catalyser vos transformations ! Alex GON • Consultant, coach, formateur • Fondateur de DC CONSULTANTS et la communauté des Digital Catalysts • Accompagner les transformations digitales, donner du sens • Parcours : #Utilities #Startup #Conception #Product Owner #Coaching d’organisations • Passions : #agilité #aider #vélo #forgoodprojects
  • 7. DC CONSULTANTS - Catalyser vos transformations !
  • 8. DC CONSULTANTS - Catalyser vos transformations ! 9 • En ce moment : • Agile Scrum Master PSM 1 / Product Owner PSPO 1 • Design Thinking / Lean Startup • DEVOPS / ITIL v4 • Classe virtuelle, adapté • Financement à 100% via votre CPF ou OPCO • Pour vous : • une réduction de 15% sur les prochaines sessions • + discount si vous inscrivez 2 personnes et plus Comment faire : • écrire à Alex maintenant en chat privé • écrire à sales@dc-consultants.net pour demander plus d’infos inscriptions
  • 9. DC CONSULTANTS - Catalyser vos transformations ! 10
  • 11. DC CONSULTANTS - Catalyser vos transformations ! 12 • “Quality is never an accident; it is always the result of intelligent effort.” – John Ruskin • “A pinch of probability is worth a pound of perhaps.” James Thurber • “Software never was perfect and won’t get perfect. But is that a license to create garbage? The missing ingredient is our reluctance to quantify quality.” – Boris Beizer
  • 12. DC CONSULTANTS - Catalyser vos transformations ! 13 • Aller droit au but : faire en sorte d’avoir le comportement attendu • Aligner la vision Produit et Technique : Product Owner, Développeur, Testeur, … • Gagner du temps pour réduire le processus de livraison : • Délivrer de la qualité • Délivrer régulièrement
  • 13. DC CONSULTANTS - Catalyser vos transformations ! 14
  • 14. • Vous avez : • Des tests manuels • Beaucoup de tests d’acceptation qui demandent de gros efforts de mains d’œuvre à chaque livraison. • Vous avez de grosses livraisons • Vous avez des tests unitaires mais vous n’avez pas ou ne stockez pas les résultats • Vous n’avez pas de stratégie de tests ou vous ne savez plus ce qu’il y a dedans UI test services TU
  • 15. • A voir selon votre cas • Les tests sont pensés avec les fonctionnalités • Les tests sont d’abord pensés pour être automatisés • La grande majorité des tests sont automatisés • Vous avez une stratégie de tests à jour et améliorée en continu E to E Services TU
  • 16. UI test services E to E Services TU E to E Services TU UI test services TU UI test services TU UI test services UI test TU E to E Services TU E to E Services TUTU TUF TUF TU
  • 18. 25 • Technique de développement • Implémenter le test avant d’implémenter la fonctionnalité (= coder le test avant de coder la fonction) • Tests dits unitaires
  • 19. 26 3 lois du TDD : 1.Loi no 1 : Vous devez écrire un test qui échoue avant de pouvoir écrire le code de production correspondant. 2.Loi no 2 : Vous devez écrire une seule assertion à la fois, qui fait échouer le test ou qui échoue à la compilation. 3.Loi no 3 : Vous devez écrire le minimum de code de production pour que l'assertion du test actuellement en échec soit satisfaite. Fonctionne très bien en Pair programming : • L’un rédige le test • L’autre code • Échange des rôles • (plusieurs roulements possibles)
  • 20. 27 • Hygiène garantie : faire évoluer sans crainte • Réduction du temps de correction d’anomalie. • Confiance en votre code, notamment vis-à-vis de votre équipe
  • 21. 28 • Souvent vu comme un investissement temps lourd • Permet de maintenir un code de qualité dans le temps, donc « rentable »
  • 22. 29 • Penser les fonctionnalités selon le comportement • Exprimer les besoins selon un comportement attendu • « c’est le résultat qui compte » • Je développe une fonctionnalité pour atteindre le comportement attendu  • Spécification par l'exemple • Tests fonctionnels • Documentation exécutable
  • 23. 30 • Illustrer la spécification / règle de gestion par un (des) exemple(s) • Exemple : Google Doc • En tant qu’utilisateur je souhaite pouvoir éditer un document à plusieurs en simultané • Jusqu’à 5 utilisateurs peuvent éditer un document • Les utilisateurs ayant les droits peuvent compléter, commenter le document en même temps • Exemple : 5 personnes (A, B, C,D, E) ont accès au document « Recette.gdoc ». Ils ouvrent le document en ligne, ils écrivent chacun leur nom en simultané. Les noms des 5 personnes sont visibles sur le document. • Qui ? Le Product Owner, Business Analyst, Testeur
  • 24. 31 • Structure des tests en BDD : • Etant donné que • Lorsque • Alors  In english : • Given • When • Then • Standard reconnu par tous
  • 25. 32 • Exemple pour un moteur de recherche de contenu / comparateur • Scenario: les suggestions proposées sont populaires, disponibles et adaptées à l'âge de l utilisateur • Etant donné l'utilisateur "Tim" • Et il a "4" ans • Et les catégories populaires pour cet âge sont | categorieId | nom | | cat1 | Coloriage | | cat2 | Comptines | • Et les livres disponibles pour les catégories "cat1,cat2" sont • | livreId | titre | categorieId | • | lv11 | Colorier les poules | cat1 | • | lv21 | Comptines de la ferme | cat2 | • Quand on demande "2" suggestions • Alors les suggestions sont • | livreId | titre | categorieId | • | lv11 | Colorier les poules | cat1 | • | lv21 | Comptines de la ferme | cat2 |
  • 26. DC CONSULTANTS - Catalyser vos transformations ! 33 • Documentation vivante : évolue de version en version, • Pas de régression sur les versions livrées • Architecture émergente : l’infrastructure du logiciel évolue au fur et à mesure
  • 27. DC CONSULTANTS - Catalyser vos transformations ! 34 • Permet de décliner les objectifs du produit, du Product Owner • Centré sur le but, avec la contrainte de la qualité • Déclinaison des OKR au niveau du code
  • 28. DC CONSULTANTS - Catalyser vos transformations ! 35 • Mettre en œuvre une démarche TDD / BDD oblige l’équipe à se parler : • Attentes et besoins structurés du PO • Discussions entre PO, Developpeurs, Testeurs, • Plus de clarté • Plus de factuel : exemples, résultats mesurables  Bonnes recettes pour l’entente et le moral de l’équipe !
  • 29. 36 • Un panorama des classiques :
  • 30. 37 • Selon Gartner, les meilleurs en 2020 : => https://www.gartner.com/reviews/market/software-test-automation => https://medium.com/@briananderson2209/best-automation-testing-tools-for-2018-top-10-reviews- 8a4a19f664d2
  • 31. 38 • Pour les API / Webservices :
  • 32. 39 • Fitnesse : specifications executables Open Source • Cucumber : specifications executables • Katalon Studio : plateforme « All In One » : toutes applications, toutes technos • Pour JIRA (ATLASSIAN) : XRAY • Rédaction des scenarios Cucumber dans JIRA • Centrealise les plans de tests projet et de l’entreprise, dans l’outil de gestion de votre travail • Intégration avec la CI (intégration continue) (Bamboo, Jenkins)
  • 33. DC CONSULTANTS - Catalyser vos transformations ! 40 Plusieurs pratiques selon les équipes croisées Long chemin à mettre en œuvre Difficultés/Challenges Résultats ?
  • 34. DC CONSULTANTS - Catalyser vos transformations ! 41 • Indispensable pour la livraison régulière : livrer à chaque fin de sprint, ou en continu • Augmente l’entente de l’équipe : • Moins de refus sur le « fonctionnel » à posteriori (le PO qui refuse une User Story…) • Moins de discussions inutiles sur la classification Anomalie / Evolution / Mauvaise spécification car meilleure anticipation
  • 35. DC CONSULTANTS - Catalyser vos transformations ! 42
  • 36. DC CONSULTANTS - Catalyser vos transformations ! 43 • Avoir une approche TDD, BDD, Automatiser les tests est excellent • Mais les efforts sont lourds • Garder une approche ROI : est-ce toujours rentable ? • Sur une application en fin de vie ? • Sur un projet déjà livré ? • Sur un premier prototype ?
  • 37. DC CONSULTANTS - Catalyser vos transformations ! 44 • Tester • Peut couter très cher à la qualité de votre produit, et à la satisfaction utilisateur • Sur la base du comportement attendu est plus efficace • Est un bon moyen de créer de la communication entre Dev/PO/Testeur • Automatiser les Tests • C’est investir pour gagner du temps et de la qualité par la suite • Y penser dès le début pour éviter les ennuis (= dette technique) • Une idée / Envie • d’intervenir • de nous accueillir ? • => alex.gon@dc-consultants.net
  • 38. DC CONSULTANTS - Catalyser vos transformations ! 46 • Venir parler à votre CIO, DSI, CEO et vos équipes des enjeux • Développement de vos talents : o communauté, o formations, • Savoir-faire Digital Catalysts : o Mindset de l’agilité dans les missions réalisées & suivies • Des outils pour réussir • Nos communautés : o 1100+ Spécialistes agilité o 800+ membres sur nos Meetups Agilists & Products We
  • 39. Alex GON Principal Digital Catalyst 06 27 79 37 72 01 84 17 75 69 sales@dc-consultants.net Activez la communauté Digital Catalysts : https://www.linkedin.com/company/dc_consultants/ https://www.facebook.com/DigitalCatalysts/ Agile Nightmares : https://www.meetup.com/fr-FR/Agile- Nightmares-by-Digital-Catalysts/