BDD SYMFONY TN
rmed19
SLIDE 1
1
BDD 
&
   SYMFONY
BDD SYMFONY TN
rmed19
SLIDE 2
2
Mohammed
Rhamnia
•
•
•
•
Symfonien depuis 7 ans
Consultant Symfony
@rmed19
http://medrhamn...
BDD SYMFONY TN
rmed19
SLIDE 3
3
DEFINE
BDD
Introduction au Behaviour Driven
Development
BDD SYMFONY TN
rmed19
SLIDE 4
4
ÉCHECD'UN
PROJET
•
•
•
•
•
•
Retard de livraison
Coûts de finalisation élevés
Application ...
BDD SYMFONY TN
rmed19
SLIDE 5
5
•
•
•
•
•
Répondre au besoin
S'adapter au changement de priorité
Diminuer le coût de chang...
BDD SYMFONY TN
rmed19
SLIDE 6
6
AUCOMMENCEMENT
ÉTAITLETDD,ETLETDD
ÉTAITAVECEXP
BDD SYMFONY TN
rmed19
SLIDE 7
7
Test Driven Development
BDD SYMFONY TN
rmed19
SLIDE 8
8
•
•
•
•
Complexité
supplémentaire
Impact de la conception
Optimisation continue
Investisse...
BDD SYMFONY TN
rmed19
SLIDE 9
9
Behaviour-driven development is
about implementing an application
by describing its behavi...
BDD SYMFONY TN
rmed19
SLIDE 10
10
BDD est un méthode agile qui
encourage la collaboration entre
les développeurs, les resp...
BDD SYMFONY TN
rmed19
SLIDE 11
11
PROCESSUS
BDD
•
•
•
Le code créé est à
l’image de la
demande de
l’utilisateur.
La foncti...
BDD SYMFONY TN
rmed19
SLIDE 12
12
 
Fonctionnalité 2  
Fonctionnalité
1
 
                                                ...
