SlideShare ist ein Scribd-Unternehmen logo
BehaviorDrivenDevelopment
Die Lösung aller Probleme?
Ina Einemann
Typische Probleme
Anforderungs-
management
Umsetzung Test Auslieferung
T
Was ist BDD?
Behavior Driven Development
Was ist BDD?
Behavior Driven Development
RED
GREENREFACTOR
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:
Was ist BDD?
Behavior Driven Development
T
Gherkin
Was ist BDD?
Behavior Driven Development
Story: Taschenrechner
Feature: Zwei Zahlen
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
Szenario: Zwei Zahlen multiplizieren
Angenommen die erste Zahl ist 5
Und die zweite Zahl ist 6
Wenn ich Multiplizieren wähle
Dann ist das Ergebnis 30
Story: Taschenrechner
Feature: Zwei Zahlen
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
Szenario: Zwei Zahlen multiplizieren
Angenommen die erste Zahl ist 5
Und die zweite Zahl ist 6
Wenn ich Multiplizieren wähle
Dann ist das Ergebnis 30
Was ist BDD?
Behavior Driven Development
Ausgangssituation
Beschreibt die Vorbedingungen!
Was mache ich vor meiner neuen
Anforderungen/neuen Funktion?
Story: Taschenrechner
Feature: Zwei Zahlen
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
Szenario: Zwei Zahlen multiplizieren
Angenommen die erste Zahl ist 5
Und die zweite Zahl ist 6
Wenn ich Multiplizieren wähle
Dann ist das Ergebnis 30
Was ist BDD?
Behavior Driven Development
Aktion
Beschreibt die Durchführung/Änderung!
Was ist meine Anforderungen
Was ist meine neue Funktion?
Story: Taschenrechner
Feature: Zwei Zahlen
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
Szenario: Zwei Zahlen multiplizieren
Angenommen die erste Zahl ist 5
Und die zweite Zahl ist 6
Wenn ich Multiplizieren wähle
Dann ist das Ergebnis 30
Was ist BDD?
Behavior Driven Development
Ergebnis
Beschreibt die Änderung!
Was sind die Auswirklungen meiner
Aktion? Was hat sich geändert?
Was ist BDD?
Behavior Driven Development
GlueCode
T
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
[Given(@"die erste Zahl ist (.*)")]
public void AngenommenDieErsteZahlIst(decimal p0)
{
value1 = p0;
}
Was ist BDD?
Behavior Driven Development
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
[Given(@"die zweite Zahl ist (.*)")]
public void AngenommenDieZweiteZahlIst(decimal p0)
{
value2 = p0;
}
Was ist BDD?
Behavior Driven Development
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
[When(@"ich addieren möchte")]
public void WennIchAddierenMochte()
{
result = model.Add(value1, value2);
}
Was ist BDD?
Behavior Driven Development
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
[Then(@„ist das Ergebnis (.*)")]
public void DannIstDasErgebnis(decimal p0)
{
Assert.AreEqual(p0, result);
}
Was ist BDD?
Behavior Driven Development
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich Addieren wähle
Dann ist das Ergebnis 130
Testname: ZweiZahlenAddieren
Testergebnis: Fehlgeschlagen
BDDTests.AddierenFeature.ZweiZahlenAddieren-
Testmethode hat eine Ausnahme ausgelöst:
System.NotImplementedException: Die Methode oder der
Vorgang ist nicht implementiert.
Was ist BDD?
Behavior Driven Development
Was ist BDD?
Behavior Driven Development
T
public Decimal Add(Decimal value1, Decimal value2)
{
return value1 + value2;
}
Was ist BDD?
Behavior Driven Development
Angenommen die erste Zahl ist 50
-> done: CalculatorSteps.AngenommenDieErsteZahlIst(50)
Und die zweite Zahl ist 80
-> done: CalculatorSteps.AngenommenDieZweiteZahlIst(80)
Wenn ich addieren möchte
-> done: CalculatorSteps.WennIchAddierenMochte() (0,0s)
Dann sollte das Ergebnis 130 sein
-> done: CalculatorSteps.DannSollteDasErgebnisSein(130)
Was ist BDD?
Behavior Driven Development
Was ist BDD?
Behavior Driven Development
T
Was ist BDD?
Behavior Driven Development
CarShare
• Bislang nur telefonische Buchungen
• Buchungswebseite
• Spezielle Features
T
T
Stakeholder: Simone
PO: Sven
Team: Maja
Karl Paul
Christian
SM: Hans
T
T
T
T
Gemeinsames Verständis
Das ist
ein
Berg
Das ist
eine
Schlange
Das ist
ein
Baum
Das ist
eine
Höhle
Vision
Business
Goals
Capabilities
Features
Stories
Akzeptanzkriterien
Szenarien
Code
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
Story Map
Mehrsprachig-
keit
Aboservice Treueprogramm
Facebook
Integration
Als Premium-Kunde
möchte ich für bestimmte Tage Fahrzeuge
abonnieren können,
damit ich nicht mehrmals buchen muss.
User Story
Aboservice
T
T
Sachliche
Gründe
Bedenken
Lustlosigkeit
Widerspruch
Kritik &
Beschwerden
Ignoranz
Aufregung
Zustimmung
Ausweichen Anpassung
Schuldzuweisung
BequemlichkeitAngst
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
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von BDD
Formendes
Widerstands
AktivPassiv Betonköpfe
Mitläufer
Saboteure
Skeptiker
T
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Formendes
Widerstands
AktivPassiv Betonköpfe
Mitläufer
Saboteure
Skeptiker
T
WIDERSPRUCH
• Gegenargumente
• Vorwürfe
• Drohungen
• Polemik
AUFREGUNG
• Unruhe
• Streit
• Intrigen
• Gerüchte
Angriff
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von Neuem
Formendes
Widerstands
AktivPassiv Betonköpfe
Mitläufer
Saboteure
Skeptiker
T
AUSWEICHEN
• Schweigen
• Bagatellisieren
• Blödeln
• Unwichtiges
debattieren
• Dienst nach Vorschrift
LUSTLOSIGKEIT
• Unaufmerksamkeit
• Müdigkeit
• Fernbleiben
• Krankheit
Verteidigung
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von BDD
Formendes
Widerstands
AktivPassiv Betonköpfe
Mitläufer
Saboteure
Skeptiker
T
• Zufrieden mit dem jetzigen Zustand
• Keine Lust auf Veränderungen
• Methode ist egal
Bevorzugung des
jetzigen Zustands
Gründe für den Widerstand
Ablehnung von BDD
Formendes
Widerstands
AktivPassiv Betonköpfe
Mitläufer
Saboteure
Skeptiker
T
• Hält nichts von BDD
• Vielleicht in anderen Projekten, aber
nicht im eigenen
Gründe für den Widerstand
Formendes
Widerstands
Skeptike
Ich will nur
entwickeln
Bevorzugung des
jetzigen Zustands
AktivPassiv
Mitläufer
Ablehnung von BDD
Skeptiker
Gründe für den Widerstand
Formendes
Widerstands
…Projekt PlaneShare…
Ich will nicht
testen!
Bevorzugung des
jetzigen Zustands
AktivPassiv
Ablehnung von BDD
Gründe für den Widerstand
Formendes
Widerstands
Wir sind doch
zufrieden! T
Bevorzugung des
jetzigen Zustands
Ablehnung von BDD
AktivPassiv Betonköpfe
Saboteure
Gründe für den Widerstand
Formendes
Widerstands
!!!
Das wollen
wir nicht!
Bevorzugung des
jetzigen Zustands
Ablehnung von BDD
AktivPassiv
T
T
Als Premium-Kunde
möchte ich für bestimmte Tage Fahrzeuge
abonnieren können,
damit ich nicht mehrmals buchen muss.
User Story
Aboservice
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
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
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
ändernlöschen
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
Als Premium-Kunde
möchte ich ein Intervall auswählen,
damit mir ein PKW an wiederkehrenden Tagen zur
Verfügung steht.
User Story
Aboservice
T
T
Termine
• Für jede Anforderung Workshops mit dem gesamten
Team
Three Amigos
… beim Refinement
T
T
T
Als Premium-Kunde
möchte ich ein Intervall auswählen,
damit mir ein PKW an wiederkehrenden Tagen zur
Verfügung steht.
User Story
Aboservice
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>
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
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
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
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
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
Alles in Gherkin?
Und nur in Gherkin?
Given – When - Then
Nein!
T
T
Alles automatisieren?
TestDB2
Nein!
TestDB1
T
T
Tools
…
T
T
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
T
T
Muss ich TDD nutzen?
RED
GREENREFACTOR
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
T
T
T
T
T
T
T
T
T
Szenarien
- Nach und nach erstellen
- Dem Kunden zur Verfügung stellen
- Fachliche Ebene
T
T
Automatisierung
- Passende Tools
- Kritischer Pfad
- Refactoring
T
T
Entwicklung
- TDD/BDD gleichzeitig
- Beides kostet viel Zeit
- Mitarbeiter
BDD – Die Lösung aller Probleme?
BDD – Die Lösung aller Probleme?
Quelle: https://hakanforss.files.wordpress.com/2014/03/are-you-too-busy-to-improve2.png
Fragen?
Jan T. (34) aus B. fragt…
Muss ich immer
den Test First
Ansatz
anwenden?
Melanie W. (52) aus H. fragt…
Kann ich die
Automatisierung
auch über die GUI
machen?
Wiebke K. (31) aus A. fragt…
Wo ist der
Unterschied
zwischen ATDD
und BDD?
Dirk L. (29) aus O. fragt…
Macht ihr alle
Projekte mit BDD?
Christian M. (65) aus D. fragt…
Wie messt ihr den
ROI für den
Einsatz von BDD?

Weitere ähnliche Inhalte

Ähnlich wie Behavior Driven Development - Ina Einemann | HEC GmbH

Adwords Kennzahlen der nächsten Generation - OMX 2013
Adwords Kennzahlen der nächsten Generation - OMX 2013Adwords Kennzahlen der nächsten Generation - OMX 2013
Adwords Kennzahlen der nächsten Generation - OMX 2013Ulf Weihbold
 
Deine Digitale Kundenmaschine
Deine Digitale Kundenmaschine Deine Digitale Kundenmaschine
Deine Digitale Kundenmaschine
Clemens Endell
 
Value, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauft
Value, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauftValue, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauft
Value, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauft
Rupert Platz
 
"Make amazon your bitch"
"Make amazon your bitch""Make amazon your bitch"
"Make amazon your bitch"
Finc3
 
Conversion-Optimierung: Die Fähigkeit online zu verkaufen
Conversion-Optimierung: Die Fähigkeit online zu verkaufenConversion-Optimierung: Die Fähigkeit online zu verkaufen
Conversion-Optimierung: Die Fähigkeit online zu verkaufen
Social Media Akademie / webculture GmbH
 
Social Media: Datenschatz oder Datentruhe?
Social Media: Datenschatz oder Datentruhe?Social Media: Datenschatz oder Datentruhe?
Social Media: Datenschatz oder Datentruhe?
Datentreiber
 
Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...
Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...
Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...
Werbeplanung.at Summit
 
GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)
GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)
GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)
e-dialog GmbH
 
