17
TESTEND ENTWICKELN ENTWICKELND TESTEN

Testend entwicklen Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

Embed Size (px)

Citation preview

Page 1: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

TESTEND ENTWICKELN

ENTWICKELND TESTEN

Page 2: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

HALLO ERSTMAL…

Martin Uhlig

Michael Thiele

Agile Entwickler bei der Saxonia Systems AG

Page 3: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

BUSINESS VALUE

• Anwendung erfüllt Anforderungen des Nutzers• Wir verstehen den Kunden gut

• Unnötige Komplexität vermeiden• Alternativvorschläge unterbreiten

• Kundenzufriedenheit

Page 4: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

QUALITÄT

• Konstruktiv: Anforderungsanalyse (Business Value)• Analytisch

• statisch (Code Reviews, etc.)• dynamisch (Tests auf funktionale + nichtfunktionale Eigenschaften)

• Testen gegen Anforderungen • -> Implementieren gegen Anforderungen

Page 5: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

ANFORDERUNGEN

Page 6: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

ANFORDERUNGEN - WORKFLOW

Page 7: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

WAS IST DAS PROBLEM?

Page 8: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

QUALITÄT DER ANFORDERUNGEN

Page 9: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

WIE LÖSEN?

Page 10: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

UMSETZUNG

• Acceptance Test Driven Develpment• FitNesse, Concordion, (Gherkin)

• Bevor eine Story implementiert werden darf, muss sie getestet sein!

Page 11: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

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

Page 12: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

PRAXIS

Page 13: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

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

Page 14: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

ERGEBNISSE

Page 15: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

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

Page 16: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

HÜRDEN

• Anspruchsvoll: Integrations- / System- / GUI-Tests• wann wirklich automatisieren -> Testpyramide

• Disziplin• Entwickler „verlieren“ etwas Entwicklungszeit

Page 17: Testend entwicklen   Entwicklend testen - Martin Uhlig & Michael Thiele @ DWX2016

WAS MACHT DER TESTER?

• Entwickelt Szenarien• Explorative Tests• Testet Auswirkungen auf andere Storys• UX• -> Bindeglied zwischen PO und Entwicklern