SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
© Software Quality Lab www.software-quality-lab.com
Wie man den Kunden an Board holt
Markus Unterauer
Berater und Trainer
Specification by Example
- 1 -
© Software Quality Lab www.software-quality-lab.com
Es ist verdammt schwer herauszufinden,
was ein System können soll …
- 2 -
© Software Quality Lab www.software-quality-lab.com
Stille Post
- 3 -
[http://www.connexin.net/de/humor-witze/projekt-management/]
© Software Quality Lab www.software-quality-lab.com
Varianten
- 4 -
https://www.flickr.com/photos/neilmoralee/9863133426
https://www.flickr.com/photos/initial-reaction/5451653692
© Software Quality Lab www.software-quality-lab.com
Selbst wenn ICH es verstehe,
ist es richtig schwer dieses Verständnis weiterzugeben
…
- 5 -
© Software Quality Lab www.software-quality-lab.com
Auspack und freu
- 6 -
Herzlichst Gluckwuensch zu gemutlicher Weihnachtskerze Kauf
Mit sensazionell Modell GWK 9091 Sie bekomen nicht teutonische Gemutlichkeit fuer trautes
Heim nur, auch Erfolg als moderner Mensch bei anderes Geschleckt nach Weihnachtsganz
aufgegessen und laenger, weil Batterie viel Zeit gut lange.
Zu erreischen Gluckseligkeit unter finstrem Tann, ganz einfach Handbedienung von GWK 9091:
1. Auspack und freu.
2. Slippel A kaum abbiegen und verklappen in Gegenstippel B fuer
Illumination von GWK 9091.
3. Mit Klamer C in Sacco oder Jacke von Lebenspartner einfraesen und
laecheln fuer Erfolg mit GWK 9091.
4. Fuer eigens Weihnachtsfeierung GWK 9091 setzen auf Tisch.
5. Fuer kaput oder Batterie mehr zu Gemutlichkeit beschweren an:
wir, Bismarckstrasse 4.
Fuer neue Batterie alt Batterie zurueck fuer Sauberwelt in deutscher Wald. Viel Spass mit GWR
9091.
© Software Quality Lab www.software-quality-lab.com
Zeichne und freu
Bankkarte
gültig
PIN
Eingabe
korrekt
3. PIN
Eingabe
falsch
Geld
verfügbar
Karte
zurück-
weisen
PIN
erneut
anfordern
Karte
einbehalten
Geld
auszahlen
Geldbetrag
erneut
anfordern




- 7 -
© Software Quality Lab www.software-quality-lab.com
Das führt zu …
- 8 -
© Software Quality Lab www.software-quality-lab.com
Systeme nicht bedarfsgerecht
- 9 -
© Software Quality Lab www.software-quality-lab.com
Bananensoftware
- 10 -
© Software Quality Lab www.software-quality-lab.com
Specification by Example
- 11 -
© Software Quality Lab www.software-quality-lab.com
Grundprinzipien Specification by Example
Folie 12
Scope von Ziele
ableiten
Kollaboration
Konkrete
Beispiele
Lebende
Dokumentation
Wiederkehrende
Validierung
© Software Quality Lab www.software-quality-lab.com
Methoden zur Umsetzung der Prinzipien
Folie 13
Scope von Ziele
ableiten
Kollaboration
Konkrete
Beispiele
Lebende
Dokumentation
Wiederkehrende
Validierung
Story Telling User Stories mit
Akzeptanzkriterien
Automatisierte Tests
© Software Quality Lab www.software-quality-lab.com
Alles beginnt mit Geschichten …
- 14 -
© Software Quality Lab www.software-quality-lab.com
Smart Home
- 15 -
[https://www.flickr.com/photos/macblack/17577308444/]
https://www.loxone.com/dede/produkte/ueberblick/
© Software Quality Lab www.software-quality-lab.com
Die Geschichten in eine strukturierte Form
bringen …
- 16 -
© Software Quality Lab www.software-quality-lab.com
Eine „Morning“ User Story
- 17 -
Als arbeitender Papa
möchte ich rechtzeitig geweckt werden,
damit ich pünktlich in der Arbeit bin.
© Software Quality Lab www.software-quality-lab.com
User Story Rückseite
- 18 -
Gegeben ich brauche 30 Minuten zur Arbeit
Und ich habe um 9 Uhr das Daily Scrum Meeting
Und es gibt keine Verkehrsbehinderungen
Wenn ich „gemütlich Frühstücken“ aktiviert habe
Dann läutet der Wecker um 6:30
Und ich habe 2 Stunden Zeit zum Frühstücken.
Szenario
„normaler
Arbeitstag“
© Software Quality Lab www.software-quality-lab.com
Varianten
- 19 -
Wie kann ein Morgen
noch aussehen?
© Software Quality Lab www.software-quality-lab.com
User Story Rückseite
- 20 -
Gegeben ich brauche 30 Minuten zur Arbeit
Und ich habe um 9 Uhr das Daily Scrum Meeting
Und es gibt keine Verkehrsbehinderungen
Wenn ich „lange schlafen“ aktiviere
Dann ist die eingestellte Weckzeit 8:15
Und ich habe 15 Minuten Zeit zum Frühstücken.
Szenario
„Vorabend
Party“
© Software Quality Lab www.software-quality-lab.com
User Story Rückseite
- 21 -
Gegeben ich brauche normalerweise 30 Minuten zur Arbeit
Und ich habe um 9 Uhr das Daily Scrum Meeting
Und es gibt 20 Minuten Verzögerung
Wenn ich „gemütlich Frühstücken“ aktiviere
Dann ist die eingestellte Weckzeit 6:10
Und ich habe 2 Stunden Zeit zum Frühstücken.
Szenario
„Stau“
© Software Quality Lab www.software-quality-lab.com
Verhalten spezifizieren
Folie 22
Gegeben Dann
Wenn
Ausgangszustand ErgebnisAktion
© Software Quality Lab www.software-quality-lab.com
Werkzeuge
Folie 23
© Software Quality Lab www.software-quality-lab.com
Behavior Driven Development (BDD)
- 24 -
Feature: User authentication
In order to protect access to the HMI
As a system administrator
I want that all users need to be authorized
Scenario: Autologin after 60 seconds
Given HMI started with default configuration
When user waits for 60 seconds at the login screen
Then Default user should be logged in automatically
Lebende Spezifikation, die
gleichzeitig zur Verifikation
verwendet wird
Test in „Gherkin“
geschrieben
© Software Quality Lab www.software-quality-lab.com
Hinter den Kulissen
- 25 -
[Given("HMI started with default configuration")]
public void GivenTheStartedHMIWithMachineConfiguration()
{
TestBase.loginForm = TestBase.app.Start();
}
[Then("(.*) user should be logged in automatically")]
public void ThenLoggedInUser(string user)
{
Assert.That(frameFunctions.UserGroup, Is.EqualTo(user));
}
Test step
implementation
Input value
pattern matcher
© Software Quality Lab www.software-quality-lab.com
Data Driven Test Specification
- 26 -
Szenariogrundriss: Plausbilitätsprüfung im Handbetrieb
Angenommen die Werte '<Werkstoff>', <Blechdicke>,
<Biegewinkel> im Handbetrieb
Wenn der Bediener die Vorberechnung startet
Dann ist 'UpperDeadPoint' <= 'MutePoint1'
Und 'ClampingPoint' <= 'LowerDeadPoint'
Und 'DecompressionPoint' <= 'LowerDeadPoint'
Und 'ClampingPoint' - 'MutePoint1' = 'MuteDistance1'
Beispiele:
| Werkstoff | Blechdicke | Biegewinkel |
| 1.0038 | 0,1 | 90,0 |
| 1.0038 | 1,0 | 90,0 |
| 1.0038 | 3,0 | 90,0 |
© Software Quality Lab www.software-quality-lab.com
Automatisieren
- 27 -
1
2
3
4
5
6
Specify
Implement test steps
Run tests
Implement
Continuous feedback from tests
Done!
© Software Quality Lab www.software-quality-lab.com
Featurebericht
- 28 -
© Software Quality Lab www.software-quality-lab.com
Learnings
- 29 -
© Software Quality Lab www.software-quality-lab.com
Features werden nicht gelesen
Folie 30
https://www.flickr.com/photos/11596438@N00/1491716378/in/photostream/
© Software Quality Lab www.software-quality-lab.com
Nutzen
- 31 -
▪ Frühzeitig Sonderfälle beachtet
▪ Weniger Fehler im Produkt
▪ Feedback zu große User Stories
Szenarien > 10
▪ Klarere User Stories
▪ Gemeinsames Verständnis
Product Owner, Entwickler, Tester
▪ Zuerst Funktion (WAS)
dann Lösung (WIE)
[https://www.flickr.com/photos/evablue/6184132023/]
© Software Quality Lab www.software-quality-lab.com
Do‘s and Don‘t‘s
▪ Halte die Szenarien kurz
▪ Teile ein komplexes Szenario in mehrere einfache auf
▪ Beschriebe Szenarien aus Sicht des Anwenders
▪ Halte Szenarien auf der gleichen Abstraktionsebene
▪ Verwende Keine technischen Begriffe (u.a. UI, REST)
▪ Verwende Begriffe aus der Fachdomäne
▪ Verwende konkrete Zahlen, Daten, Fakten
(also statt „Wert eingeben“  „5.212,65 eingeben“)
- 32 -
© Software Quality Lab www.software-quality-lab.com
Herausforderung - Werkzeugintegration
- 33 -
Requirements Engineering Tools Behavior Driven Development Tools
RE-
23RE-
23RE-
23
© Software Quality Lab www.software-quality-lab.com
Abschlussfolie
- 34 -
Gegeben die Abschlussfolie wird angezeigt
Wenn ein Teilnehmer eine Frage hat
Dann wird diese gerne von uns beantwortet.
© Software Quality Lab www.software-quality-lab.com
Best Books
- 35 -
Gojko Adzic
2011, Manning Verlag
ISBN-10: 1617290084
ISBN-13: 978-1617290084
Johannes Bergsmann, Markus Unterauer
2014, dpunkt.verlag GmbH
ISBN-10: 3864901499
ISBN-13: 978-3864901492
Markus Unterauer
2014, dpunkt.verlag GmbH
ISBN-10: 3864902312
ISBN-13: 978-3864902314
© Software Quality Lab www.software-quality-lab.com - 36 -
Markus Unterauer
Berater und Trainer, Head of Consulting
[m] markus.unterauer@software-quality-lab.com
Über die Vortragenden
© Software Quality Lab www.software-quality-lab.com
Academy | Consulting | Operational Services | Tool Expertise
INNOVATION MEETS QUALITY
Software Quality Lab
- 37 -

Weitere ähnliche Inhalte

Ähnlich wie Specification by example

Whitepaper Team Foundation Server 2010 Lab Management
Whitepaper Team Foundation Server 2010 Lab ManagementWhitepaper Team Foundation Server 2010 Lab Management
Whitepaper Team Foundation Server 2010 Lab ManagementNico Orschel
 
Whitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab ManagementWhitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab ManagementNico Orschel
 
Die unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles AnforderungsmanagementDie unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles AnforderungsmanagementThomas Moedl
 
Middleware Basics für den DBA
Middleware Basics für den DBAMiddleware Basics für den DBA
Middleware Basics für den DBATrivadis
 
Webanwendungen testen
Webanwendungen testenWebanwendungen testen
Webanwendungen testenBoris Köster
 
Next Level Unit Testing
Next Level Unit TestingNext Level Unit Testing
Next Level Unit TestingDaniel Lehner
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...enpit GmbH & Co. KG
 
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...Klaus Bild
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßClaudia Baur
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Christian Kunzmann
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschaftenChristoph Menke
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastrukturinovex GmbH
 

Ähnlich wie Specification by example (20)

Whitepaper Team Foundation Server 2010 Lab Management
Whitepaper Team Foundation Server 2010 Lab ManagementWhitepaper Team Foundation Server 2010 Lab Management
Whitepaper Team Foundation Server 2010 Lab Management
 
Whitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab ManagementWhitepaper Visual Studio 2010 Lab Management
Whitepaper Visual Studio 2010 Lab Management
 
Einführung in SCRUM
Einführung in SCRUMEinführung in SCRUM
Einführung in SCRUM
 
Die unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles AnforderungsmanagementDie unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles Anforderungsmanagement
 
Middleware Basics für den DBA
Middleware Basics für den DBAMiddleware Basics für den DBA
Middleware Basics für den DBA
 
Webanwendungen testen
Webanwendungen testenWebanwendungen testen
Webanwendungen testen
 
Next Level Unit Testing
Next Level Unit TestingNext Level Unit Testing
Next Level Unit Testing
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
 
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
 
Gamification im Projektmanagement
Gamification im ProjektmanagementGamification im Projektmanagement
Gamification im Projektmanagement
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
 
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...Best Practices für Last- und Performancetests von Enterprise Applikationen au...
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
 
Deutsch
DeutschDeutsch
Deutsch
 
Agilität mit Scrum - Überblick
Agilität mit Scrum - ÜberblickAgilität mit Scrum - Überblick
Agilität mit Scrum - Überblick
 
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen SystemlandschafteneCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
eCATT & OpenSource - Automatisierter Test in heterogenen Systemlandschaften
 
Scrum Rocks, Testing Sucks?! (de)
Scrum Rocks, Testing Sucks?! (de)Scrum Rocks, Testing Sucks?! (de)
Scrum Rocks, Testing Sucks?! (de)
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 
QUANTO Solutions Q-SEC
QUANTO Solutions Q-SECQUANTO Solutions Q-SEC
QUANTO Solutions Q-SEC
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
 

Mehr von Markus Unterauer

Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in ÖsterreichNotfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in ÖsterreichMarkus Unterauer
 
Man kann nicht nicht planen
Man kann nicht nicht planenMan kann nicht nicht planen
Man kann nicht nicht planenMarkus Unterauer
 
Was machen unsere Anwender so? Prozessmodellierung mit BPMN
Was machen unsere Anwender so? Prozessmodellierung mit BPMNWas machen unsere Anwender so? Prozessmodellierung mit BPMN
Was machen unsere Anwender so? Prozessmodellierung mit BPMNMarkus Unterauer
 
Lessons learned from measuring software development processes
Lessons learned from measuring software development processesLessons learned from measuring software development processes
Lessons learned from measuring software development processesMarkus Unterauer
 
You cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityYou cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityMarkus Unterauer
 
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ..."Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...Markus Unterauer
 
Tipps für Requirements Management Tools
Tipps für Requirements Management ToolsTipps für Requirements Management Tools
Tipps für Requirements Management ToolsMarkus Unterauer
 
Erfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringErfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringMarkus Unterauer
 
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...Markus Unterauer
 
Traceability von Software Anforderungen
Traceability von Software AnforderungenTraceability von Software Anforderungen
Traceability von Software AnforderungenMarkus Unterauer
 

Mehr von Markus Unterauer (11)

Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in ÖsterreichNotfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
 
Man kann nicht nicht planen
Man kann nicht nicht planenMan kann nicht nicht planen
Man kann nicht nicht planen
 
Was machen unsere Anwender so? Prozessmodellierung mit BPMN
Was machen unsere Anwender so? Prozessmodellierung mit BPMNWas machen unsere Anwender so? Prozessmodellierung mit BPMN
Was machen unsere Anwender so? Prozessmodellierung mit BPMN
 
Risikobasiertes testen
Risikobasiertes testenRisikobasiertes testen
Risikobasiertes testen
 
Lessons learned from measuring software development processes
Lessons learned from measuring software development processesLessons learned from measuring software development processes
Lessons learned from measuring software development processes
 
You cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityYou cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements quality
 
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ..."Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
 
Tipps für Requirements Management Tools
Tipps für Requirements Management ToolsTipps für Requirements Management Tools
Tipps für Requirements Management Tools
 
Erfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringErfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements Engineering
 
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
 
Traceability von Software Anforderungen
Traceability von Software AnforderungenTraceability von Software Anforderungen
Traceability von Software Anforderungen
 

Specification by example

  • 1. © Software Quality Lab www.software-quality-lab.com Wie man den Kunden an Board holt Markus Unterauer Berater und Trainer Specification by Example - 1 -
  • 2. © Software Quality Lab www.software-quality-lab.com Es ist verdammt schwer herauszufinden, was ein System können soll … - 2 -
  • 3. © Software Quality Lab www.software-quality-lab.com Stille Post - 3 - [http://www.connexin.net/de/humor-witze/projekt-management/]
  • 4. © Software Quality Lab www.software-quality-lab.com Varianten - 4 - https://www.flickr.com/photos/neilmoralee/9863133426 https://www.flickr.com/photos/initial-reaction/5451653692
  • 5. © Software Quality Lab www.software-quality-lab.com Selbst wenn ICH es verstehe, ist es richtig schwer dieses Verständnis weiterzugeben … - 5 -
  • 6. © Software Quality Lab www.software-quality-lab.com Auspack und freu - 6 - Herzlichst Gluckwuensch zu gemutlicher Weihnachtskerze Kauf Mit sensazionell Modell GWK 9091 Sie bekomen nicht teutonische Gemutlichkeit fuer trautes Heim nur, auch Erfolg als moderner Mensch bei anderes Geschleckt nach Weihnachtsganz aufgegessen und laenger, weil Batterie viel Zeit gut lange. Zu erreischen Gluckseligkeit unter finstrem Tann, ganz einfach Handbedienung von GWK 9091: 1. Auspack und freu. 2. Slippel A kaum abbiegen und verklappen in Gegenstippel B fuer Illumination von GWK 9091. 3. Mit Klamer C in Sacco oder Jacke von Lebenspartner einfraesen und laecheln fuer Erfolg mit GWK 9091. 4. Fuer eigens Weihnachtsfeierung GWK 9091 setzen auf Tisch. 5. Fuer kaput oder Batterie mehr zu Gemutlichkeit beschweren an: wir, Bismarckstrasse 4. Fuer neue Batterie alt Batterie zurueck fuer Sauberwelt in deutscher Wald. Viel Spass mit GWR 9091.
  • 7. © Software Quality Lab www.software-quality-lab.com Zeichne und freu Bankkarte gültig PIN Eingabe korrekt 3. PIN Eingabe falsch Geld verfügbar Karte zurück- weisen PIN erneut anfordern Karte einbehalten Geld auszahlen Geldbetrag erneut anfordern     - 7 -
  • 8. © Software Quality Lab www.software-quality-lab.com Das führt zu … - 8 -
  • 9. © Software Quality Lab www.software-quality-lab.com Systeme nicht bedarfsgerecht - 9 -
  • 10. © Software Quality Lab www.software-quality-lab.com Bananensoftware - 10 -
  • 11. © Software Quality Lab www.software-quality-lab.com Specification by Example - 11 -
  • 12. © Software Quality Lab www.software-quality-lab.com Grundprinzipien Specification by Example Folie 12 Scope von Ziele ableiten Kollaboration Konkrete Beispiele Lebende Dokumentation Wiederkehrende Validierung
  • 13. © Software Quality Lab www.software-quality-lab.com Methoden zur Umsetzung der Prinzipien Folie 13 Scope von Ziele ableiten Kollaboration Konkrete Beispiele Lebende Dokumentation Wiederkehrende Validierung Story Telling User Stories mit Akzeptanzkriterien Automatisierte Tests
  • 14. © Software Quality Lab www.software-quality-lab.com Alles beginnt mit Geschichten … - 14 -
  • 15. © Software Quality Lab www.software-quality-lab.com Smart Home - 15 - [https://www.flickr.com/photos/macblack/17577308444/] https://www.loxone.com/dede/produkte/ueberblick/
  • 16. © Software Quality Lab www.software-quality-lab.com Die Geschichten in eine strukturierte Form bringen … - 16 -
  • 17. © Software Quality Lab www.software-quality-lab.com Eine „Morning“ User Story - 17 - Als arbeitender Papa möchte ich rechtzeitig geweckt werden, damit ich pünktlich in der Arbeit bin.
  • 18. © Software Quality Lab www.software-quality-lab.com User Story Rückseite - 18 - Gegeben ich brauche 30 Minuten zur Arbeit Und ich habe um 9 Uhr das Daily Scrum Meeting Und es gibt keine Verkehrsbehinderungen Wenn ich „gemütlich Frühstücken“ aktiviert habe Dann läutet der Wecker um 6:30 Und ich habe 2 Stunden Zeit zum Frühstücken. Szenario „normaler Arbeitstag“
  • 19. © Software Quality Lab www.software-quality-lab.com Varianten - 19 - Wie kann ein Morgen noch aussehen?
  • 20. © Software Quality Lab www.software-quality-lab.com User Story Rückseite - 20 - Gegeben ich brauche 30 Minuten zur Arbeit Und ich habe um 9 Uhr das Daily Scrum Meeting Und es gibt keine Verkehrsbehinderungen Wenn ich „lange schlafen“ aktiviere Dann ist die eingestellte Weckzeit 8:15 Und ich habe 15 Minuten Zeit zum Frühstücken. Szenario „Vorabend Party“
  • 21. © Software Quality Lab www.software-quality-lab.com User Story Rückseite - 21 - Gegeben ich brauche normalerweise 30 Minuten zur Arbeit Und ich habe um 9 Uhr das Daily Scrum Meeting Und es gibt 20 Minuten Verzögerung Wenn ich „gemütlich Frühstücken“ aktiviere Dann ist die eingestellte Weckzeit 6:10 Und ich habe 2 Stunden Zeit zum Frühstücken. Szenario „Stau“
  • 22. © Software Quality Lab www.software-quality-lab.com Verhalten spezifizieren Folie 22 Gegeben Dann Wenn Ausgangszustand ErgebnisAktion
  • 23. © Software Quality Lab www.software-quality-lab.com Werkzeuge Folie 23
  • 24. © Software Quality Lab www.software-quality-lab.com Behavior Driven Development (BDD) - 24 - Feature: User authentication In order to protect access to the HMI As a system administrator I want that all users need to be authorized Scenario: Autologin after 60 seconds Given HMI started with default configuration When user waits for 60 seconds at the login screen Then Default user should be logged in automatically Lebende Spezifikation, die gleichzeitig zur Verifikation verwendet wird Test in „Gherkin“ geschrieben
  • 25. © Software Quality Lab www.software-quality-lab.com Hinter den Kulissen - 25 - [Given("HMI started with default configuration")] public void GivenTheStartedHMIWithMachineConfiguration() { TestBase.loginForm = TestBase.app.Start(); } [Then("(.*) user should be logged in automatically")] public void ThenLoggedInUser(string user) { Assert.That(frameFunctions.UserGroup, Is.EqualTo(user)); } Test step implementation Input value pattern matcher
  • 26. © Software Quality Lab www.software-quality-lab.com Data Driven Test Specification - 26 - Szenariogrundriss: Plausbilitätsprüfung im Handbetrieb Angenommen die Werte '<Werkstoff>', <Blechdicke>, <Biegewinkel> im Handbetrieb Wenn der Bediener die Vorberechnung startet Dann ist 'UpperDeadPoint' <= 'MutePoint1' Und 'ClampingPoint' <= 'LowerDeadPoint' Und 'DecompressionPoint' <= 'LowerDeadPoint' Und 'ClampingPoint' - 'MutePoint1' = 'MuteDistance1' Beispiele: | Werkstoff | Blechdicke | Biegewinkel | | 1.0038 | 0,1 | 90,0 | | 1.0038 | 1,0 | 90,0 | | 1.0038 | 3,0 | 90,0 |
  • 27. © Software Quality Lab www.software-quality-lab.com Automatisieren - 27 - 1 2 3 4 5 6 Specify Implement test steps Run tests Implement Continuous feedback from tests Done!
  • 28. © Software Quality Lab www.software-quality-lab.com Featurebericht - 28 -
  • 29. © Software Quality Lab www.software-quality-lab.com Learnings - 29 -
  • 30. © Software Quality Lab www.software-quality-lab.com Features werden nicht gelesen Folie 30 https://www.flickr.com/photos/11596438@N00/1491716378/in/photostream/
  • 31. © Software Quality Lab www.software-quality-lab.com Nutzen - 31 - ▪ Frühzeitig Sonderfälle beachtet ▪ Weniger Fehler im Produkt ▪ Feedback zu große User Stories Szenarien > 10 ▪ Klarere User Stories ▪ Gemeinsames Verständnis Product Owner, Entwickler, Tester ▪ Zuerst Funktion (WAS) dann Lösung (WIE) [https://www.flickr.com/photos/evablue/6184132023/]
  • 32. © Software Quality Lab www.software-quality-lab.com Do‘s and Don‘t‘s ▪ Halte die Szenarien kurz ▪ Teile ein komplexes Szenario in mehrere einfache auf ▪ Beschriebe Szenarien aus Sicht des Anwenders ▪ Halte Szenarien auf der gleichen Abstraktionsebene ▪ Verwende Keine technischen Begriffe (u.a. UI, REST) ▪ Verwende Begriffe aus der Fachdomäne ▪ Verwende konkrete Zahlen, Daten, Fakten (also statt „Wert eingeben“  „5.212,65 eingeben“) - 32 -
  • 33. © Software Quality Lab www.software-quality-lab.com Herausforderung - Werkzeugintegration - 33 - Requirements Engineering Tools Behavior Driven Development Tools RE- 23RE- 23RE- 23
  • 34. © Software Quality Lab www.software-quality-lab.com Abschlussfolie - 34 - Gegeben die Abschlussfolie wird angezeigt Wenn ein Teilnehmer eine Frage hat Dann wird diese gerne von uns beantwortet.
  • 35. © Software Quality Lab www.software-quality-lab.com Best Books - 35 - Gojko Adzic 2011, Manning Verlag ISBN-10: 1617290084 ISBN-13: 978-1617290084 Johannes Bergsmann, Markus Unterauer 2014, dpunkt.verlag GmbH ISBN-10: 3864901499 ISBN-13: 978-3864901492 Markus Unterauer 2014, dpunkt.verlag GmbH ISBN-10: 3864902312 ISBN-13: 978-3864902314
  • 36. © Software Quality Lab www.software-quality-lab.com - 36 - Markus Unterauer Berater und Trainer, Head of Consulting [m] markus.unterauer@software-quality-lab.com Über die Vortragenden
  • 37. © Software Quality Lab www.software-quality-lab.com Academy | Consulting | Operational Services | Tool Expertise INNOVATION MEETS QUALITY Software Quality Lab - 37 -