bdd - die lösung aller probleme?
TRANSCRIPT
![Page 1: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/1.jpg)
BehaviorDrivenDevelopment
Die Lösung aller Probleme?
Ina Einemann
![Page 2: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/2.jpg)
Typische Probleme
Anforderungs-management
Umsetzung Test Auslieferung
T
![Page 3: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/3.jpg)
Was ist BDD? Behavior Driven Development
![Page 4: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/4.jpg)
Was ist BDD? Behavior Driven Development
RED
GREEN REFACTOR
1. Einen Test schreiben und
prüfen, ob er fehlschlägt
2. Code ergänzen, damit der
Test erfolgreich durchläuft
3. Den Code verbessern
z.B. Wiederholungen
löschen
Die Basis ist TDD:
![Page 5: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/5.jpg)
Was ist BDD? Behavior Driven Development
T
![Page 6: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/6.jpg)
Was ist BDD? Behavior Driven Development
Story: Taschenrechner
Feature: Zwei Zahlen
Szenario: Zwei Zahlen addieren
Gegeben eine Zahl 50
Und eine Zahl 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
Szenario: Zwei Zahlen multiplizieren
Gegeben eine Zahl 5
Und eine Zahl 6
Wenn ich Multiplizieren wähle
Dann ist das Ergebnis 30
![Page 7: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/7.jpg)
Was ist BDD? Behavior Driven Development
GlueCode
T
![Page 8: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/8.jpg)
Glue Code
@Given("eine Zahl $zahl1")
public void givenEineZahl(int value1){
this.value1 = value1;
}
![Page 9: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/9.jpg)
Was ist BDD? Behavior Driven Development
GlueCode
T
![Page 10: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/10.jpg)
Was ist BDD? Behavior Driven Development
GlueCode
T
![Page 11: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/11.jpg)
Was ist BDD? Behavior Driven Development
![Page 12: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/12.jpg)
CarShare
• Bislang nur telefonische
Buchungen
• Buchungswebseite
• Spezielle Features
![Page 13: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/13.jpg)
T
T
Stakeholder: Simone
PO: Sven
Team: Maja
Karl Paul
Christian
![Page 14: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/14.jpg)
T
T
![Page 15: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/15.jpg)
T
T
![Page 16: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/16.jpg)
Gemeinsames Verständis
Das ist
ein
Berg
Das ist
eine
Schlange
Das ist
ein
Baum
Das ist
eine
Höhle
![Page 17: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/17.jpg)
Vision
Business Goals
Capabilities
Features
Stories
Akzeptanzkriterien
Szenarien
Code
![Page 18: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/18.jpg)
Impact Map
Buchungs- webseite
Mehr PKWs vermieten
Marketingteam Mehr Kunden
erreichen Mehrsprachig-
keit
Kunden
Öfters PKWs mieten
Aboservice
Treueprogramm
Freunde überzeugen
Facebook Integration
Business Goal
Warum? Wer? Wie? Was?
Stakeholder Capabilities Feature
Vision
![Page 19: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/19.jpg)
Als Premium-Kunde
möchte ich für bestimmte Tage Fahrzeuge
abonnieren können,
damit ich nicht mehrmals buchen muss.
User Story
Aboservice
![Page 20: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/20.jpg)
T
T
![Page 21: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/21.jpg)
Sachliche
Gründe
Bedenken
Lustlosigkeit Widerspruch
Kritik & Beschwerden
Ignoranz
Aufregung Zustimmung
Ausweichen Anpassung
Schuldzuweisung
Bequemlichkeit Angst Hoffnung
Machtorientierung am Arbeitsplatz
Pessimismus
ANGESTREBTE
VERÄNDERUNG
DEMONSTRIERTES
VERHALTEN
GRUNDHALTUNG
Ein erfolgreicher
Veränderungsprozess
bewegt wesentlich
mehr als nur die
angestrebte
Veränderung auf der
Sachebene
![Page 22: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/22.jpg)
Widerstand
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Form
en d
es
Wid
ers
tan
ds
Aktiv
Passiv
Betonköpfe
Mitläufer
Saboteure
Skeptiker
T
![Page 23: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/23.jpg)
Widerstand
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Form
en d
es
Wid
ers
tan
ds
Aktiv
Passiv
Mitläufer Skeptike
Ich will nicht
testen
![Page 24: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/24.jpg)
Widerstand
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Form
en d
es
Wid
ers
tan
ds
Aktiv
Passiv
Skeptiker In dem Projekt
PlaneShare läuft es viel
besser.
Es läuft
doch!
![Page 25: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/25.jpg)
Widerstand
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Form
en d
es
Wid
ers
tan
ds
Aktiv
Passiv
Betonköpfe
Wir sind doch
zufrieden! T
![Page 26: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/26.jpg)
Widerstand
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Form
en d
es
Wid
ers
tan
ds
Aktiv
Passiv
Saboteure
!!!
Das wollen
wir nicht!
![Page 27: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/27.jpg)
T
T
![Page 28: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/28.jpg)
Als Premium-Kunde
möchte ich für bestimmte Tage Fahrzeuge
abonnieren können,
damit ich nicht mehrmals buchen muss.
User Story
Aboservice
![Page 29: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/29.jpg)
Akzeptanzkriterien • Der Premium-Kunde soll bei einer Buchung auswählen können, ob die Buchung als Abo laufen soll
• Der ausgewählte Termin ist der Starttermin
• Er kann verschiedene Intervalle für sein Abo auswählen – Täglich
• Er kann zwischen bestimmten Wochentagen oder allen Arbeitstagen auswählen
– Wöchtlich • Rhythmus von jeder, zweiter, dritter…Woche
– Monatlich • Bestimmter Wochentag (letzter Freitag im Monat)
• Bestimmter Tag, wie der 1. eines Monats
• Er kann einen Endtermin für sein Abo bestimmen – Bestimmtes Datum
– Nach einer bestimmten Anzahl an Wochen
• Er kann in seinem Kundenkonto die ausgewählten Abos einsehen, ändern und löschen
• Er kann in seinem Kundenkonto die Kosten anzeigen
• Er kann einen Zahlungsrhythmus für das Abo auswählen – Im Voraus
– Je Termin
– monatlich
![Page 30: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/30.jpg)
Workflow • Der Premium-Kunde soll bei einer Buchung auswählen können, ob die Buchung als Abo laufen soll
• Der ausgewählte Termin ist der Starttermin
• Er kann verschiedene Intervalle für sein Abo auswählen – Täglich
• Er kann zwischen bestimmten Wochentagen oder allen Arbeitstagen auswählen
– Wöchtlich • Rhythmus von jeder, zweiter, dritter…Woche
– Monatlich • Bestimmter Wochentag (letzter Freitag im Monat)
• Bestimmter Tag, wie der 1. eines Monats
• Er kann einen Endtermin für sein Abo bestimmen – Bestimmtes Datum
– Nach einer bestimmten Anzahl an Wochen
• Er kann in seinem Kundenkonto die ausgewählten Abos einsehen, ändern und löschen
• Er kann in seinem Kundenkonto die Kosten anzeigen
• Er kann einen Zahlungsrhythmus für das Abo auswählen – Im Voraus
– Je Termin
– monatlich
Starttermin auswählen
Kundenkonto einsehen
Zahlungsrhythmus festlegen
Intervalle auswählen
Endtermin auswählen
![Page 31: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/31.jpg)
Operationen • Der Premium-Kunde soll bei einer Buchung auswählen können, ob die Buchung als Abo laufen soll
• Der ausgewählte Termin ist der Starttermin
• Er kann verschiedene Intervalle für sein Abo auswählen – Täglich
• Er kann zwischen bestimmten Wochentagen oder allen Arbeitstagen auswählen
– Wöchtlich • Rhythmus von jeder, zweiter, dritter…Woche
– Monatlich • Bestimmter Wochentag (letzter Freitag im Monat)
• Bestimmter Tag, wie der 1. eines Monats
• Er kann einen Endtermin für sein Abo bestimmen – Bestimmtes Datum
– Nach einer bestimmten Anzahl an Wochen
• Er kann in seinem Kundenkonto die ausgewählten Abos einsehen, löschen und ändern
• Er kann in seinem Kundenkonto die Kosten anzeigen
• Er kann einen Zahlungsrhythmus für das Abo auswählen – Im Voraus
– Je Termin
– monatlich
Abo anlegen
ändern löschen
![Page 32: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/32.jpg)
Simpel/Komplex • Der Premium-Kunde soll bei einer Buchung auswählen können, ob die Buchung als Abo laufen soll
• Der ausgewählte Termin ist der Starttermin
• Er kann verschiedene Intervalle für sein Abo auswählen – Täglich
• Er kann zwischen bestimmten Wochentagen oder allen Arbeitstagen auswählen
– Wöchtlich • Rhythmus von jeder, zweiter, dritter…Woche
– Monatlich • Bestimmter Wochentag (letzter Freitag im Monat)
• Bestimmter Tag, wie der 1. eines Monats
• Er kann einen Endtermin für sein Abo bestimmen – Bestimmtes Datum
– Nach einer bestimmten Anzahl an Wochen
• Er kann in seinem Kundenkonto die ausgewählten Abos einsehen, löschen und ändern
• Er kann in seinem Kundenkonto die Kosten anzeigen
• Er kann einen Zahlungsrhythmus für das Abo auswählen – Im Voraus
– Je Termin
– monatlich
Simpel
Komplex
![Page 33: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/33.jpg)
Als Premium-Kunde
möchte ich ein Intervall auswählen,
damit mir ein PKW an wiederkehrenden Tagen zur
Verfügung steht.
User Story
Aboservice
![Page 34: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/34.jpg)
T
T
![Page 35: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/35.jpg)
Termine
• Für jede Anforderung Workshops mit dem
gesamten Team
![Page 36: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/36.jpg)
Three Amigos
… beim Refinement
T
![Page 37: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/37.jpg)
T
T
![Page 38: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/38.jpg)
Als Premium-Kunde
möchte ich ein Intervall auswählen,
damit mir ein PKW an wiederkehrenden Tagen zur
Verfügung steht.
User Story
Aboservice
![Page 39: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/39.jpg)
Szenario Gegeben ein Kunde mit dem Namen <Max>
Und <Max> hat den Nachnamen <Müller>
Und <Max> hat die Adresse <Bremen>
Und <Max> hat das Geburtsdatum <12.05.1987>
Und <Max> hat den Status <Premium>
![Page 40: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/40.jpg)
Szenario Gegeben ein Kunde mit den folgenden Daten:
kd_name kd_nachname kd_adresse kd_gebdatum kd_status
Max Müller Bremen 12.05.1987 Premium
Gegeben ein Kunde Max
Und Max ist Premium Kunde
![Page 41: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/41.jpg)
Szenario Und bucht einen PKW für den 01.08.15 und aktiviert
den Aboservice
Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max bucht einen PKW für den 01.08.2015
Und Max aktiviert den Aboservice
![Page 42: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/42.jpg)
Szenario
Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max einen PKW für den 01.08.2015 bucht
Und Max den Aboservice aktiviert
Wenn Max ein wöchentliches Intervall auswählt
Dann ist der PKW auch für den 08.08.2015 gebucht
Gegeben ein Kunde Max
Und Max ist Premium Kunde
Wenn Max einen PKW für den 01.08.2015 bucht
Und Max den Aboservice aktiviert
Und Max ein wöchentliches Intervall auswählt
Dann ist der PKW auch für den 08.08.2015 gebucht
![Page 43: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/43.jpg)
Szenarien Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max bucht einen PKW für den 01.08.2015
Und Max aktiviert den Aboservice
Wenn Max hat ein wöchentliches Intervall auswählt
Dann ist der PKW auch für den 08.08.2015 gebucht
Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max bucht einen PKW für den 01.08.2015
Und Max aktiviert den Aboservice
Wenn Max hat ein monatliches Intervall auswählt
Dann ist der PKW auch für den 01.09.2015 gebucht
Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max bucht einen PKW für den 31.08.2015
Und Max aktiviert den Aboservice
Wenn Max hat ein monatliches Intervall auswählt
Dann ist der PKW auch für den 30.09.2015 gebucht
![Page 44: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/44.jpg)
Szenario Outline Szenario Outline: Intervall
Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max bucht einen PKW für den <startdatum>
Und Max aktiviert den Aboservice
Wenn Max hat ein <intervall> Intervall auswählt
Dann ist der PKW auch für den <zweites_datum> gebucht
Beispiele:
startdatum intervall zweites_datum bemerkung
01.08.2015 wöchentlich 08.08.2015
01.08.2015 monatlich 01.09.2015
31.08.2015 monatlich 30.09.2015 Letzer Monatstag
![Page 45: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/45.jpg)
Alles in Gherkin? Given – When - Then
Nein!
![Page 46: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/46.jpg)
T
T
![Page 47: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/47.jpg)
Alles automatisieren?
TestDB2
Nein!
TestDB1
![Page 48: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/48.jpg)
T
T
![Page 49: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/49.jpg)
Tools
Concordion
…
![Page 50: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/50.jpg)
![Page 51: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/51.jpg)
![Page 52: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/52.jpg)
![Page 53: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/53.jpg)
![Page 54: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/54.jpg)
![Page 55: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/55.jpg)
T
T
![Page 56: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/56.jpg)
Layer Gegeben ein Kunde Max
Und Max ist Premium Kunde
Und Max bucht einen PKW für den 01.08.15
Und Max aktiviert den Aboservice
Wenn Max hat ein wöchentlichen Intervall auswählt
Dann ist der PKW auch für den 08.08.15 gebucht
Max meldet sich an
Max wählt ein Fahrzeug aus
Max wählt den 01.08.2015
Public void entersNameAndAddress (Persona user) {
customer.enterFirstName (user.getFirstName() );
customer.enterLastName (user.getLastName() );
customer.enterAdress (user.getAddress() );
}
Business
Rule
Business Flow
Technical
T
![Page 57: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/57.jpg)
T
T
![Page 58: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/58.jpg)
Muss ich TDD nutzen?
RED
GREEN REFACTOR
1. Einen Test schreiben und
prüfen, ob er fehlschlägt
2. Code ergänzen, damit der
Test erfolgreich durchläuft
3. Den Code verbessern
z.B. Wiederholungen
löschen
![Page 59: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/59.jpg)
T
T
![Page 60: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/60.jpg)
T
Vorher:
![Page 61: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/61.jpg)
Vorher:
![Page 62: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/62.jpg)
T
T
![Page 63: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/63.jpg)
T
T
![Page 64: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/64.jpg)
T
T
Szenarien
- Nach und nach erstellen
- Dem Kunden zur Verfügung stellen
- Fachliche Ebene
![Page 65: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/65.jpg)
T
T
Automatisierung
- Passende Tools
- Kritischer Pfad
- Refactoring
![Page 66: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/66.jpg)
T
T Entwicklung
- TDD/BDD gleichzeitig
- Beides kostet viel Zeit
- Mitarbeiter
![Page 67: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/67.jpg)
BDD – Die Lösung aller Probleme?
![Page 68: BDD - Die Lösung aller Probleme?](https://reader033.vdocuments.pub/reader033/viewer/2022051503/5874f6661a28ab917a8b7ff9/html5/thumbnails/68.jpg)
BDD – Die Lösung aller Probleme?
Quelle: https://hakanforss.files.wordpress.com/2014/03/are-you-too-busy-to-improve2.png