Post on 14-Jan-2017
TESTEND ENTWICKELN
ENTWICKELND TESTEN
HALLO ERSTMAL…
Martin Uhlig
Michael Thiele
Agile Entwickler bei der Saxonia Systems AG
BUSINESS VALUE
• Anwendung erfüllt Anforderungen des Nutzers• Wir verstehen den Kunden gut
• Unnötige Komplexität vermeiden• Alternativvorschläge unterbreiten
• Kundenzufriedenheit
QUALITÄT
• Konstruktiv: Anforderungsanalyse (Business Value)• Analytisch
• statisch (Code Reviews, etc.)• dynamisch (Tests auf funktionale + nichtfunktionale Eigenschaften)
• Testen gegen Anforderungen • -> Implementieren gegen Anforderungen
ANFORDERUNGEN
ANFORDERUNGEN - WORKFLOW
WAS IST DAS PROBLEM?
QUALITÄT DER ANFORDERUNGEN
WIE LÖSEN?
UMSETZUNG
• Acceptance Test Driven Develpment• FitNesse, Concordion, (Gherkin)
• Bevor eine Story implementiert werden darf, muss sie getestet sein!
NOCH EINFACHER!
• Frameworks wollen POs und Analysten dazu ermutigen, Szenarien zu schreiben• Wichtiger: Entwickler kennen Szenarien• Tester sind ausgebildet im Schreiben von Szenarien• Wie bringt man beide zusammen?
• Code
PRAXIS
BEISPIEL STORY
• Als Betreiber eines Online-Shops möchte ich Rabatte einführen, um Neukunden zu gewinnen und die Kundenbindung zu steigern.• Akzeptanzkriterien:
• Neue Kunden bekommen bei der ersten Bestellung einen Rabatt von 3 %• Stammkunden sind Kunden mit einen Gesamtumsatz von mindestens 1.000 €• Folgende Mengenrabatte für Stammkunden gibt es:
• Bestellwert ab 500 €: 5 %• Bestellwert ab 1.000 €: 10 %
• 4 Wochen vor Weihnachten gibt es auf alle Artikel (außer Tiernahrung) 7,5% Rabatt
ERGEBNISSE
I HAVE LEARNT SOMETHING TODAY.• Mehr Kommunikation PO – Tester – Entwickler
• „Pair Programming“ Tester + Entwickler• Qualitätsbewusstsein
• möglichst früh Unklarheiten/Fehler in Akzeptanzkriterien finden• Entwickler wissen vor der Implementierung, was sie implementieren
sollen• kürzere Feedback-Schleifen
• Manuelle Regression abmildern durch automatisierte Tests• Top-Down hilft bei TDD• Gleichmäßigere Auslastung über einen Sprint
HÜRDEN
• Anspruchsvoll: Integrations- / System- / GUI-Tests• wann wirklich automatisieren -> Testpyramide
• Disziplin• Entwickler „verlieren“ etwas Entwicklungszeit
WAS MACHT DER TESTER?
• Entwickelt Szenarien• Explorative Tests• Testet Auswirkungen auf andere Storys• UX• -> Bindeglied zwischen PO und Entwicklern