Frank Düsterbeck
de.slideshare.net/fduesterbeck
@fduesterbeck
Testen mit, durch
und in Scrum
(De)-Motivation
Komplexität heutiger
Software schwer
beherrschbar
Anforderungsdynamik
Heutzutage schwer
beherrschbar
Quelle: Carl Dichter and Chris Tynes, JavaWorld.com, 06/01/97
Quelle: Wikipedia
scrum
prince2
rup
bpmn
eclipse
c#
aspectj
visual studio
jsf
uml
git
jubula
asp.net
asp mvc
spring
tfs
ejb
nunit
subversion...
Und wie schaff ich
es Qualität zu
erzeugen wenn
alles so komplex
und dynamisch ist?
Nicht durch Testen
allein!
Aber es hil...
Qualität
ist der Grad,
in dem Merkmale
einer Sache
Anforderungen erfüllen
Was ist gute Qualität?
Interne Qualität (Lieferantensicht)

Einfachheit, Wartbarkeit, Erweiterbarkeit
Fehlerfreiheit
Dokumentation, Architekture...
Externe Qualität (Kundensicht)

Zufriedenheit, Erwartung
Erfüllung der Anforderungen
Funktionsumfang
Usability
Fehlerfrei...
DIN ISO/IEC 25000 Software engineering
Software product Quality Requirements and
Evaluation (SQuaRE)
Qualitätskriterien un...
Funktionalität
Zuverlässigkeit
Wartbarkeit
Benutzbarkeit
Ausgereiftheit
Verfügbarkeit
Fehlertoleranz
Wiederherstellbarkeit...
… und das soll ich
jetzt alles testen
oder was?
Ja!
Boah! Tut das echt Not?
Ja!
$ !?!

