Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testen fängt beim Schneiden an

Testen fängt beim Schneiden an

Anforderungen sind oft viel zu groß und unübersichtlich und dadurch schwierig zu testen. Kleine User Stories vereinfachen den Test, aber auch die Planung, Umsetzung und Dokumentation. Aber wie schneide ich meine User Story richtig? Wie erstelle ich übersichtliche Akzeptanzkriterien, die alle Projektbeteiligte verstehen und gut zu testen sind. Wie kann ich diese, auch bei Änderungen, gut dokumentieren?

Ina Einemann

April 20, 2016
Tweet

More Decks by Ina Einemann

Other Decks in Programming

Transcript

  1. Personas > 60 Jahre > 1.000.000€ Gehalt Verheiratet > 1

    Kind Lebt in einer Großstadt Ozzy Osbourne & Prinz Charles
  2. Personas Jetzt weiß ich auch wer das System nutzt und

    welche Bedürfnisse und Probleme er hat
  3. Produktvision  Cover Story Zitate Titelseite Dahin soll also die

    Reise gehen ! Dann kann‘s ja mit den User Stories losgehen…
  4. Hüttendetails durchsuchen Bezahlen Account managen Hütte anbieten Buchen Bestätigung erhalten

    Nach Datum suchen Bewertung schreiben Bewertungen einsehen Beschreibungen lesen Skigebietinfos lesen
  5. Persona 1 Bewertungen lesen Persona 2 Persona 3 Nach Datum

    suchen Hüttendetails durchsuchen Hütten buchen Hütte anbieten Bewertungen einsehen User Story Buchen Anbieten Bewertungen User Story User Story Bestätigung erhalten Bewertung schreiben Suchen User Story User Story User Story User Story User Story User Story Bezahlen User Story User Story
  6. User Story User Story User Story User Story User Story

    User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story
  7. Jetzt hab ich einen guten Überblick über meine User Stories…

    Worauf muss ich eigentlich achten wenn ich User Stories erstelle?
  8. User Story Card Conversation Confirmation User Stories sind Grundlage der

    Kommunikation Das bedeutet nicht NICHTS aufzuschreiben Akzeptanzkriterien
  9. Akzeptanzkriterien möglichst objektiv und eindeutig NICHT: - Story-Inhalt wiederholen -

    Versteckte neue User Story - Einen Workflow beinhalten Zusammenarbeit zwischen PO, Entwicklung und Test
  10. Fragenkatalog verwenden  Wer muss buchen?  Wann soll buchen

    stattfinden?  Wann ist buchen komplett abgeschlossen?  Wie kann buchen genau durchgeführt werden?  Wie häufig / oft / groß / schnell soll buchen sein?  Wo / Wie kann geprüft werden, ob buchen durchgeführt wurde?  Wurde sichergestellt, dass buchen alle Daten/Aspekte berücksichtigt?  Was geschieht, wenn man nicht buchen kann?  Was könnte buchen verhindern und was wird dann erwartet?  Welche möglichen Fehleingaben müssen im Zusammenhang mit buchen abgefangen werden?  Welche Inhalte kommen in Ausrüstung vor?  Welche optionalen / verpflichtende Aspekte gelten für Ausrüstung?  Welche Inhalte von Ausrüstung und nach welchen Regeln soll überprüft werden?  Wie sieht das Layout für Ausrüstung aus?
  11. Fragen diskutieren Alle Kunden, die eine Ferienwohnung gebucht haben Snowboard,

    Ski, Helm und Stöcker Schuhgröße und Körpergröße angeben Bezahlarten auswählen, wie Abrechnung mit Hütte, Barzahlung, Paypal, Kreditkarte Leihzeitraum bestimmen  Wer muss buchen?  Welche Inhalte kommen in Ausrüstung vor?  Welche optionalen / verpflichtende Aspekte gelten für Ausrüstung?
  12. Akzeptanzkriterien  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er

    kann zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Und wenn es nicht passt?
  13. Okay, diese Kriterien müssen nach dem Schneiden erfüllt sein. Aber

    wie kann ich sie denn nun kleiner bekommen?
  14. Schneiden Workflow Operations Performance Simpel/Komplex Größter Aufwand Veriation der Daten

    Variation der Geschäftsregeln Variation der Schnittstelle Spike Dateneingabe methode
  15. Workflow  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er

    kann zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Snowboard/ Ski Details Zeitraum Equipment Bezahlart Versicherung Buchen Leihort Größter Wert -> Anfang und Ende Mittelteil vergrößert nach und nach den Wert
  16. Operations  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er

    kann zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Eqipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Buchung erstellen Managen verwalten konfigurieren löschen verändern
  17.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Vorausgewählter Zeitraum Variation der Geschaftsregeln .. Erst eine Teilmenge der Regeln Start und Endtermin X von y Tagen
  18.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Snowboard Variation der Daten „Gut genug“ Variante Gleiche Dinge mit unterschiedlichen Daten Skier
  19.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Snowboard oder Ski ausleihen per Email Simpel Komplex Simple Version, die zuerst erstellt wird Mit Rückmeldung
  20.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Snowboard oder Ski ausleihen mit Anbindung an einen Leihort Variationen der Schnittstellen Einfacher Kern mit Lernerfahrung, später Erweiterungen Weitere Leihorte
  21.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Es soll einfach funktionieren Performance Nicht funktionale Anforderungen nachlagern schnell
  22.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Naheliegende Aufteilung -> Alle gleich groß Egal welche man zuerst umsetzt, diese erste wird den größten Aufwand haben Grosster Aufwand ..
  23.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Dateneingabemethode
  24.  Der Ferienwohnungs-Kunde kann den Leihort auswählen  Er kann

    zwischen Snowboard oder Skier auswählen  Er kann seine Schuhgröße und Körpergröße angeben  Er kann den Leih-Zeitraum bestimmen • Die Vorauswahl ist der Buchungszeitraum der Hütte • Er kann alternative Start- und Endtermine angeben • Er kann Optionen wie x von y Tagen wählen  Er kann weiteres Equipment wie Helm oder Stöcker hinzubuchen  Er kann eine Bezahlart bestimmen • Abrechnung mit Hütte • Abbuchung • Paypal • Kreditkarten  Er kann eine Diebstahl-Versicherung hinzufügen  Er kann buchen  Er kann seine Buchung wieder aufrufen, verändern und löschen Spike
  25. Szenarien Beschreibt die Vorbedingungen! Was mache ich vor meiner neuen

    Anforderungen/neuen Funktion? Ausgangssituation
  26. Interne und externe Qualitat Funktionalität Zuverlässigkeit Wartbarkeit Portabilität Benutzbarkeit Effizienz

    Angemessenheit Genauigkeit Interoperabilität Sicherheit Reife Fehlertoleranz Wiederherstell- barkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Zeitverhalten Verbrauchs- verhalten Analysierbarkeit Änderbarkeit Stabilität Testbarkeit Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit Ordnungsmäßig- keit
  27. Fragenkatalog verwenden  Wer muss buchen?  Wann soll buchen

    stattfinden?  Wann ist buchen komplett abgeschlossen?  Wie kann buchen genau durchgeführt werden?  Wie häufig / oft / groß / schnell soll buchen sein?  Wo / Wie kann geprüft werden, ob buchen durchgeführt wurde?  Wurde sichergestellt, dass buchen alle Daten/Aspekte berücksichtigt?  Was geschieht, wenn man nicht buchen kann?  Was könnte buchen verhindern und was wird dann erwartet?  Welche möglichen Fehleingaben müssen im Zusammenhang mit buchen abgefangen werden?  Welche Inhalte kommen in Ausrüstung vor?  Welche optionalen / verpflichtende Aspekte gelten für Ausrüstung?  Welche Inhalte von Ausrüstung und nach welchen Regeln soll überprüft werden?  Wie sieht das Layout für Ausrüstung aus?
  28. Interne und externe Qualitat Funktionalität Zuverlässigkeit Wartbarkeit Portabilität Benutzbarkeit Effizienz

    Angemessenheit Genauigkeit Interoperabilität Sicherheit Ordnungsmäßig- keit Reife Fehlertoleranz Wiederherstell- barkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Zeitverhalten Verbrauchs- verhalten Analysierbarkeit Änderbarkeit Stabilität Testbarkeit Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit Wie häufig / oft / groß / schnell soll buchen sein? Welche möglichen Fehleingaben müssen im Zusammenhang mit buchen abgefangen werden? Wie sieht das Layout für Ausrüstung/buchen aus? Was geschieht, wenn man nicht buchen kann?
  29. Interne und externe Qualitat Funktionalität Zuverlässigkeit Wartbarkeit Portabilität Benutzbarkeit Effizienz

    Angemessenheit Genauigkeit Interoperabilität Sicherheit Ordnungsmäßig- keit Reife Fehlertoleranz Wiederherstell- barkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Zeitverhalten Verbrauchs- verhalten Analysierbarkeit Änderbarkeit Stabilität Testbarkeit Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit Zusammenspiel zwischen den testenden System und den vorgegebenen System Unberechtigter Zugriff Wie häufig kommen Fehlerzustände vor? Wie einfach und schnell kann das geforderte Leistungsniveau nach Ausfall wieder hergestellt werden Interne Qualität
  30. Planguage Tag Eindeutiger Name der Anforderung Definiton Genaue Beschreibung der

    Anforderung Scale Maßeinheit, in der die Anforderung gemessen wird (bei Antwortzeiten zum Beispiel Sekunden) Meter Messmethode (zum Beispiel Lasttest oder Nutzerbefragung) Benchmark Vergleichswerte zur Orientierung (zum Beispiel aus Vorgänger- oder Konkurrenzsystemen) Target Vorgabe der Anforderung, das angestrebte Ziel Constraint Zulässige Grenze der Anforderung nach unten oder oben
  31. Planguage Tag Wartbarkeit Definiton Die Leichtigkeit, mit der ein System

    verändert oder erweitert werden kann. Scale Stunden Meter Durchschnittliche Dauer für die Behebung eines Fehlers. Gemessen wird vom Beginn der Behebung bis zu dessen Lösung. Benchmark - Target 2 Stunden Constraint 4 Stunden kann unübersichtlich werden Über nicht-funktionale Kriterien zu sprechen und diese messbar machen.
  32. MisUse Cases  Anwendungsfällen, die eine missbräuchliche Verwendung des Systems

    enthalten  Nachteil für einen Stakeholder oder ein Unternehmen  potentielle Sicherheitsrisiken früh erkennen Kunde Registrieren Bot Emailadressen sammeln Captcha nutzen
  33. 7 ! Definition of Ready Definition of Done & -

    Sicher sein, dass jeder das Problem versteht Story schneiden Wissen wann eine Story fertig ist Die fertige Story verifizieren dokumentieren ausliefern umsetzen
  34. Definion of Done 7 Entwicklertests & Dokumentation angepasst 8 Manuelle

    Tests auf mehren Systemen Automatisierte Szenarien Code Reviews
  35. Die Liste der Akzeptanzkriterien ist eine gute Dokumentation Gilt auch

    für Testfälle Umstrukturieren nach Funktionalität Kein aktueller Stand sondern Historie Erweitert / Ersetzt / Verändert vorherige Stories  Stimmt! Gut lesbar, aber was ist bei neuen Stories?
  36. In den Stories bespreche ich hauptsächlich die funktionalen Anforderungen Kleine

    Stories sind einfacher zu planen, umzusetzen, durchzusprechen und zu TESTEN Und diese Anforderungen in die Definiton of Done überführen Über Nicht- funktionale Anforderungen müssen wir auch sprechen
  37. Story Map 7 ! Akzepttanztest Specification by Example Szenarien Doku

    Muster Schneiden Product Vision Persona Gemeinsames Verständis