Web-Analyse ist keine Kür sondern Pflichtprogramm
Web-Analyse ist keine Kür sondern PflichtprogrammWeb-Analyse ist keine Kür sondern Pflichtprogramm
Web-Analyse ist keine Kür sondern Pflichtprogramm
crowdmedia GmbH
 
Florian Nottorf (Adference GmbH) - Amazon Advertising Strategien
Florian Nottorf (Adference GmbH) - Amazon Advertising StrategienFlorian Nottorf (Adference GmbH) - Amazon Advertising Strategien
Florian Nottorf (Adference GmbH) - Amazon Advertising Strategien
Yasin Tanriver
 
LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)
LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)
LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)
marenkoeppen | marketing + kommunikation
 
Beispiel für App-Konzeption
Beispiel für App-KonzeptionBeispiel für App-Konzeption
Beispiel für App-Konzeption
FLYACTS GmbH
 
Google AdWords für AnfängerInnen
Google AdWords für AnfängerInnenGoogle AdWords für AnfängerInnen
Google AdWords für AnfängerInnen
AdWordsService
 
Content Analytics einfach gemacht
Content Analytics einfach gemachtContent Analytics einfach gemacht
Content Analytics einfach gemacht
Datentreiber
 
SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019
SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019
SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019
norisk
 
Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"
Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"
Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"
CrossEngage
 