BDD SYMFONY TN
rmed19
SLIDE 13
13
BDD ça ressemble à quoi ?
Feature : Title
As a (En tant que) Contexte
I want (Je souhait...
BDD SYMFONY TN
rmed19
SLIDE 14
14
BDD ça ressemble à quoi ?
Feature : Managing Blog Posts
As a webmaster
I want I need to ...
BDD SYMFONY TN
rmed19
SLIDE 15
15
CONCLUANT
•
•
•
•
•
Évolution et non une Révolution.
Tout le monde communique.
Réflexion...
BDD SYMFONY TN
rmed19
SLIDE 16
16
EXECUTE 
BDD
Passons à l'action
BDD SYMFONY TN
rmed19
SLIDE 17
17
OUTILS
BEHAT MINK
PHSPEC
BDD SYMFONY TN
rmed19
SLIDE 18
18
CONFIGURATION
"require-dev": {
 "sensio/generator-bundle": "~2.3",
 "phpspec/phpspec": "...
BDD SYMFONY TN
rmed19
SLIDE 19
19
CONFIGURATION
#behat.yml
default:
paths:
 features: features
 bootstrap: %behat.paths.fe...
BDD SYMFONY TN
rmed19
SLIDE 20
20
CONFIGURATION
BDD SYMFONY TN
rmed19
SLIDE 21
21
STORYDDFeature: Managing Blog Posts
In order to manage blog posts
As a blog administrato...
BDD SYMFONY TN
rmed19
SLIDE 22
22
SPECDD
BDD SYMFONY TN
rmed19
SLIDE 23
23
SPECDD
BDD SYMFONY TN
rmed19
SLIDE 24
24
SPECDD
BDD SYMFONY TN
rmed19
SLIDE 25
25
THEEND
BDD avec Behat, PhpSpec et Symfony2
Prochain SlideShare
Chargement dans…5
×

BDD avec Behat, PhpSpec et Symfony2

657 vues

Publié le

Événement Symfony TN, 17-04-2015 Conférence sur « BDD & Symfony »
http://symfony-tunisia.com/

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
657
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

BDD avec Behat, PhpSpec et Symfony2

  1. 1. BDD SYMFONY TN rmed19 SLIDE 1 1 BDD  &    SYMFONY
  2. 2. BDD SYMFONY TN rmed19 SLIDE 2 2 Mohammed Rhamnia • • • • Symfonien depuis 7 ans Consultant Symfony @rmed19 http://medrhamnia.workpress.com
  3. 3. BDD SYMFONY TN rmed19 SLIDE 3 3 DEFINE BDD Introduction au Behaviour Driven Development
  4. 4. BDD SYMFONY TN rmed19 SLIDE 4 4 ÉCHECD'UN PROJET • • • • • • Retard de livraison Coûts de finalisation élevés Application ne répond pas au besoin Instabilité après déploiement Non respect des règles Code non réutilisable
  5. 5. BDD SYMFONY TN rmed19 SLIDE 5 5 • • • • • Répondre au besoin S'adapter au changement de priorité Diminuer le coût de changement Se focaliser sur les fonctionnalités à forte valeur ajoutée S'adapter au feedback RÉUSSITE D'UN PROJET
  6. 6. BDD SYMFONY TN rmed19 SLIDE 6 6 AUCOMMENCEMENT ÉTAITLETDD,ETLETDD ÉTAITAVECEXP
  7. 7. BDD SYMFONY TN rmed19 SLIDE 7 7 Test Driven Development
  8. 8. BDD SYMFONY TN rmed19 SLIDE 8 8 • • • • Complexité supplémentaire Impact de la conception Optimisation continue Investissement en temps énormeINCONVENIENTDELATDD
  9. 9. BDD SYMFONY TN rmed19 SLIDE 9 9 Behaviour-driven development is about implementing an application by describing its behaviour from the perspective of its stakeholders DAN     NORTH
  10. 10. BDD SYMFONY TN rmed19 SLIDE 10 10 BDD est un méthode agile qui encourage la collaboration entre les développeurs, les responsables qualités, les intervenants non- techniques et les entreprises participant à un projet de logiciel. BDD est motivée par la valeur commerciale, c'est un avantage pour l'entreprise qui revient une fois que l'application est en production. WIKIPEDIA
  11. 11. BDD SYMFONY TN rmed19 SLIDE 11 11 PROCESSUS BDD • • • Le code créé est à l’image de la demande de l’utilisateur. La fonctionnalité est à l’image de la demande de l’utilisateur. Une grande qualité de production. • • • On utilise des phrases, dans la langue du projet. On parle de besoin et non de solution, dans un langage non technique. On utilise des termes provenant du langage omniprésent partagé par tous.
  12. 12. BDD SYMFONY TN rmed19 SLIDE 12 12   Fonctionnalité 2   Fonctionnalité 1                                                                           Scénario 2-1   Scénario 2-2   Scénario 1-1   Scénario 1-2   Scénario 1-3   BDD ça ressemble à quoi ?
  13. 13. BDD SYMFONY TN rmed19 SLIDE 13 13 BDD ça ressemble à quoi ? Feature : Title As a (En tant que) Contexte I want (Je souhaite) Fonctionnalité In order (Pour) Finalité Scenario : Title (^(can|can not)) Given (Je mets en place un contexte) When (Je procède à l’action, un événement, …) Then (Je vérifie) GHERKIN
  14. 14. BDD SYMFONY TN rmed19 SLIDE 14 14 BDD ça ressemble à quoi ? Feature : Managing Blog Posts As a webmaster I want I need to be able to create, view, edit or delete a post In order to manage my blog content Scenario : I can see all posts Given I go to "/admin/post" page Then I should see "Post List" And I should see "Add Post"
  15. 15. BDD SYMFONY TN rmed19 SLIDE 15 15 CONCLUANT • • • • • Évolution et non une Révolution. Tout le monde communique. Réflexion approfondie. Documentation testable. Time is Money.
  16. 16. BDD SYMFONY TN rmed19 SLIDE 16 16 EXECUTE  BDD Passons à l'action
  17. 17. BDD SYMFONY TN rmed19 SLIDE 17 17 OUTILS BEHAT MINK PHSPEC
  18. 18. BDD SYMFONY TN rmed19 SLIDE 18 18 CONFIGURATION "require-dev": {  "sensio/generator-bundle": "~2.3",  "phpspec/phpspec": "~2.0",  "behat/behat": "2.4.*@stable",  "behat/mink": "1.4.*@stable",  "behat/mink-extension": "*", "behat/symfony2-extension": "*", "behat/mink-browserkit-driver": "*", "behat/mink-selenium2-driver": "*"  },
  19. 19. BDD SYMFONY TN rmed19 SLIDE 19 19 CONFIGURATION #behat.yml default: paths:  features: features  bootstrap: %behat.paths.features%/bootstrap extensions:  BehatMinkExtensionExtension:  base_url: 'http://sftn.dev/app_dev.php' default_session: 'symfony2' BehatSymfony2ExtensionExtension: mink_driver: true
  20. 20. BDD SYMFONY TN rmed19 SLIDE 20 20 CONFIGURATION
  21. 21. BDD SYMFONY TN rmed19 SLIDE 21 21 STORYDDFeature: Managing Blog Posts In order to manage blog posts As a blog administrator I need to be able to create, view, edit or delete posts Scenario: Listing Blog Posts Given I go to "/post" Then I should see "Post List" And I should see "Add Post"
  22. 22. BDD SYMFONY TN rmed19 SLIDE 22 22 SPECDD
  23. 23. BDD SYMFONY TN rmed19 SLIDE 23 23 SPECDD
  24. 24. BDD SYMFONY TN rmed19 SLIDE 24 24 SPECDD
  25. 25. BDD SYMFONY TN rmed19 SLIDE 25 25 THEEND

×