… und was für
Testarten gibt es da so?
TESTARTEN
E2E-Test
Benutzbarkeitstest
Stresstest
Performancetest
Statischer Test
Unit Test
Regressionstest
CodereviewArchi...
Fehlerfindung:
Es sollen mögliche Fehler gefunden werden,
bevor die Software eingesetzt wird
Qualitätsnachweis:
Es soll na...
TESTZIEL
TESTSTUFE
TESTART
erreichen in
testen mittels
Gebrauchstauglichkeit
Akzeptanztest
Lasttest
Schnittstellentest
Fun...
Teststufen
Anforderungen
Funktionaler
Entwurf
Technischer
Entwurf
Komponenten
Spezifikation
Entwicklung
Modultest
Performa...
ZIEL
Scrum
Anforderungen
Entwurf
Programmierung Test
Noch Water Scrum:
Was soll das heißen:
„Testen ist
integraler Bestandteil
der Entwicklung“?
Es war einmal …
… ein Team
… ein Team ?
T
Team Orangerot 1
Unittest
Programmierung
Test
Durchführung
Testfall-
erstellung
Fixing
Feature
Freeze
Unittest
Programmier...
Team Orangerot 1
Das geht so nicht – wir
müssen den Test
entzerren!
Team Feuerrot
Unittest
Programmierung
Testfall-
erstellung
Fixing
Unittest
Programmierung
Test-
durchführung
Fixing
Featur...
Team Feuerrot
OK, is klar!
Wir machen jetzt doch
alles in einem Sprint
und wir automatisieren,
damit es am Ende nicht so
e...
AUTOMATISIEREN
WARUM?
Projektlaufzeit
Testaufwand
niedrig
hoch
AUTOMATISIEREN
DARUM!
… und natürlich weil nicht alles manuell geht
(Lasttests, Performancetests, Schnittstellentests, …)
Unittest
Programmierung
Fix
GUI-Automatisierung
Fixing
Feature
Freeze
Lasttestdurchführung
Systemtestdurchführung
Explore
...
Das ist hier die Frage
GUI
oder nicht
GUI
Projektlaufzeit
Test-
automatisierungs-
aufwand
niedrig
hoch
Testautomatisierung
Explorativ
System-,
Performancetest
Akzeptanztest
Unit-, Integrationstest
Manuell
Automatisiert
GUI-Au...
GUI-Automatisierung
GF 3 GF 4.1 GF 1.2 GF 1.1 GF 5
Aufwand
Risiko
GF 7
hochniedrig
niedrig
hoch
Team Orangerot 2
OK OK,
wir automatisieren
also ganz viel
Akzeptanztests
und nur
wichtige GUI-Tests!
Akzeptanz…
…wie geht das in Scrum?
Wer sichert die Qualität
der Anforderungen?
Definition of Ready
Quality Gate
für
User Stories
*Haben nicht den Anspruch Anforderungen umfassend zu dokumentieren
Card
Conversation
*Abwehr
Als Fußballverein
möchte eine...
Confirmation
Akzeptanzkriterien (Testbasis)
Herstellung der Messbarkeit
DoR  Story bereit zur Umsetzung
DoD  Abnahme der...
… und wie erzeuge ich
gute Akzeptanzkriterien?
Conversation
ATDD
Conversation
BDD
VERHALTEN
TREIBT
ENTWICKLUNG
BEHAVIOR
DRIVEN
DEVELOPMENT
UBIQUITÄRE SPRACHE
GHERKIN
ALLE VERSTEHEN ES
SZENARIEN MIT
GIVEN WHEN THEN
ANGENOMMEN WENN DANN
Akzeptanzkriterien
Szenario: Zwei Zahlen addieren
Angenommen die erste Zahl ist 50
Und die zweite Zahl ist 80
Wenn ich add...
… und das geht auch
automatisiert?
Wie denn?
Client
View
Model
Businesslogik
Controller
Ressourcen
Request
Response
Select
?
?
Addieren
Als Benutzer
möchte ich Zahlen addieren können
damit ich Zeit beim Rechnen spare
User Story schreiben
Akzeptanzkr...
User Story schreiben
Akzeptanzkriterien ausarbeiten
Glue Code schreiben
Unittest Code schreiben
Code schreiben
Fachbereich...
BDD ist toll! Ist das denn die
Lösung für alles?
Ina Einemann (HEC GmbH)
BDD - die Lösung aller Probleme?
Nö!
Geht denn auch
GUI-Automatisierung und
testgetriebene Entwicklung?
Björn Seebeck (HEC GmbH)
Jubula im Softwareentwicklungs...
Team Orange
Unittest
Programmierung
Autom. Akzeptanztests
Fix
GUI-Automatisierung
Fixing
Feature
Freeze
Lasttestdurchführu...
Wann finden denn
Performancetests statt?
Immer, kontinuierlich und so früh
wie möglich.
So früh wie möglich.
Warum brauch ich eigentlich
noch Systemtests wenn ich
doch Akzeptanztests habe?
Unsere Akzeptanztests haben
meistens den F...
Team Orange
Herrje!
Dann machen wir den
System- und
Performancetest eben
parallel!
Aber dafür brauchen wir
ein extra Team!
Team Gelb
Unittest
Programmierung
Autom. Akzeptanztests
Fix Fixing
Explore
Explore
Unittest
Programmierung
Autom. Akzeptan...
$ !?!

Team Gelb
Team Grün
Unittest
Programmierung
Autom. Akzeptanztests
Fix Fixing
Explore
Explore
Unittest
Programmierung
Autom. Akzeptan...
Team Grün
Jetzt ist alles schön.
So machen wir für
immer weiter!
Team Rosa
OK!!!
Wir
bleiben
dran!
PLAN
DOCHECK
ACT
Scrum
BDD ATDD
eXtreme
Soziale Kompetenz
Grundlage für Team Grün
Und wie macht man
das dann mit mehreren
Teams?
Product
Owner
Scrum
Master
Community of
practice
Scrum of
Scrums
Head of
PO
Teststrategie
Fazit
Team ?
Develop
Stories
Test
Stories
Test
Issues
Fixing
Acceptance
Test
Regression
Test Develop
Stories
Test
Stories
Test
I...
Frank Düsterbeck
frank.duesterbeck@HEC.de
@fduesterbeck
de.slideshare.net/fduesterbeck
Testen mit, durch und in Scrum
Nächste SlideShare
Wird geladen in …5
×

Testen mit, durch und in Scrum

1.784 Aufrufe

Veröffentlicht am

