44
Agile Testing Vergiss Testen Qualität als Haltung

2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Agile Testing

Vergiss Testen Qualität als Haltung

Page 2: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Die Bank

Komplexität: gering Teamgröße: klein

Page 3: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Die Versicherung

Komplexität: gering Teamgröße: groß

Page 4: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Der Automobilkonzern

Komplexität: hoch Teamgröße: groß

Page 5: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Der Gerätehersteller

Komplexität: hoch Teamgröße: klein

Page 6: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Das StartUp

Komplexität: hoch Teamgröße: klein

Page 7: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Teamgröße und Komplexität machen

nicht den Unterschied…

Page 8: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Methodik

Fünf Fallen

Page 9: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

#1 keine Struktur

Page 10: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Teststufen• Unittests • Integrationstests • Akzeptanztests • E2E-Tests

• Unterschiedlich: • Fokus • Testziel • Gefundene Fehler

Page 11: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Unittests• Feedback! • Klasse/Methode/funktionale Einheit • keine Abhängigkeiten (keine DB, Files, Systeme) • schnell (fast feedback) • Test one thing (single assumption) • Qualität über Quantität (Testentwurfs-

methoden, viel hilft viel) • Fehlerzustand schnell erreichbar • Testbasis: Code & Struktur

Design for Testability!

Page 12: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Integrationstests• Verschiedene Ebenen:

• Integration der Units • Integration der Komponenten • Integration der Systeme

• Schnittstellentests • Testbasis: Architektur/Design

Page 13: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Akzeptanztests• Prüfung der Akzeptanzkriterien • + links, rechts, negativ

(Testentwurfsmethodik) • Verknüpfung Fachlichkeit & Code

• Behavior-Driven Development • Acceptance Test-Driven Development

Page 14: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

E2E-Tests• Test auf der Oberfläche • (oder knapp darunter -> Framework) • Testbasis: Geschäftsprozesse, User-

Stories, Epics • Stark (geschäfts)-risikobasiert

Page 15: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Testarten

Funktionalität Effizienz Sicherheit …

Unittest x x

Integrations-test

x x

Akzeptanz-tests

x x x

Page 16: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Testquadranten

Technisch

Fachlich

Team-unterstützend (expected)

Produkt-kritisierend (unexpected)

E2E-Tests

Akzeptanztests

Explorative Tests

Integrationstests

Unittests

Last- und Performancetests

Sicherheitstests

Page 17: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

#2 Teststrategie

Page 18: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Strategie:

Risikobasiertes Testen

Unit- und Integrationstest: technisch Akzeptanz- und E2E-Test: fachlich

Page 19: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

#3 Testautomatisierung

Page 20: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Unittests

Integrationstests

Akzeptanztests

E2E-Tests

Toolunabhängig!

expl. Tests

Page 21: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Testautomatisierung fachlicher Tests

• Anforderungen/Akzeptanzkriterien um TF erweitern (z.B. BDD)

• „If you automate a mess, you get automated mess.“

• Data & Keyword-Driven • Fachlichkeit nicht nachimplementieren • Je Testfall

• Definierter Start- und Endpunkt • Vorher/Nachher aufräumen

• Unabhängige Testfälle

Page 22: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

#4 Statische Analysen

Page 23: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Statische Analysen• Frühzeitig Fehlerzustände/Mängel finden • Robustheit & Wartbarkeit • Einhaltung Programmierregeln • Prüfung gegen State-of-the-Art-Pattern • Metriken für die Zeit

• Quantität • Qualität • Komplexität

Page 24: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

#5 Testmethodik

Page 25: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated
Page 26: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

• Äquivalenzklassen • Grenzwerte • Entscheidungstabellen • Zustände • Abläufe • Pairwise

Page 27: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Mindset

Page 28: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

• Qualität wird ganzheitlich gesehen

• hohe Selbstverantwortung

• Testen wird nicht mehr wahrgenommen

• Testen im Flow

• Disziplin

Page 29: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Reflexion

Page 30: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

• hohe Selbstreflexion im Team

• Prozesse, Vorgehen und Methoden werden laufend hinterfragt und angepasst

Page 31: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Integrales Team

Page 32: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

• Rollen und Themen werden durchlässig

• Interdisziplinär

• Wertschätzung, keine Gleichmacherei

Page 33: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated
Page 34: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Think Out of the Box

Page 35: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

• Nichtwissen „You don’t know, what you don’t know“

• „Probleme kann man niemals mit der Denkweise lösen, durch die sie entstanden sind“

- Albert Einstein

• Achtung vor Denkfallen (Bias)

Page 36: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Wie verwurzelt man nun Qualität in agilen Teams?

Page 37: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Es braucht

Zeit + Energie + Geduld

Page 38: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Coaching

Page 39: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Partizipation &

Selbstverantwortung

Page 40: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Retrospektiven

Page 41: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Agile Ideen leben statt Dogmen zu folgen

Page 42: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Let’s see what works

Page 43: 2018-12-10 TU Dresden - Agile Testing v1.0 schwarz ohnest.inf.tu-dresden.de/files/teaching/ws18/ring/2018... · erweitern (z.B. BDD) • „If you automate a mess, you get automated

Testmethodik

Qualität als Haltung