Agile Testing - Der agile Weg zur Qualität

Manfred Baumgartner, Martin Klonk, Helmut Pichler, Richard Seidl, Siegfried Tanczos

Agile Testing

Der agile Weg zur Qualität

2017

271 Seiten

Format: PDF, ePUB

E-Book: €  42,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446452985

 

Inhalt

6

Geleitwort

11

Vorwort

18

Praxisbeispiele

20

Die Autoren

21

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

35

1.5 Konsequenzen der agilen Entwicklung für die Software-Qualitätssicherung

37

1.5.1 Räumliche Konsequenzen

37

1.5.2 Zeitliche Konsequenzen

38

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 in agilen Projekten

49

2.3.1 Scrum

49

2.3.1.1 Sprint Review Meeting

51

2.3.1.2 Sprint Retrospektive

52

2.3.2 Kanban

56

2.3.2.1 Kaizen – Continuous Improvement

57

2.4 Continuous Integration

58

2.5 Lean Software Development

59

3 Die Organisation des Software-Tests in agilen Projekten

62

3.1 Die Platzierung von Tests in agilen Projekten

63

3.1.1 Der fundamentale Testprozess des ISTQB

63

3.1.1.1 Testplanung und -steuerung

63

3.1.1.2 Testanalyse und Testentwurf

66

3.1.1.3 Testrealisierung und Testdurchführung

67

3.1.1.4 Bewertung von Endekriterien und Bericht

68

3.1.1.5 Abschluss der Testaktivitäten

69

3.1.2 Welcher Test wofür – die vier Testquadranten agilen Testens

71

3.1.2.1 Erster Quadrant: technisch orientiert und teamunterstützend

72

3.1.2.2 Zweiter Quadrant: fachlich orientiert und teamunterstützend

75

3.1.2.3 Dritter Quadrant: fachlich orientiert, aber produkthinterfragend

78

3.1.2.4 Vierter Quadrant: technisch orientiert aber produkthinterfragend

79

3.1.2.5 Der Kontext

81

3.1.3 Tipps für den Software-Test aus agiler Perspektive

82

3.1.4 Agil im Großen mit SAFe oder LeSS

85

3.1.4.1 Testen mit SAFe

85

3.1.4.2 Testen mit LeSS

88

3.1.5 Skalierbare Organisation agiler Teams

90

3.2 Praxisbeispiele

93

3.2.1 Die Rolle des Testers und ihre Veränderung im Laufe der Zeit zum Quality Specialist bei otto.de – ein Erfahrungsbericht

93

3.2.2 Abnahmetest als eigenes Scrum-Projekt/-Team

97

3.2.3 Test Competence Center für agile Projekte

98

3.2.4 Team im Healthcare-Bereich nutzt V-Modell

99

4 Die Rolle des Testers in agilen Projekten

102

4.1 Generalist vs. Spezialist

102

4.2 Der Weg vom zentralen Testcenter in das agile Team

104

4.2.1 Varianten der Testereinbindung in traditionellen Teams

105

4.2.2 Varianten der Testereinbindung in agile Teams

106

4.2.2.1 Die Umstellung von der traditionellen auf die agile Welt

107

4.2.2.2 Steigerung von Effizienz und Effektivität

108

4.2.2.3 Teamzusammenstellung

109

4.3 Herausforderungen der Tester im Team

115

4.3.1 Die Tester im agilen Team

115

4.3.1.1 Der Quality Coach

116

4.3.1.2 Aufgaben der agilen Tester

116

4.3.2 Rechtzeitige Problemaufdeckung

118

4.3.3 Die Entstehung technischer Schulden

120

4.4 Teams und Tester im Kampf gegen „technical debt“

121

4.4.1 Was ist „technical debt“?

121

4.4.2 Der Umgang mit technischen Schulden

123

4.5 Erfahrungsbericht: Quality Specialist bei otto.de

125

4.5.1 Wir agieren als Quality-Coach des Teams

125

4.5.2 Wir begleiten den kompletten Story-Lifecycle

126

4.5.3 Wir betreiben Continuous Delivery/Continuous Deployment

126

4.5.4 Wir balancieren die unterschiedlichen Testarten der Testpyramide

127

4.5.5 Wir helfen dem Team, die richtigen Methoden für hohe Qualität einzusetzen

127

4.5.6 Wir sind im Pairing aktiv

128

4.5.7 Wir vertreten unterschiedliche Perspektiven

128

4.5.8 Wir sind Kommunikationstalente

129

4.5.9 Wir sind Quality Specialists

129

4.6 Zu alt für agil? Die mentale Herausforderung

130

4.6.1 Ausgangslage

130

4.6.2 Was führt zur Aussage „Agil ist etwas für junge Leute“?

131

4.6.2.1 Kreativität und Flexibilität

131

4.6.2.2 Verhaftet in alten Denkmustern

131

4.6.2.3 Trägheit, fehlende Beweglichkeit

132

4.6.2.4 Arbeitsumfeld

132

4.6.2.5 Vorteile der Jugend

133

4.6.2.6 Stärken der Senior-Tester/Senior-Manager

133

4.7 Hilfreiche Tipps vom Markt

134

5 Agiles Testmanagement, -methoden und -techniken

