Manfred Baumgartner, Martin Klonk, Helmut Pichler, Richard Seidl, Siegfried Tanczos
Agile Testing
Der agile Weg zur Qualität
Inhalt
6
Geleitwort
10
Vorwort
18
Praxisbeispiel EMIL
20
Die Autoren
22
Danksagungen
24
1 Agil – Ein kultureller Wandel
26
1.1 Der Weg zur agilen Entwicklung
26
1.2 Gründe für eine agile Entwicklung
29
1.3 Die Bedeutung des Agilen Manifests für den Software-Test
32
1.4 Agil setzt Kulturwandel bei den Anwendern voraus
34
1.5 Konsequenzen der agilen Entwicklung für die Software-Qualitätssicherung
36
1.5.1 Räumliche Konsequenzen
36
1.5.2 Zeitliche Konsequenzen
37
2 Agile Vorgehensmodelle und deren Sicht auf Qualitätssicherung
40
2.1 Herausforderungen in der Qualitätssicherung
41
2.1.1 Qualität und Termin
41
2.1.2 Qualität und Budget
42
2.1.3 Der Stellenwert des Software-Tests
43
2.1.4 Fehler aus Vorprojekten (Technical Debt)
45
2.1.5 Testautomatisierung
46
2.1.6 Hierarchische Denkweise
47
2.2 Der Stellenwert des Teams
47
2.3 Audits zur Qualitätssicherung
2.3 Audits zur Qualitätssicherung
49
49
2.3.1 Scrum
49
2.3.2 Kanban
56
2.4 Continuous Integration
58
2.5 Lean Software Development
58
3 Die Organisation des Software-Tests
3 Die Organisation des Software-Tests
62
62
3.1 Die Platzierung von Tests in agilen Projekten
63
3.1.1 Der fundamentale Testprozess des ISTQB
63
3.1.2 Welcher Test wofür – Die vier Testquadranten agilen Testens
71
3.1.3 Tipps für den Software-Test aus agiler Perspektive
81
3.1.4 Skalierbare Organisation agiler Teams
84
3.2 Praxisbeispiele
91
3.2.1 Abnahmetest als eigenes Scrum-Projekt/-Team
91
3.2.2 Test Competence Center für agile Projekte
93
3.2.3 Team im Healthcare-Bereich nutzt V-Modell
94
4 Die Rolle des Testers in agilen Projekten
96
4.1 Generalist vs. Spezialist
96
4.2 Der Weg vom zentralen Testcenter
4.2 Der Weg vom zentralen Testcenter
98
98
4.2.1 Varianten der Testereinbindung in traditionellen Teams
99
4.2.2 Varianten der Testereinbindung in agile Teams
100
4.3 Herausforderungen der Tester im Team
109
4.3.1 Die Tester im agilen Team
109
4.3.2 Rechtzeitige Problemaufdeckung
111
4.3.3 Die Entstehung technischer Schulden
113
4.4 Teams und Tester im Kampf gegen „Technical Debt“
115
4.4.1 Was ist „Technical Debt“?
115
4.4.2 Der Umgang mit technischen Schulden
116
4.5 Zu alt für agil? Die mentale Herausforderung
118
4.5.1 Ausgangslage
118
4.5.2 Was führt zur Aussage „Agil ist etwas für junge Leute“?
119
4.6 Hilfreiche Tipps vom Markt
122
5 Agiles Testmanagement, -methoden und -techniken
126
5.1 Testmanagement
127
5.1.1 Testplanung im traditionellen Umfeld
127
5.1.2 Testplanung im agilen Umfeld
128
5.1.3 Testkonzept
131
5.1.4 Testaktivitäten in Iteration Zero – Initialisierungs-Sprint
133
5.1.5 Externe Unterstützung der Testplanung
135
5.1.6 Testschätzung
135
5.1.7 Testorganisation
136
5.1.8 Testerstellung, Durchführung und Release
137
5.2 Testmethoden im agilen Umfeld
139
5.2.1 Risikobasiertes und valuebasiertes Testen
139
5.2.2 Explorativer Test
142
5.2.3 Session-basiertes Testen
143
5.2.4 Abnahmetestgetriebene Entwicklung
146
5.2.5 Testautomatisierung
147
5.3 Wesentliche Einflussfaktoren
5.3 Wesentliche Einflussfaktoren
147
147
5.3.1 Continuous Integration (CI)
148
5.3.2 Automatisiertes Konfigurationsmanagement
150
6 Agile Testdokumentation
152
6.1 Die Rolle der Dokumentation
6.1 Die Rolle der Dokumentation
153
153
6.2 Der Nutzen der Dokumentation
154
6.3 Dokumentationsarten
157
6.3.1 Anforderungsdokumentation
157
6.3.2 Code-Dokumentation
159
6.3.3 Testdokumentation
160
6.3.4 Benutzerdokumentation
163
6.4 Der Tester als Dokumentierer
164
6.5 Stellenwert der Dokumentation
6.5 Stellenwert der Dokumentation
165
165
7 Agile Testautomatisierung
166
7.1 Die Crux mit den Werkzeugen in agilen Projekten
166
7.2 Testautomatisierung –
7.2 Testautomatisierung –
168
168
7.3 Testautomatisierung mit zunehmender Integration der Software
170
7.3.1 Unit Test bzw. Komponententest
170
7.3.2 Komponentenintegrationstest
171
7.3.3 Systemtest
171
7.3.4 Systemintegrationstest
171
7.4 xUnit-Frameworks
172
7.5 Einsatz von Platzhaltern
177
7.6 Integrationsserver
178
7.7 Testautomatisierung im fachlich orientierten Test
179
7.7.1 Ein Framework – wozu?
182
7.7.2 Agile versus klassische Automatisierung von Benutzereingaben
183
7.7.3 Ein typisches Beispiel: FitNesse und Selenium
186
7.8 Testautomatisierung im Last- und Performance-Test
191
7.9 Die sieben schlechtesten Ideen für die Testautomatisierung
192
7.9.1 Den Erfolg nach wenigen Sprints erwarten
192
7.9.2 Testwerkzeugen blind vertrauen
193
7.9.3 Schreiben der Testskripts als Nebenbeschäftigung ansehen
193
7.9.4 Testdaten irgendwo in Testfällen vergraben
194
7.9.5 Testautomatisierung nur mit Benutzeroberflächen in Verbindung bringen
194
7.9.6 Soll-Ist-Vergleich unterschätzen
195
7.9.7 (Un-)Testbarkeit der Applikation einfach hinnehmen
195
8 Werkzeugeinsatz in agilen Projekten
198
8.1 Projektmanagement
199
8.1.1 Rally
201
8.2 Anforderungsmanagement
203
8.2.1 Polarion QA/ALM
205
8.3 Fehlermanagement
208
8.3.1 The Bug Genie
211
8.3.2 Atlassian JIRA
214
8.4 Testplanung und -steuerung
216
8.4.1 Atlassian JIRA
218
8.5 Testanalyse und Testentwurf
220
8.5.1 Risikobasiertes Testen in der TOSCA-Testsuite
221
8.6 Testrealisierung und Testdurchführung
222
8.6.1 Microsoft TFS Test Manager
225
9 Ausbildung und deren Bedeutung
228
9.1 ISTQB Certified Tester
230
9.2 Certified Agile Tester / CAT
235
9.2.1 Motivation
235
9.2.2 Training-Insights
236
9.3 Individuelle Trainings
9.3 Individuelle Trainings
238
238
9.3.1 Empfohlenes Vorgehen bei Einführung der Agilität
239
9.3.2 Organisatorisches
240
9.3.3 Pilotphase
240
9.3.4 Ausrollen in Unternehmen
241
Retrospektive
242
Literaturverzeichnis
246
Index
252
© 2009-2024 ciando GmbH