SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Behaviour Driven Development
● User Stories, Rollen und Nutzen formulieren
● Feature-Beschreibungen und Szenarien
(Beispiele) formulieren
● Tests implementieren
● Feature iterativ implementieren
Behaviour Driven Development
User Stories
Den Nutzen aus Sicht
des Anwenders
beschreiben
Szenarien
Ausführbare Beispiele
formulieren
Anforderungen
in natürlicher Sprache
formulieren
Behaviour Driven Development
Lebende
Dokumentation
Ubiquitous Language
Automatisierte
Akzeptanztests
Source of truth
Behaviour Driven Development
Beispiel-Anforderung:
Login Bestandskunde
Behaviour Driven Development
User Story
„Als Bestandskunde möchte ich mich im TYPO3 Shop mit
meinem bestehenden Konto anmelden können. Damit erhalte
ich Zugriff auf meine Kundendaten, die ich zuvor bei der
Registrierung eingegeben habe.“
Behaviour Driven Development
Feature: login
Als Bestandskunde des TYPO3 Shops
Benötige ich ein Login
Um Zugriff auf mein Konto zu bekommen
Behaviour Driven Development
Feature: login
Rolle Als Bestandskunde des TYPO3 Shops
Funktionalität Benötige ich ein Login
Nutzen Um Zugriff auf mein Konto zu bekommen
Behaviour Driven Development
Szenario: Melde einen Benutzer per Login an
Angenommen auf „http://shop.typo3.org“ wurde
ein Login-Formular hinzugefügt
Wenn ich mich mit meinem Benutzernamen
und Passwort anmelde
Dann sollte ich mit meine Kundendaten sehen
Feature: login
Als Bestandskunde des TYPO3 Shops
Benötige ich ein Login
Um Zugriff auf mein Konto zu bekommen
Behaviour Driven Development
Szenario: Melde einen Benutzer per Login an
Angenommen auf „http://shop.typo3.org“ wurde
ein Login-Formular hinzugefügt
Wenn ich mich mit meinem Benutzernamen
und Passwort anmelde
Dann sollte ich mit meine Kundendaten sehen
Feature: login
Als Bestandskunde des TYPO3 Shops
Benötige ich ein Login
Um Zugriff auf mein Konto zu bekommen
Behaviour Driven Development
Szenario: Melde einen Benutzer per Login an
Kontext Angenommen auf „http://shop.typo3.org“ wurde
ein Login-Formular hinzugefügt
Ereignis Wenn ich mich mit meinem Benutzernamen
und Passwort anmelde
Ergebnis Dann sollte ich mit meine Kundendaten sehen
Feature: login
Als Bestandskunde des TYPO3 Shops
Benötige ich ein Login
Um Zugriff auf mein Konto zu bekommen
Behaviour Driven Development
Szenarien ausführen
Behat + Mink + Selenium WebDriver
Behaviour Driven Development
Behat
Framework, um
Szenarien zu
implementieren
und steuern
Szenarien ausführen
Behat + Mink + Selenium WebDriver
Behaviour Driven Development
Szenarien ausführen
Behat + Mink + Selenium WebDriver
Mink
Treiber, um
Test-Clients
anzusprechen
Behat
Framework, um
Szenarien zu
implementieren
und steuern
Behaviour Driven Development
Szenarien ausführen
Behat + Mink + Selenium WebDriver
Mink
Treiber, um
Test-Clients
anzusprechen
Selenium
Test-Client, um
das Szenario in
Browsern
auszuführen
Behat
Framework, um
Szenarien zu
implementieren
und steuern

Weitere ähnliche Inhalte

Empfohlen

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

BDD Einführung @TYPO3camp RheinRuhr 2012

  • 1. Behaviour Driven Development ● User Stories, Rollen und Nutzen formulieren ● Feature-Beschreibungen und Szenarien (Beispiele) formulieren ● Tests implementieren ● Feature iterativ implementieren
  • 2. Behaviour Driven Development User Stories Den Nutzen aus Sicht des Anwenders beschreiben Szenarien Ausführbare Beispiele formulieren Anforderungen in natürlicher Sprache formulieren
  • 3. Behaviour Driven Development Lebende Dokumentation Ubiquitous Language Automatisierte Akzeptanztests Source of truth
  • 5. Behaviour Driven Development User Story „Als Bestandskunde möchte ich mich im TYPO3 Shop mit meinem bestehenden Konto anmelden können. Damit erhalte ich Zugriff auf meine Kundendaten, die ich zuvor bei der Registrierung eingegeben habe.“
  • 6. Behaviour Driven Development Feature: login Als Bestandskunde des TYPO3 Shops Benötige ich ein Login Um Zugriff auf mein Konto zu bekommen
  • 7. Behaviour Driven Development Feature: login Rolle Als Bestandskunde des TYPO3 Shops Funktionalität Benötige ich ein Login Nutzen Um Zugriff auf mein Konto zu bekommen
  • 8. Behaviour Driven Development Szenario: Melde einen Benutzer per Login an Angenommen auf „http://shop.typo3.org“ wurde ein Login-Formular hinzugefügt Wenn ich mich mit meinem Benutzernamen und Passwort anmelde Dann sollte ich mit meine Kundendaten sehen Feature: login Als Bestandskunde des TYPO3 Shops Benötige ich ein Login Um Zugriff auf mein Konto zu bekommen
  • 9. Behaviour Driven Development Szenario: Melde einen Benutzer per Login an Angenommen auf „http://shop.typo3.org“ wurde ein Login-Formular hinzugefügt Wenn ich mich mit meinem Benutzernamen und Passwort anmelde Dann sollte ich mit meine Kundendaten sehen Feature: login Als Bestandskunde des TYPO3 Shops Benötige ich ein Login Um Zugriff auf mein Konto zu bekommen
  • 10. Behaviour Driven Development Szenario: Melde einen Benutzer per Login an Kontext Angenommen auf „http://shop.typo3.org“ wurde ein Login-Formular hinzugefügt Ereignis Wenn ich mich mit meinem Benutzernamen und Passwort anmelde Ergebnis Dann sollte ich mit meine Kundendaten sehen Feature: login Als Bestandskunde des TYPO3 Shops Benötige ich ein Login Um Zugriff auf mein Konto zu bekommen
  • 11. Behaviour Driven Development Szenarien ausführen Behat + Mink + Selenium WebDriver
  • 12. Behaviour Driven Development Behat Framework, um Szenarien zu implementieren und steuern Szenarien ausführen Behat + Mink + Selenium WebDriver
  • 13. Behaviour Driven Development Szenarien ausführen Behat + Mink + Selenium WebDriver Mink Treiber, um Test-Clients anzusprechen Behat Framework, um Szenarien zu implementieren und steuern
  • 14. Behaviour Driven Development Szenarien ausführen Behat + Mink + Selenium WebDriver Mink Treiber, um Test-Clients anzusprechen Selenium Test-Client, um das Szenario in Browsern auszuführen Behat Framework, um Szenarien zu implementieren und steuern