Scrum ist gelebtes Qualitätsmanagement und zum Qualitätsmanagement gehört das Testen. Wie genau spielt das Testen in Scrum mit? Welche Arten und Stufen von Tests gibt es und wie können diese den Scrum Prozess unterstützen oder sogar behindern? Was machen Teams hierbei gerne falsch und können klassische Testverfahren behilflich sein die Qualität zu verbessern? Diese Fragen werden in dem Vortrag diskutiert, beantwortet und bewertet.

Veröffentlicht in: Software
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.784
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
98
Aktionen
Geteilt
0
Downloads
32
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Testen mit, durch und in Scrum

  1. 1. Frank Düsterbeck de.slideshare.net/fduesterbeck @fduesterbeck Testen mit, durch und in Scrum
  2. 2. (De)-Motivation
  3. 3. Komplexität heutiger Software schwer beherrschbar Anforderungsdynamik Heutzutage schwer beherrschbar
  4. 4. Quelle: Carl Dichter and Chris Tynes, JavaWorld.com, 06/01/97 Quelle: Wikipedia
  5. 5. scrum prince2 rup bpmn eclipse c# aspectj visual studio jsf uml git jubula asp.net asp mvc spring tfs ejb nunit subversion fitnesse jboss iis clean code tpl usability linq wcf birtant maven kanban xp user stories azure gwt hibernate migration atdd apps sharepoint dms codedui wpf junit tabrisrap vaadin jira bugzillahpqc testopia seleniumjenkins wf c++ html5 javascript css design php java security netweaver testcomplete redmine cucumber hybris typo3 sql server oracle mysql postgresql bdd
  6. 6. Und wie schaff ich es Qualität zu erzeugen wenn alles so komplex und dynamisch ist? Nicht durch Testen allein! Aber es hilft schonmal!
  7. 7. Qualität ist der Grad, in dem Merkmale einer Sache Anforderungen erfüllen Was ist gute Qualität?
  8. 8. Interne Qualität (Lieferantensicht)  Einfachheit, Wartbarkeit, Erweiterbarkeit Fehlerfreiheit Dokumentation, Architekturen, Programmcode Prozesse, Methoden Basis für...
  9. 9. Externe Qualität (Kundensicht)  Zufriedenheit, Erwartung Erfüllung der Anforderungen Funktionsumfang Usability Fehlerfreiheit Audit
  10. 10. DIN ISO/IEC 25000 Software engineering Software product Quality Requirements and Evaluation (SQuaRE) Qualitätskriterien und Bewertung von Softwareprodukten
  11. 11. Funktionalität Zuverlässigkeit Wartbarkeit Benutzbarkeit Ausgereiftheit Verfügbarkeit Fehlertoleranz Wiederherstellbarkeit Vollständigkeit Korrektheit Angemessenheit Effizienz Antwortzeitverhalten Ressourcenverbrauch Kapazität Angemessenheit Erlernbarkeit Bedienbarkeit Fehlertoleranz Ästhetik Barrierefreiheit Vertraulichkeit Integrität Nachweisbarkeit Verantwortlichkeit Authentizität Sicherheit Koexistenz Interoperabilität Kompatibilität Übertragbarkeit Anpassungsfähigkeit Installierbarkeit Austauschbarkeit Modularität Wiederverwendbarkeit Analysierbarkeit Modifizierbarkeit Prüfbarkeit Produkt Qualität ISO 25010
  12. 12. … und das soll ich jetzt alles testen oder was? Ja! Boah! Tut das echt Not? Ja! $ !?! 
  13. 13. … und was für Testarten gibt es da so?
  14. 14. TESTARTEN E2E-Test Benutzbarkeitstest Stresstest Performancetest Statischer Test Unit Test Regressionstest CodereviewArchitekturreview Nachtest Penetrationstest Sicherheitstest Usabilitytest Installationstest Schnittstellentest Abnahmetest Integrationstest Akzeptanztest Funktionstest
  15. 15. Fehlerfindung: Es sollen mögliche Fehler gefunden werden, bevor die Software eingesetzt wird Qualitätsnachweis: Es soll nachgewiesen werden, dass sich die Software konform zu den Anforderungen verhält   Testen Ein Bug darf keinen Sonnenuntergang erleben!
  16. 16. TESTZIEL TESTSTUFE TESTART erreichen in testen mittels Gebrauchstauglichkeit Akzeptanztest Lasttest Schnittstellentest Funktion ist richtig umgesetzt System ist schnell Schnittstelle funktioniert ?
  17. 17. Teststufen Anforderungen Funktionaler Entwurf Technischer Entwurf Komponenten Spezifikation Entwicklung Modultest Performance- Test Systemtest Abnahmetest Akzeptanztest Integrations- test
  18. 18. ZIEL
  19. 19. Scrum
  20. 20. Anforderungen Entwurf Programmierung Test Noch Water Scrum:
  21. 21. Was soll das heißen: „Testen ist integraler Bestandteil der Entwicklung“?
  22. 22. Es war einmal … … ein Team
  23. 23. … ein Team ? T
  24. 24. Team Orangerot 1 Unittest Programmierung Test Durchführung Testfall- erstellung Fixing Feature Freeze Unittest Programmierung Test Durchführung Testfall- erstellung Fixing Feature Freeze Fixing Feature Freeze Lasttestdurchführung Systemtestdurchführung Explore Explore
  25. 25. Team Orangerot 1 Das geht so nicht – wir müssen den Test entzerren!
  26. 26. Team Feuerrot Unittest Programmierung Testfall- erstellung Fixing Unittest Programmierung Test- durchführung Fixing Feature Freeze Lasttestdurchführung Systemtestdurchführung Explore GUI-Automatisierung Fixing Testfall- erstellung
  27. 27. Team Feuerrot OK, is klar! Wir machen jetzt doch alles in einem Sprint und wir automatisieren, damit es am Ende nicht so eng wird!
  28. 28. AUTOMATISIEREN WARUM?
  29. 29. Projektlaufzeit Testaufwand niedrig hoch
  30. 30. AUTOMATISIEREN DARUM! … und natürlich weil nicht alles manuell geht (Lasttests, Performancetests, Schnittstellentests, …)
  31. 31. Unittest Programmierung Fix GUI-Automatisierung Fixing Feature Freeze Lasttestdurchführung Systemtestdurchführung Explore Explore GUI-Automatisierung Unittest Programmierung Fix Explore Team Orangerot 2 Test Durchführung Testfall- erstellung Test Durchführung Testfall- erstellung
  32. 32. Das ist hier die Frage GUI oder nicht GUI
  33. 33. Projektlaufzeit Test- automatisierungs- aufwand niedrig hoch
  34. 34. Testautomatisierung Explorativ System-, Performancetest Akzeptanztest Unit-, Integrationstest Manuell Automatisiert GUI-Automatisierung immer bewusst machen und niemals alles!
  35. 35. GUI-Automatisierung GF 3 GF 4.1 GF 1.2 GF 1.1 GF 5 Aufwand Risiko GF 7 hochniedrig niedrig hoch
  36. 36. Team Orangerot 2 OK OK, wir automatisieren also ganz viel Akzeptanztests und nur wichtige GUI-Tests!
  37. 37. Akzeptanz… …wie geht das in Scrum? Wer sichert die Qualität der Anforderungen?
  38. 38. Definition of Ready Quality Gate für User Stories
  39. 39. *Haben nicht den Anspruch Anforderungen umfassend zu dokumentieren Card Conversation *Abwehr Als Fußballverein möchte eine gute Abwehr haben damit ich wenig Tore reinkrieg Confirmation
  40. 40. Confirmation Akzeptanzkriterien (Testbasis) Herstellung der Messbarkeit DoR  Story bereit zur Umsetzung DoD  Abnahme der Story
  41. 41. … und wie erzeuge ich gute Akzeptanzkriterien?
  42. 42. Conversation ATDD
  43. 43. Conversation BDD
  44. 44. VERHALTEN TREIBT ENTWICKLUNG BEHAVIOR DRIVEN DEVELOPMENT
  45. 45. UBIQUITÄRE SPRACHE GHERKIN ALLE VERSTEHEN ES SZENARIEN MIT GIVEN WHEN THEN ANGENOMMEN WENN DANN
  46. 46. Akzeptanzkriterien Szenario: Zwei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Wenn ich addieren auswähle Dann muss das Ergebnis 130 sein Szenario: Drei Zahlen addieren Angenommen die erste Zahl ist 50 Und die zweite Zahl ist 80 Und die dritte Zahl ist 20 Wenn ich addieren auswähle Dann muss das Ergebnis 150 sein
  47. 47. … und das geht auch automatisiert? Wie denn?
  48. 48. Client View Model Businesslogik Controller Ressourcen Request Response Select ? ?
  49. 49. Addieren Als Benutzer möchte ich Zahlen addieren können damit ich Zeit beim Rechnen spare User Story schreiben Akzeptanzkriterien ausarbeiten Glue Code schreiben Unittest Code schreiben Code schreiben Ready Done [Then(@"the result should be (.*) on the screen")] public void ThenTheResultShouldBeOnTheScreen(decimal p0) { Assert.AreEqual(p0, result); } Assert.AreEqual(130, calculator.result);
  50. 50. User Story schreiben Akzeptanzkriterien ausarbeiten Glue Code schreiben Unittest Code schreiben Code schreiben Fachbereich und Anforderungsmanager haben eine einfache Sprache, ... … Anforderungsmanager, Entwickler und Tester müssen jetzt eng zusammenarbeiten, … … die Entwickler können dann direkt gegen das erwartete Verhalten (den Test) entwickeln, … … alle kriegen sofort eine Rückmeldung, ob sie alles richtig gemacht haben, … … und am Ende braucht man nicht mehr soviel testen!!!
  51. 51. BDD ist toll! Ist das denn die Lösung für alles? Ina Einemann (HEC GmbH) BDD - die Lösung aller Probleme? Nö!
  52. 52. Geht denn auch GUI-Automatisierung und testgetriebene Entwicklung? Björn Seebeck (HEC GmbH) Jubula im Softwareentwicklungsprozess Jo!
  53. 53. Team Orange Unittest Programmierung Autom. Akzeptanztests Fix GUI-Automatisierung Fixing Feature Freeze Lasttestdurchführung Systemtestdurchführung Explore Explore GUI-Automatisierung Unittest Programmierung Autom. Akzeptanztests Fix Explore
  54. 54. Wann finden denn Performancetests statt? Immer, kontinuierlich und so früh wie möglich. So früh wie möglich.
  55. 55. Warum brauch ich eigentlich noch Systemtests wenn ich doch Akzeptanztests habe? Unsere Akzeptanztests haben meistens den Fokus auf die User Stories  Ziel: Nutzen bestätigen Systemtests sind oft End-to-End- Tests. Wenn wir die nicht haben könnten Lücken entstehen!  Ziel: Fehler finden
  56. 56. Team Orange Herrje! Dann machen wir den System- und Performancetest eben parallel! Aber dafür brauchen wir ein extra Team!
  57. 57. Team Gelb Unittest Programmierung Autom. Akzeptanztests Fix Fixing Explore Explore Unittest Programmierung Autom. Akzeptanztests Fix ExploreGUI-Automatisierung Last- / Systemtest
  58. 58. $ !?!  Team Gelb
  59. 59. Team Grün Unittest Programmierung Autom. Akzeptanztests Fix Fixing Explore Explore Unittest Programmierung Autom. Akzeptanztests Fix GUI- / Last- / Systemtest ExploreGUI- / Last- / Systemtest
  60. 60. Team Grün Jetzt ist alles schön. So machen wir für immer weiter!
  61. 61. Team Rosa OK!!! Wir bleiben dran! PLAN DOCHECK ACT
  62. 62. Scrum BDD ATDD eXtreme Soziale Kompetenz Grundlage für Team Grün
  63. 63. Und wie macht man das dann mit mehreren Teams?
  64. 64. Product Owner Scrum Master Community of practice Scrum of Scrums Head of PO Teststrategie
  65. 65. Fazit
  66. 66. Team ? Develop Stories Test Stories Test Issues Fixing Acceptance Test Regression Test Develop Stories Test Stories Test Issues Fixing Acceptance Test Regression Test Develop Stories Test Stories Test Issues Fixing Acceptance Test Regression Test
  67. 67. Frank Düsterbeck frank.duesterbeck@HEC.de @fduesterbeck de.slideshare.net/fduesterbeck

×