Reports und Datenanalyse in Google AdWords
Reports und Datenanalyse in Google AdWordsReports und Datenanalyse in Google AdWords
Reports und Datenanalyse in Google AdWords
📊 Markus Baersch
 
Bessere Social Media Reportings #AFBMC
Bessere Social Media Reportings #AFBMCBessere Social Media Reportings #AFBMC
Bessere Social Media Reportings #AFBMC
AllFacebook.de
 
Google Adwords - Von der Agenturauswahl über Setup bis zur Optimierung
Google Adwords - Von der Agenturauswahl über Setup bis zur OptimierungGoogle Adwords - Von der Agenturauswahl über Setup bis zur Optimierung
Google Adwords - Von der Agenturauswahl über Setup bis zur Optimierung
SoQuero GmbH
 
Das Potential von Personality Check
Das Potential von Personality CheckDas Potential von Personality Check
Das Potential von Personality Check
Robert Nabenhauer
 

Ähnlich wie Behavior Driven Development - Ina Einemann | HEC GmbH (20)

Adwords Kennzahlen der nächsten Generation - OMX 2013
Adwords Kennzahlen der nächsten Generation - OMX 2013Adwords Kennzahlen der nächsten Generation - OMX 2013
Adwords Kennzahlen der nächsten Generation - OMX 2013
 
