1. Scrum Rocks, Testing Sucks?!
Adrian Stoll, SwissQ Consulting AG
Zürich, 24. April 2013
2. Ziele der Präsentation
Wie ein Scrum Team von einer dedizierten Person für das Testing
profitiert
Warum ein Embedded Scrum Tester besser ist, als die
Testverantwortung auf das ganze Team zu verteilen
Was trägt ein Tester zu den Scrum Prozessen wie Daily
Scrum, Sprint Planning, Retrospective etc. bei
Finden Sie heraus, weshalb Testing in Scrum Spass macht, weil man
involviert ist und schneller zum Ziel kommt
Page 2
3. Agenda
1. Scrum Testing in der Praxis
2. Warum Testing in Scrum rockt!
3. Scrum Testing im Detail – Techniken und Technologien
4. Best Practices & Lessons Learned
Page 3
4. SCENE
Adrian Stoll
Eidg. dipl. Web Project Manager,
Tester aus Leidenschaft, Scrum Geek
Prinicipal Consultant, SwissQ Consulting AG
Ihr Referent
Page 4
Scrum-Erfahrung:
• Embedded Tester u.a. in 2 Siegerprojekten
der "Best of Swiss Web"-Awards 2011
• Scrum Test Professional bei einer grossen
Versicherung
• Certified Scrum
Master
• Kursleiter “Agiles
Testing mit Scrum“
7. Agenda
1. Scrum Testing in der Praxis
2. Warum Testing in Scrum rockt!
3. Scrum Testing im Detail – Techniken und Technologien
4. Best Practices & Lessons Learned
Page 7
8. Projekterfahrungen: Migipedia
Page 8
Community Plattform
für Migros-Kunden
Produktebewertungen
& Kommentare
Umfragen &
Kampagnen
Einsatzbeginn 2 Wochen vor Launch als "Retter in der Not"
Dokumentation von 80 Bugs innert der ersten 2 Tagen
Begleitung des Projekts bis zum (pünktlichen) Release
Seither fester Partner als Testing und QA-Verantwortliche
9. Projekterfahrungen: Vanilla
Page 9
Coupons & Aktionen
Mobile Payment
iPhone & Android App
diverse Schnittstellen
Auftraggeber: Ringier
Embedded Tester zum ersten Release
Verschiedene Applikationen und Plattformen
Schnittstellen, End-To-End Testing
Mandat als Product Owner für die Weiterentwicklung
10. Projekterfahrungen: Versicherungsunternehmen
Umstellung der gesamten Informatik auf Scrum
Mithilfe bei der Neuausrichtung der Testing-Organisation
Beratung und Coaching in Scrum & Testing Prozessen
Mitarbeit beim Aufbau einer Testing-Community
Erarbeitung Rollendefinitionen: Embedded Tester, Projektleiter
TestIT und Technical Lead Testing
Embedded Testing im Projektumfeld Vermögens- und
Vorsorgeberatung
Testautomatisierung (Ranorex & IBM RFT)
Page 10
13. Blick auf die Vorgehensweisen
Page 13
ATST
Konzept Design High Level Test EinführungCode Low Level Test
Wasserfall
ST/AT ST/AT ST/AT ST/AT ST/AT ST/AT ST/AT ST/AT
S1 S2 S3 S4 S5 S6 S7 S8
Scrum
14. Testing in Scrum – Variante 1
Tester stossen gegen Ende des Projektes hinzu.
Abnahme & E-2-E Tests am Ende des Projekts.
1 2 3 4 5 6 7 n
Abnahme-
&
E-2-E
Test
Test
Design
15. Testing in Scrum – Variante 2
Tester sind von Anfang involviert.
Das Test Design erfolgt kontinuierlich mit jedem Sprint.
Abnahme & E-2-E Tests am Ende des Projekts.
1 2 3 4 5 6 7 n
Abnahme-
&
E-2-E
Test
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
16. Testing in Scrum – Variante 3
Tester sind von Anfang involviert.
Die Durchführung der Abnahmetests (AT) erfolgt im folgenden Sprint.
Finale Abnahme & E-2-E Tests am Ende des Projekts.
1 2 3 4 5 6 7 n
Finale
Abnahme-
&
E-2-E
Test
AT AT AT AT AT AT AT
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
17. Testing in Scrum – Variante 4
Enge Zusammenarbeit zwischen Entwickler und Tester.
Die Durchführung der Abnahmetests (AT) erfolgt im selben Sprint.
Finale Abnahme & E-2-E Tests am Ende des Projekts.
1 2 3 4 5 6 7 n
Finale
Abnahme-
&
E-2-E
Test
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
„True“ Embedded Testing
18. Embedded Scrum Tester
Shared Responsibility:
Everybody tests their own part Ist (High Level) Test Know-How
vorhanden?
Ist Testing wirklich unabhängig, objektiv?
Wie/wer verantwortet Bug-Fixing und
Retests?
Im Scrum Team wird Testing als gemein-
same Verantwortung wahrgenommen. Oft
werden Entwickler für das Testing
zugeteilt, was einige Risiken mit sich bringt:
Page 18
19. Embedded Scrum Tester
Ein Embedded Scrum Tester kann diese
Risiken minimieren:
Spezial-Wissen vorhanden
Unabhängig und „objektiv“
Fehler können umgehend behoben
werden (sehr kurze Feedback-Zyklen)
Shared Responsibility:
Everybody tests their own part
Embedded Acceptance Tester:
Test by an independent specialist
Page 19
20. Agenda
1. Scrum Testing in der Praxis
2. Warum Testing in Scrum rockt!
3. Scrum Testing im Detail – Techniken und Technologien
4. Best Practices & Lessons Learned
Page 20
21. Why traditional Testing sucks
Frustrierend – Fehler zu finden, die offensichtlich sind
Undankbar – als Tester ist man bei Entwicklern oft unbeliebt
Stressig – bei Verzögerungen verkürzt sich meist die Testzeit
Eintönig – immer wieder dieselben Testfälle, over and over again
Isoliert – als Tester kann man selten die Umsetzung beeinflussen
Page 21
22. Why Scrum Testing rocks
Motivierend – Raschere Testresultate, schnellere Bugfixes
Dankbar – Entlastung für Entwickler, positives Feedback
Kontrolliert – eingebetted in Scrum Planung und Zyklus
Abwechslungsreich – am Puls der (raschen) Weiterentwicklung
Involviert – Mitreden und Lösungsvorschläge erwünscht
Page 22
23. Agenda
1. Scrum Testing in der Praxis
2. Warum Testing in Scrum rockt!
3. Scrum Testing im Detail – Techniken und Technologien
4. Best Practices & Lessons Learned
Page 23
25. Techniken und Technologien
Test-Driven Development
User Story-based Testing
...
Requirements Coverage
Risk-based Testing
Page 25
Traditionelle Test-Techniken ja – unbedingt! – aber "Light"
26. Techniken und Technologien
Fortlaufende Entwicklung und Dokumentation von strukturierten
(Regressions-) Testfällen
Page 26
Übersicht Regressions-Testcases
Stand per Sprint XX
28. Beitrag des Testers in Scrum Prozessen
Abschätzen der Zeit, welche zum Testen von User Stories benötigt
werden und dafür sorgen, dass diese bei der Aufwandschätzung
berücksichtigt werden
Scrum Planning / Estimation Meeting
Page 28
29. Beitrag des Testers in Scrum Prozessen
(auch Daily Standup): Was habe ich gestern getestet, was teste ich
heute, wo hatte ich Probleme beim Testen?
Daily Scrum
Image: Danny (Danko) Kovatch
Page 29
30. Beitrag des Testers in Scrum Prozessen
Kennenlernen neuer Features vor dem Testing
(oder: bereits getestete Features selbst demonstrieren)
Sprint Review / Demo
Page 30
Die Demo lief diesmal richtig flüssig und wie aus einem
Guss. Machte ein super-professionellen Eindruck, weiter so!
31. Beitrag des Testers in Scrum Prozessen
Wo waren die Stolpersteine aus Tester-Sicht, was lief besonders
gut? Was kann man neu/anders machen?
Scrum Retrospective
Image: IT-Zynergy ApS
Page 31
32. Agenda
1. Scrum Testing in der Praxis
2. Warum Testing in Scrum rockt!
3. Scrum Testing im Detail – Techniken und Technologien
4. Best Practices & Lessons Learned
Page 32
33. Scrum Testing – Best Practices
Page 33
Workflow
Closed
Done
Resolved
Release
To Test
Tested OK
In Progress / Reopened
Implemented / Fixed
Open
Ready for Implementation
New
User Story Review
Review failed:
Überarbeiten!
Testing failed:
Reopen!
36. Scrum Testing – Best Practices
Page 36
Testmethodik SET
Entwickler-
informationen
Testreview
inkl.
Ergebnisse
Testsession
37. Scrum Testing – Best Practices
Einsatz eines Tools für Anforderungsmanagement, Fehlerverwaltung
und Problembehandlung mit Workflow
Anforderungsbasiertes Testing anhand von User Stories
Der Entwickler schreibt ein "How to test" pro Issue
Sprint-Planung und Fortschritt stetig überwachen
Tests möglichst rasch durchführen, Anhäufung von pendenten
Testfällen vermeiden
Integrationsfördernde Massnahmen zahlen sich aus: Anpassung an
Kleidung, Sprache, Arbeitszeiten, Gewohnheiten des Teams etc.
Nahe beim Team sein: Physisch präsent oder mithilfe von
elektronischer Kommunikationsmitteln
Page 37
40. Scrum Testing – Lessons learned
Echte Entlastung der Entwickler
Zusätzliches Bindeglied zum Kunden, Unterstützung für PO & SM
Schleichende Nachlässigkeit der Entwicklung (Unit-Tests?)
Vorsicht vor "Technical Debts"!
Dokumentation wird häufig vernachlässigt
End-to-End Testing sauber planen
Wer kümmert sich sich um die Test-Infrastruktur?
Scrum Testing und Remote Testing: Tolle Kombination!
Continous Improvement & -integration nutzen
Regressionstests: Die grösste Herausforderung in Scrum
Page 40
41. Thank you for your
involvement
defending the
platform and the
work done.
Are you ready for the challenge?
Da wären wir nie
drauf gekommen.
Toll, was du
alles findest
euer team hat wirklich einen super job gemacht. die letzten
Tage sind wirklich weltmeisterlich verlaufen, an allen
ecken.
Eine echte
Unterstützung!
Ohne euch
hätten wir das
kaum
geschafft.
Page 41
du bisch e riese
testing
maschiene, mir si
froh heimer di i
säges dir
42. Sie wollen mehr erfahren?
Nächste Kursdaten „Agiles Testen mit Scrum“:
13.+14.05.2013 / 10.+11.10.2013 / 02.+03.12.2013
Nächste Kurse „Session Based Testing“:
02.10.2013 / 04.12.2013
Testmethodik SET:
http://www.hermes.admin.ch/dienstleistungen/hilfsmittel/testmethodik
Buch „A Practical Guide For Testers And Agile Teams“
(Crispin/Gregory, Addison Wesley)
Buch „Testen in Scrum-Projekten“
(Tilo Linz, dpunkt Verlag)
Event „Testing Trends & Benchmarks 2013“
SwissQ Bern, 28.05.2013http://www.swissq.it/testing-trends-
benchmarks-2013/)
Page 42