soigner sa schizophrénie
DESCRIPTION
Présentation du pilotage du développement par les tests d'acceptance faite aux XPDay de Paris.TRANSCRIPT
![Page 1: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/1.jpg)
Soigner sa schizophrénieMOA / MOE
Voyage autour des spécifications exécutables
Rémy Sanlaville
Expert Senior en Ingénierie Logicielle Orange Labs
[email protected] Hugonnet
Architecture J2EE
Silverpeas
Hervé Lourdin
Architecte Sénior / Coach agile
OCTO Technology
![Page 2: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/2.jpg)
Double PersonnalitéDouble Audience
MOA MOE
"Stakeholders are the people whose life you touch with your software"Dan North
![Page 3: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/3.jpg)
Idées
Métier
Valeur
Deux hémisphères
Architecture
Technique
Artisanat
MOA MOE
Bien faireCe qu’il faut faire
![Page 4: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/4.jpg)
Fonctionnalités et leur utilisationpour un logiciel
Source CHAOS
![Page 5: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/5.jpg)
Un problème de communication
![Page 6: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/6.jpg)
CommunicationDéfinition de "terminé"
![Page 7: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/7.jpg)
ATDD cycle model by Jim Shore with changes suggested by
Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
![Page 8: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/8.jpg)
Ensemble tout devient possible
Atelier de spécifications
Bug Bash copyright by Hans Bjordahl — www.bugbash.net
![Page 9: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/9.jpg)
ATDD cycle model by Jim Shore with changes suggested by
Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
![Page 10: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/10.jpg)
External Domain Specific Language
Given …
When …
Then …
Un Langage Commun
![Page 11: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/11.jpg)
Spécifier par l’exemple
Les histoires d’utilisateur sont décrites au travers d’exemples : les scénarii
Les utilisateurs doivent utiliser des mots de passe sécurisés(une chaine de caractères dont la taille est comprise entre 8 et 20Et qui contiennent au moins une lettre, un chiffre et un caractère spécial)
![Page 12: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/12.jpg)
Atelier de spécificationsDiscussion
Que ce passe t'il si un utilisateur entre un mot de Que ce passe t'il si un utilisateur entre un mot de passe non sécurisé ?passe non sécurisé ?
Pouvez vous me donner des exemples de mots de Pouvez vous me donner des exemples de mots de passe sécurisés et non sécurisés ?passe sécurisés et non sécurisés ?
Quels sont les caractères spéciaux ?Quels sont les caractères spéciaux ?
Comment prend on en compte les espaces ?Comment prend on en compte les espaces ?
Que fait on pour les mots de passe basés sur un Que fait on pour les mots de passe basés sur un dictionnaire avec une substitution simple comme dictionnaire avec une substitution simple comme ‘p@ssw0rd’?”‘p@ssw0rd’?”
Comment gère t on les comptes existants ? Comment gère t on les comptes existants ?
Comment savoir que cette fonction est "terminée" ?Comment savoir que cette fonction est "terminée" ?
![Page 13: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/13.jpg)
Les scénarii
Etant donné un nouvel UtilisateurLorsqu'il crée un compte avec un mot de passe sécuriséAlors le message 'SUCCESS' apparaitEt lorsqu'il essaye de se connecter sur ce compte Alors le message 'Hello $login' apparait
Etant donné un nouvel UtilisateurLorsqu'il crée un compte avec un mot de passe non sécuriséAlors le message 'FAILURE' apparaitEt lorsqu'il essaye de se connecter sur ce compte Alors il n'y parvient pas et le message 'FAILURE' apparait
![Page 14: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/14.jpg)
Exemples
• Exemples de mots de passe sécurisé– p@ssw0rd– d1ction n@ire– dictionnaire_01
• Exemples de mots de passe non sécurisés– Trop court: p@sw0r– Trop long: dictionnaire_01_ dictionnaire_01– Sans chiffre: p@ssword– …
![Page 15: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/15.jpg)
L’information circule
![Page 16: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/16.jpg)
ATDD cycle model by Jim Shore with changes suggested by
Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
![Page 17: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/17.jpg)
Scénarii Distillés
![Page 18: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/18.jpg)
Exemples
![Page 19: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/19.jpg)
ATDD cycle model by Jim Shore with changes suggested by
Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
![Page 20: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/20.jpg)
Développer
ATDD / BDD : bien faire ce que je dois faire
Le métier pilote le développement
TDD : bien faire les choses
Émergence du design
![Page 21: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/21.jpg)
On commence au Rouge
![Page 22: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/22.jpg)
Il manque la Fixture
Fixture: code de liaison entre le test (les tableaux) et le code du sysème testé (SUT)
![Page 23: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/23.jpg)
Ecriture de la Fixture
![Page 24: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/24.jpg)
Prêt à Développer
![Page 25: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/25.jpg)
Première Etape
![Page 26: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/26.jpg)
TDD – Ecriture du Test
![Page 27: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/27.jpg)
TDD – Ecriture du Code
![Page 28: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/28.jpg)
Vérification Fonctionnelle
![Page 29: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/29.jpg)
Fonctionnalité Terminée
![Page 30: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/30.jpg)
Les exemples permettent de prouver "scientifiquement" la théorie du développeur
Les tests d'acceptance sont le scanner du projet
![Page 31: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/31.jpg)
Enfin les tests : l’exploration
Aspect Technologique
Aspect MétierS
up
po
rt d
u D
éve
lop
pe
me
nt
Critiq
ue
du
Pro
du
it
Tests ExploratoiresTe
sts d
'Accepta
nce
Tests
Unita
ires
et d'In
tégra
tion
Disponibilité
Scalabilité
Sécurité …*ité
![Page 32: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/32.jpg)
Rendre les spécifications exécutables
Différentes approches– Proche du code
• JBehave, Rspec, Easyb…
– Format moins technique• Wiki : Fitnesse/SLIM, GreenPepper…• HTML : Concordion, Robotframework…
– De nouveaux outils en cours de maturation• Twist, JBehave 2…
![Page 33: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/33.jpg)
Les Pères Fondateurs
• JBehave : Dan North, Chris Matt• Test Driven Development: Kent Beck• FIT: Ward Cunningham• Example Driven Development: Brian
Marick• User Stories: Mike Cohn• Domain Driven Design: Eric Evans
![Page 34: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/34.jpg)
Bilan
Une meilleure communication entre les différents acteurs du projet
• Discuss : tous ensemble• Distill : définition par l'exemple• Develop : pilotage par l'exemple - "FAIT"• Demo : Validation
Bref, une seule équipe
![Page 35: Soigner Sa Schizophrénie](https://reader034.vdocuments.fr/reader034/viewer/2022042601/549f0f6fac79590b768b48a1/html5/thumbnails/35.jpg)
Emergence d'une nouvelle génération d'outils pour relever de nouveaux défis
• Intégration au cycle de vie du projet (SCM)• Facilité de prise en main par la MOA• Meilleure Intégration avec les outils de développement• Rapports plus complets (couverture des exigences, évolution dans le temps…)
Perspectives