Deine Digitale Kundenmaschine
Deine Digitale Kundenmaschine Deine Digitale Kundenmaschine
Deine Digitale Kundenmaschine
 
Value, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauft
Value, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauftValue, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauft
Value, Cost, Persuasion, Conversion, oder: Wie man die Möhre verkauft
 
"Make amazon your bitch"
"Make amazon your bitch""Make amazon your bitch"
"Make amazon your bitch"
 
Conversion-Optimierung: Die Fähigkeit online zu verkaufen
Conversion-Optimierung: Die Fähigkeit online zu verkaufenConversion-Optimierung: Die Fähigkeit online zu verkaufen
Conversion-Optimierung: Die Fähigkeit online zu verkaufen
 
Social Media: Datenschatz oder Datentruhe?
Social Media: Datenschatz oder Datentruhe?Social Media: Datenschatz oder Datentruhe?
Social Media: Datenschatz oder Datentruhe?
 
Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...
Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...
Werbeplanung.at SUMMIT 15 – Challenge the Agency – Woran man erkennt, ob die ...
 
GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)
GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)
GAUC 2017 Workshop Kampagnentracking: Holger Tempel (webalytics)
 
Web-Analyse ist keine Kür sondern Pflichtprogramm
Web-Analyse ist keine Kür sondern PflichtprogrammWeb-Analyse ist keine Kür sondern Pflichtprogramm
Web-Analyse ist keine Kür sondern Pflichtprogramm
 
Florian Nottorf (Adference GmbH) - Amazon Advertising Strategien
Florian Nottorf (Adference GmbH) - Amazon Advertising StrategienFlorian Nottorf (Adference GmbH) - Amazon Advertising Strategien
Florian Nottorf (Adference GmbH) - Amazon Advertising Strategien
 
LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)
LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)
LinkedIn Insight Tag einrichten (marenkoeppen Tutorial)
 
Beispiel für App-Konzeption
Beispiel für App-KonzeptionBeispiel für App-Konzeption
Beispiel für App-Konzeption
 
Google AdWords für AnfängerInnen
Google AdWords für AnfängerInnenGoogle AdWords für AnfängerInnen
Google AdWords für AnfängerInnen
 
Content Analytics einfach gemacht
Content Analytics einfach gemachtContent Analytics einfach gemacht
Content Analytics einfach gemacht
 
SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019
SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019
SEA Aktionsautomatisierung | Ivana Nikic | SEA Camp Jena 2019
 
Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"
Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"
Webinar by CrossEngage: "CRM Trends 2022 – Back to the Customer"
 
Reports und Datenanalyse in Google AdWords
Reports und Datenanalyse in Google AdWordsReports und Datenanalyse in Google AdWords
Reports und Datenanalyse in Google AdWords
 
Bessere Social Media Reportings #AFBMC
Bessere Social Media Reportings #AFBMCBessere Social Media Reportings #AFBMC
Bessere Social Media Reportings #AFBMC
 
Google Adwords - Von der Agenturauswahl über Setup bis zur Optimierung
Google Adwords - Von der Agenturauswahl über Setup bis zur OptimierungGoogle Adwords - Von der Agenturauswahl über Setup bis zur Optimierung
Google Adwords - Von der Agenturauswahl über Setup bis zur Optimierung
 
Das Potential von Personality Check
Das Potential von Personality CheckDas Potential von Personality Check
Das Potential von Personality Check
 