136

5.1 Testmanagement

137

5.1.1 Testplanung im traditionellen Umfeld

137

5.1.2 Testplanung im agilen Umfeld

139

5.1.3 Testkonzept

141

5.1.4 Testaktivitäten in Iteration Zero – Initialisierungs-Sprint

144

5.1.5 Externe Unterstützung der Testplanung

145

5.1.6 Testschätzung

145

5.1.7 Testorganisation

147

5.1.8 Testerstellung, Durchführung und Release

148

5.2 Testmethoden im agilen Umfeld

149

5.2.1 Risikobasiertes und valuebasiertes Testen

150

5.2.2 Explorativer Test

153

5.2.3 Session-basiertes Testen

154

5.2.4 Abnahmetestgetriebene Entwicklung

157

5.2.5 Testautomatisierung

157

5.3 Wesentliche Einflussfaktoren auf den Test

158

5.3.1 Continuous Integration (CI)

158

5.3.2 Automatisiertes Konfigurationsmanagement

160

5.4 Die besonderen Herausforderungen beim Test von IoT

161

5.4.1 Was ist das Internet of Things?

161

5.4.2 Die Herausforderung für agile Teams im Test

163

6 Agile Testdokumentation

166

6.1 Die Rolle der Dokumentation in der Software-Entwicklung

167

6.2 Der Nutzen der Dokumentation

168

6.3 Dokumentationsarten

171

6.3.1 Anforderungsdokumentation

172

6.3.2 Codedokumentation

173

6.3.3 Testdokumentation

174

6.3.3.1 Testfallbeschreibung

174

6.3.3.2 Testdurchführung

175

6.3.3.3 Testüberdeckung

175

6.3.3.4 Fehlerdokumentation

176

6.3.4 Benutzerdokumentation

177

6.4 Der Tester als Dokumentierer

179

6.5 Stellenwert der Dokumentation im agilen Test

179

7 Agile Testautomatisierung

182

7.1 Die Crux mit den Werkzeugen in agilen Projekten

182

7.2 Testautomatisierung – wie geht man es an?

184

7.3 Testautomatisierung mit zunehmender Integration der Software

186

7.3.1 Unit Test bzw. Komponententest

186

7.3.2 Komponentenintegrationstest

187

7.3.3 Systemtest

187

7.3.4 Systemintegrationstest

187

7.4 xUnit-Frameworks

188

7.5 Einsatz von Platzhaltern

194

7.6 Integrationsserver

195

7.7 Testautomatisierung im fachlich orientierten Test

197

7.7.1 Ein Framework – wozu?

199

7.7.2 Agile versus klassische Automatisierung von Benutzereingaben

201

7.7.2.1 Agile Testautomatisierung

201

7.7.2.2 Klassische Testautomatisierung

202

7.7.3 Ein typisches Beispiel: FitNesse und Selenium

204

7.7.4 Behavior Driven Development mit Cucumber und Gherkin

208

7.8 Testautomatisierung im Last- und Performance-Test

211

7.9 Die sieben schlechtesten Ideen für die Testautomatisierung

211

7.9.1 Den Erfolg nach wenigen Sprints erwarten

212

7.9.2 Testwerkzeugen blind vertrauen

212

7.9.3 Schreiben der Testskripts als Nebenbeschäftigung ansehen

213

7.9.4 Testdaten irgendwo in Testfällen vergraben

213

7.9.5 Testautomatisierung nur mit Benutzeroberflächen in Verbindung bringen

214

7.9.6 Soll-Ist-Vergleich unterschätzen

214

7.9.7 (Un-)Testbarkeit der Applikation einfach hinnehmen

215

8 Werkzeugeinsatz in agilen Projekten

216

8.1 Projektmanagement

217

8.1.1 CA Agile Central

219

8.2 Anforderungsmanagement

220

8.2.1 Polarion QA/ALM

223

8.3 Fehlermanagement

226

8.3.1 The Bug Genie

229

8.3.2 Atlassian JIRA

231

8.4 Testplanung und -steuerung

233

8.4.1 Atlassian JIRA

235

8.5 Testanalyse und Testentwurf

238

8.5.1 Risikobasiertes Testen in der TOSCA-Testsuite

239

8.6 Testrealisierung und Testdurchführung

240

8.6.1 Microsoft Test Manager

243

9 Ausbildung und ihre Bedeutung

246

9.1 ISTQB Certified Tester

247

9.2 Certified Agile Tester / CAT

252

9.2.1 Motivation

253

9.2.2 Training-Insights

254

9.3 ISTQB Certified Tester Foundation Level Extension Agile Tester

256

9.4 Individuelle Trainings (Customized Trainings)

257

9.4.1 Empfohlenes Vorgehen bei Einführung der Agilität

257

9.4.1.1 Bestandsaufnahme der Ist-Situation

257

9.4.1.2 Abhängigkeitsanalyse

258

9.4.1.3 Definieren des „neuen“ Ziels

258

9.4.2 Organisatorisches

258

9.4.3 Pilotphase

258

9.4.4 Ausrollen in Unternehmen

259

10 Retrospektive

260

Literaturverzeichnis

263

Index

268

 

© 2009-2024 ciando GmbH