Behavior Driven Development - Ina Einemann | HEC GmbH

  • 3. Was ist BDD? Behavior Driven Development
  • 4. Was ist BDD? Behavior Driven Development RED GREENREFACTOR 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:
  • 5. Was ist BDD? Behavior Driven Development T Gherkin
  • 6. Was ist BDD? Behavior Driven Development Story: Taschenrechner Feature: Zwei Zahlen Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 Szenario: Zwei Zahlen multiplizieren Angenommen die erste Zahl ist 5 Und die zweite Zahl ist 6 Wenn ich Multiplizieren wähle Dann ist das Ergebnis 30
  • 7. Story: Taschenrechner Feature: Zwei Zahlen Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 Szenario: Zwei Zahlen multiplizieren Angenommen die erste Zahl ist 5 Und die zweite Zahl ist 6 Wenn ich Multiplizieren wähle Dann ist das Ergebnis 30 Was ist BDD? Behavior Driven Development Ausgangssituation Beschreibt die Vorbedingungen! Was mache ich vor meiner neuen Anforderungen/neuen Funktion?
  • 8. Story: Taschenrechner Feature: Zwei Zahlen Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 Szenario: Zwei Zahlen multiplizieren Angenommen die erste Zahl ist 5 Und die zweite Zahl ist 6 Wenn ich Multiplizieren wähle Dann ist das Ergebnis 30 Was ist BDD? Behavior Driven Development Aktion Beschreibt die Durchführung/Änderung! Was ist meine Anforderungen Was ist meine neue Funktion?
  • 9. Story: Taschenrechner Feature: Zwei Zahlen Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 Szenario: Zwei Zahlen multiplizieren Angenommen die erste Zahl ist 5 Und die zweite Zahl ist 6 Wenn ich Multiplizieren wähle Dann ist das Ergebnis 30 Was ist BDD? Behavior Driven Development Ergebnis Beschreibt die Änderung! Was sind die Auswirklungen meiner Aktion? Was hat sich geändert?
  • 10. Was ist BDD? Behavior Driven Development GlueCode T
  • 11. Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 [Given(@"die erste Zahl ist (.*)")] public void AngenommenDieErsteZahlIst(decimal p0) { value1 = p0; } Was ist BDD? Behavior Driven Development
  • 12. Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 [Given(@"die zweite Zahl ist (.*)")] public void AngenommenDieZweiteZahlIst(decimal p0) { value2 = p0; } Was ist BDD? Behavior Driven Development
  • 13. Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 [When(@"ich addieren möchte")] public void WennIchAddierenMochte() { result = model.Add(value1, value2); } Was ist BDD? Behavior Driven Development
  • 14. Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 [Then(@„ist das Ergebnis (.*)")] public void DannIstDasErgebnis(decimal p0) { Assert.AreEqual(p0, result); } Was ist BDD? Behavior Driven Development
  • 15. Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich Addieren wähle Dann ist das Ergebnis 130 Testname: ZweiZahlenAddieren Testergebnis: Fehlgeschlagen BDDTests.AddierenFeature.ZweiZahlenAddieren- Testmethode hat eine Ausnahme ausgelöst: System.NotImplementedException: Die Methode oder der Vorgang ist nicht implementiert. Was ist BDD? Behavior Driven Development
  • 16. Was ist BDD? Behavior Driven Development T
  • 17. public Decimal Add(Decimal value1, Decimal value2) { return value1 + value2; } Was ist BDD? Behavior Driven Development
  • 18. Angenommen die erste Zahl ist 50 -> done: CalculatorSteps.AngenommenDieErsteZahlIst(50) Und die zweite Zahl ist 80 -> done: CalculatorSteps.AngenommenDieZweiteZahlIst(80) Wenn ich addieren möchte -> done: CalculatorSteps.WennIchAddierenMochte() (0,0s) Dann sollte das Ergebnis 130 sein -> done: CalculatorSteps.DannSollteDasErgebnisSein(130) Was ist BDD? Behavior Driven Development
  • 19. Was ist BDD? Behavior Driven Development T
  • 20. Was ist BDD? Behavior Driven Development
  • 21. CarShare • Bislang nur telefonische Buchungen • Buchungswebseite • Spezielle Features
  • 22. T T Stakeholder: Simone PO: Sven Team: Maja Karl Paul Christian SM: Hans
  • 23. T T
  • 24. T T
  • 25. Gemeinsames Verständis Das ist ein Berg Das ist eine Schlange Das ist ein Baum Das ist eine Höhle
  • 27. 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
  • 29. Als Premium-Kunde möchte ich für bestimmte Tage Fahrzeuge abonnieren können, damit ich nicht mehrmals buchen muss. User Story Aboservice
  • 30. T T
  • 31. Sachliche Gründe Bedenken Lustlosigkeit Widerspruch Kritik & Beschwerden Ignoranz Aufregung Zustimmung Ausweichen Anpassung Schuldzuweisung BequemlichkeitAngst 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
  • 32. Bevorzugung des jetzigen Zustands Gründe für den Widerstand Ablehnung von BDD Formendes Widerstands AktivPassiv Betonköpfe Mitläufer Saboteure Skeptiker T
  • 33. Bevorzugung des jetzigen Zustands Gründe für den Widerstand Ablehnung von Neuem Formendes Widerstands AktivPassiv Betonköpfe Mitläufer Saboteure Skeptiker T WIDERSPRUCH • Gegenargumente • Vorwürfe • Drohungen • Polemik AUFREGUNG • Unruhe • Streit • Intrigen • Gerüchte Angriff
  • 34. Bevorzugung des jetzigen Zustands Gründe für den Widerstand Ablehnung von Neuem Formendes Widerstands AktivPassiv Betonköpfe Mitläufer Saboteure Skeptiker T AUSWEICHEN • Schweigen • Bagatellisieren • Blödeln • Unwichtiges debattieren • Dienst nach Vorschrift LUSTLOSIGKEIT • Unaufmerksamkeit • Müdigkeit • Fernbleiben • Krankheit Verteidigung
  • 35. Bevorzugung des jetzigen Zustands Gründe für den Widerstand Ablehnung von BDD Formendes Widerstands AktivPassiv Betonköpfe Mitläufer Saboteure Skeptiker T • Zufrieden mit dem jetzigen Zustand • Keine Lust auf Veränderungen • Methode ist egal
  • 36. Bevorzugung des jetzigen Zustands Gründe für den Widerstand Ablehnung von BDD Formendes Widerstands AktivPassiv Betonköpfe Mitläufer Saboteure Skeptiker T • Hält nichts von BDD • Vielleicht in anderen Projekten, aber nicht im eigenen
  • 37. Gründe für den Widerstand Formendes Widerstands Skeptike Ich will nur entwickeln Bevorzugung des jetzigen Zustands AktivPassiv Mitläufer Ablehnung von BDD
  • 38. Skeptiker Gründe für den Widerstand Formendes Widerstands …Projekt PlaneShare… Ich will nicht testen! Bevorzugung des jetzigen Zustands AktivPassiv Ablehnung von BDD
  • 39. Gründe für den Widerstand Formendes Widerstands Wir sind doch zufrieden! T Bevorzugung des jetzigen Zustands Ablehnung von BDD AktivPassiv Betonköpfe
  • 40. Saboteure Gründe für den Widerstand Formendes Widerstands !!! Das wollen wir nicht! Bevorzugung des jetzigen Zustands Ablehnung von BDD AktivPassiv
  • 41.
  • 42. T T
  • 43. Als Premium-Kunde möchte ich für bestimmte Tage Fahrzeuge abonnieren können, damit ich nicht mehrmals buchen muss. User Story Aboservice
  • 44. 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
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. 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
  • 50.
  • 51. 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 ändernlöschen
  • 52.
  • 53. 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
  • 54.
  • 55. Als Premium-Kunde möchte ich ein Intervall auswählen, damit mir ein PKW an wiederkehrenden Tagen zur Verfügung steht. User Story Aboservice
  • 56. T T
  • 57. Termine • Für jede Anforderung Workshops mit dem gesamten Team
  • 58. Three Amigos … beim Refinement T
  • 59. T T
  • 60. Als Premium-Kunde möchte ich ein Intervall auswählen, damit mir ein PKW an wiederkehrenden Tagen zur Verfügung steht. User Story Aboservice
  • 61. 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>
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. Alles in Gherkin? Und nur in Gherkin? Given – When - Then Nein!
  • 68. T T
  • 70. T T
  • 72.
  • 73.
  • 74.
  • 75.
  • 76. T T
  • 77. 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
  • 78. T T
  • 79. Muss ich TDD nutzen? RED GREENREFACTOR 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
  • 80. T T
  • 81. T
  • 82.
  • 83.
  • 84. T T
  • 85. T T
  • 86. T T Szenarien - Nach und nach erstellen - Dem Kunden zur Verfügung stellen - Fachliche Ebene
  • 87. T T Automatisierung - Passende Tools - Kritischer Pfad - Refactoring
  • 88. T T Entwicklung - TDD/BDD gleichzeitig - Beides kostet viel Zeit - Mitarbeiter
  • 89.
  • 90. BDD – Die Lösung aller Probleme?
  • 91. BDD – Die Lösung aller Probleme? Quelle: https://hakanforss.files.wordpress.com/2014/03/are-you-too-busy-to-improve2.png
  • 93. Jan T. (34) aus B. fragt… Muss ich immer den Test First Ansatz anwenden?
  • 94. Melanie W. (52) aus H. fragt… Kann ich die Automatisierung auch über die GUI machen?
  • 95. Wiebke K. (31) aus A. fragt… Wo ist der Unterschied zwischen ATDD und BDD?
  • 96. Dirk L. (29) aus O. fragt… Macht ihr alle Projekte mit BDD?
  • 97. Christian M. (65) aus D. fragt… Wie messt ihr den ROI für den Einsatz von BDD?