Der Systemtest - Von den Anforderungen zum Qualitätsnachweis

Harry M. Sneed, Manfred Baumgartner, Richard Seidl

Der Systemtest

Von den Anforderungen zum Qualitätsnachweis

2011

330 Seiten

Format: PDF, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446428614

 

Inhalt

6

Vorwort

14

Die Autoren

16

1 Einführung in den Systemtest

18

1.1? Das Wesen eines Systemtests

18

1.2? Von Entwicklern und Anwendern zu Testern

21

1.3? Warum wir testen müssen

23

1.5? Der Systemtestprozess

27

1.6? Systemtestnormen

30

1.7? Systemtestwerkzeuge

31

1.8? Systemtester

32

1.9? Zur Systemtestbarkeit

33

1.9.1? Testbarkeit der Anwendungsfälle

33

1.9.2? Testbarkeit der Benutzeroberflächen

34

1.9.3? Testbarkeit der Systemschnittstellen

34

1.9.4? Testbarkeit der Datenbanken

35

1.9.5? Testen ohne Benutzeroberfläche

35

2 Testanforderungsanalyse

38

2.1? Ansätze zur Formulierung der Anforderungen

39

2.1.1? Formale Spezifikation

39

2.1.2? Semiformale Spezifikation

39

2.1.3? Strukturierte Spezifikation

40

2.1.4? Informale Spezifikation

42

2.2? Ansätze zur Normierung der Anforderungen

42

2.3? Die Praxis der Anforderungsdokumentation

45

2.4? Das V-Modell-XT Lastenheft

46

2.5? Die Analyse natursprachlicher Anforderungen

49

2.6? Anforderungsbasierte Testfallermittlung

51

2.7? Ein Beispiel der Testfallermittlung

54

2.8? Zur Automatisierung der Testfallermittlung

61

2.9? Erfahrung mit der automatisierten Anforderungsanalyse

64

3 Modellbasierte Testspezifikation

66

3.1? Woher kommt das Modell?

66

3.1.1? Übernahme des Entwicklermodells

67

3.1.2? Erstellung eines eigenen Testmodells

68

3.1.3? Gewinnung eines Modells aus der Anforderungsdokumentation

69

3.1.4? Gewinnung eines Modells aus dem Code

70

3.2? Ableitung der Testfälle aus einem UML?Modell

72

3.2.1? Testfälle aus den UseCase-Diagrammen

73

3.2.2? Testfälle aus den Sequenzdiagrammen

73

3.2.3? Testfälle aus den Aktivitätsdiagrammen

73

3.2.4? Testfälle aus den Zustandsdiagrammen

74

3.2.5? Vereinigung der Testfälle

74

3.3? Vom Testmodell zur Testausführung

75

3.4? Alternative zum modellbasierten Test

77

3.4.1? Testen gegen die Vorstellungen des Testers

78

3.4.2? Testen gegen das Benutzerhandbuch

78

3.4.3? Testen gegen die Anforderungsdokumentation

79

3.4.4? Testen gegen das bestehende System

79

3.5? Beurteilung des modellbasierten Testens

79

3.5.1? Modellbasiertes Testen im Vergleich mit Testen gegen die Testervorstellungen

79

3.5.2? Modellbasiertes Testen im Vergleich zum Testen gegen das Benutzerhandbuch

80

3.5.3? Modellbasiertes Testen im Vergleich zum Testen gegen ein bestehendes System

80

3.5.4? Testen gegen ein Modell im Vergleich zum Testen gegen die Anforderungsspezifikation

80

3.5.5? Der optimale Testansatz ist situationsbedingt

81

4 Systemtestplanung

82

4.1? Zweck der Testplanung

82

4.2? Voraussetzungen zur Testplanung

87

4.3? Schätzung der Testaufwände

90

4.3.1? Test-Points

91

4.3.2? Testproduktivität

91

4.3.3? Komplexität und Qualität

92

4.3.4? Die COCOMO-II Gleichung

94

4.4? Schätzung der Testdauer

95

4.5? Testprojektorganisation

96

4.5.1? Organisation der Testressourcen

96

4.5.2? Organisation des Testpersonals

98

4.6? Testrisikoanalyse

99

4.7? Festlegung der Testendekriterien

100

4.8? Gestaltung des Testplans nach ANSI/IEEE-829

102

4.8.1? Testkonzept-ID

103

4.8.2? Einführung

103

4.8.3? Zu testende Objekte

104

4.8.4? Zu testende Funktionen

104

4.8.5? Nicht zu testende Funktionen

104

4.8.6? Testvorgehensweise

104

4.8.7? Testendekriterien

104

4.8.8? Testabbruchkriterien

105

4.8.9? Testergebnisse

105

4.8.10? Testaufgaben

105

4.8.11? Testumgebung

106

4.8.12? Testverantwortlichkeiten

106

4.8.13? Testpersonalbedarf

106

4.8.14? Testzeitplan

107

4.8.15? Testrisiken und Risikomanagement

107

4.8.16? Genehmigungen

107

4.9? Die Prüfspezifikation nach V-Modell-XT

108

4.9.1? Einleitung

109

4.9.2? Prüfziele

109

4.9.3? Prüfobjekte

109

4.9.4? Prüffälle

110

4.9.5? Prüfstrategie

110

4.9.6? Prüfkriterien

110

4.9.7? Prüfergebnisse

111

4.9.8? Prüfaufgaben

111

4.9.9? Prüfumgebung

111

4.9.10? Prüffallzuordnung

112

4.9.11? Prüfaufwand

112

4.9.12? Risikovorkehrungen

113

5 Spezifikation der Testfälle

114

5.1? Aufbau der Testfälle

114

5.1.1? Das Testfallkennzeichen

116

5.1.2? Der Testfallzweck

116

5.1.3? Die Testfallquelle

116

5.1.4? Die Testanforderung

117

5.1.5? Der Testvorgang

117

5.1.6? Die Testobjekte

117

5.1.7? Die Testfallvorzustände

118

5.1.8? Die Testfallnachzustände

118

5.1.9? Die Vorgängertestfälle

118

5.1.10? Die Nachfolgetestfälle

119

5.1.11? Die Testumgebung

119

5.1.12? Die Testfallargumente

119

5.1.13? Die Testfallergebnisse

120

5.1.14? Der Testfallstatus

120

5.2? Darstellung der Testfälle

122

5.2.1? Testfälle im Textformat

123

5.2.2? Testfälle im Tabellenformat

125

5.2.3? Testfälle im XML-Format

126

5.2.4? Testfälle in einer formalen Sprache – TTCN

127

5.3? Erstellung der Testfälle

130

5.3.1? Generierung der Grunddaten aus dem Anforderungstext

130

5.3.2? Ergänzungen der Testfälle

131

5.4? Speicherung der Testfälle

132

5.4.1? Testfälle als Texte

132

5.4.2? Testfälle als Tabellen

132

5.4.3? Testfälle als XML-Format

133

5.5? Qualitätssicherung der Testfälle

134

5.5.1? Testfallquantität

135

5.5.2? Messung der Testfallkomplexität

137

5.5.3? Messung der Testfallqualität

138

5.6? Überführung der Testfälle in einen Testentwurf

140

5.7? Wartung und Weiterentwicklung der Testfälle

141

6 Bereitstellung der Testdaten

144

6.1? Testdatenquellen

145

6.1.1? Die Anforderungsdokumentation als Quelle von Testdaten

145

6.1.2? Das Entwurfsmodell als Quelle von Testdaten

146

6.1.3? Der Source-Code als Quelle von Testdaten

146

6.1.4? Die alten Testdaten als Quelle von Testdaten

146

6.1.5? Die Produktionsdaten als Quelle von Testdaten

147

6.1.6? Die fachlogischen Testfälle als Quelle von Testdaten

147

6.2? Testdatenobjekte

147

6.3? Testdatenerstellungsansätze

149

6.3.1? Der blinde Ansatz zur Testdatenerstellung

150

6.3.2? Der gezielte Ansatz zur Testdatenerstellung

150

6.3.3? Der kombinierte Ansatz

151

6.3.4? Der Mutationsansatz

151

6.4? Testdatentypen

152

6.4.1? Datenbanken

153

6.4.2? Systemschnittstellen

154

6.4.3? Benutzeroberflächen

156

6.5? Testdatengenerierung

157

6.5.1? Datengenerierung aus den Testfällen

158

6.5.2? Datengenerierung aus Testprozeduren

159

6.5.3? Datengenerierung aus dem Source-Code

160

6.5.4? Datengenerierung aus vorhandenen Daten

160

6.6? Werkzeuge für die Testdatengenerierung

161

6.6.1? Datenbankgeneratoren

163

6.6.2? Schnittstellengeneratoren

163

6.6.3? Oberflächengeneratoren

164

7 Systemtestausführung

166

7.1? Systemtypen

167

7.1.1? Alleinstehende Systeme

167

7.1.2? Integrierte Systeme

167

7.1.3? Verteilte Systeme

168

7.1.4? Web-basierte Systeme

169

7.1.5? Service-orientierte Systeme

169

7.1.6? Vollautomatische Systeme

171

7.1.7? Eingebettete Echtzeitsysteme

172

7.2? Test alleinstehender Systeme

173

7.3? Test integrierter Systeme

175

7.3.1? Funktionstest

175

7.3.2? Belastungstest

177

7.3.3? Benutzbarkeitstest

178

7.4? Test verteilter Systeme

179

7.4.1? Interaktionstest

179

7.4.2? Testverfolgung im Netz

179

7.4.3? Sicherheitstest

180

7.5? Test Web-basierter Systeme

181

7.5.1? Test der Web-Architektur

182

7.5.2? Test der Web-Anwendung

182

7.6? Test Service-orientierter Systeme

183

7.6.1? Vorbereitung des Servicetests

184

7.6.2? Ausführung des Web Service-Tests

185

7.6.3? Simulierter Test der Geschäftsprozesse

186

7.6.4? Integration der Services mit den Geschäftsprozessen

186

7.7? Test vollautomatisierter Systeme

187

7.7.1? Werkzeuge für den automatisierten Test

187

7.7.2? Tester für den automatisierten Test

188

7.8? Test eingebetteter Systeme

189

7.9? Kein System ist wie das andere

190

8 Auswertung des Systemtests

192

8.1? Zweck der Testauswertung

192

8.2? Auswertung der Testergebnisse

194

8.2.1? Sichtbare und unsichtbare Ergebnisse

194

8.2.2? Möglichkeiten der Ergebniskontrolle

194

8.2.3? Begründung der Ergebniskontrolle

195

8.2.4? Automatisierte Ergebniskontrolle

196

8.3? Messung der Testüberdeckung

198

8.3.1? Testüberdeckungsmaße

198

8.3.2? Function-Point-Überdeckung

199

8.3.3? Anforderungsüberdeckung

200

8.3.4? Überdeckung bisheriger Funktionalität

201

8.3.5? Fehlerüberdeckung

201

8.4? Fehleranalyse

202

8.4.1? Fehlerlokalisierung

202

8.4.2? Fehlermeldung

203

8.5? Systemtestmetrik

205

8.5.1? Testüberdeckungsmaße

206

8.5.2? Fehleranalysemaße

209

8.5.3? Messung der Testeffektivität

210

8.6? Systemtestmessung in der Praxis

212

9 Testpflege und ?fortschreibung

216

9.1? Analyse der Änderungsanträge (CRs)

217

9.2? Fortschreibung und Optimierung des Testplans

218

9.2.1? Fortschreibung der Testziele

218

9.2.2? Fortschreibung der Testobjekte

219

9.2.3? Fortschreibung der zu testenden Funktionen

219

9.2.4? Fortschreibung der Teststrategie und Testendekriterien

219

9.2.5? Fortschreibung der Testergebnisse

219

9.2.6? Fortschreibung der Testaufgaben

220

9.2.7? Fortschreibung des Personalplanes

220

9.2.8? Fortschreibung der Testrisiken

220

9.2.9? Rekalkulation der Testkosten

221

9.3? Impaktanalyse der Software

222

9.3.1? Statische Impaktanalyse

222

9.3.2? Dynamische Impaktanalyse

223

9.4? Fortschreibung der Testfälle

224

9.4.1? Spezifikation neuer Testfälle

224

9.4.2? Anpassung bestehender Testfälle

224

9.5? Anreicherung der Testdaten

225

9.5.1? Direkte Anreicherung der Daten

225

9.5.2? Indirekte Anreicherung der Daten

225

9.6? Ausführen des Regressionstests

226

9.6.1? Eigenarten eines Regressionstests

226

9.6.2? Der Test im Dialogmodus

227

9.6.3? Der Test im Batch-Modus

227

9.6.4? Testautomatisierung beim Regressionstest

227

9.7? Auswertung des Regressionstests

228

9.7.1? Kontrolle der Regressionstestüberdeckung

228

9.7.2? Kontrolle der Regressionstestergebnisse

229

9.7.3? Protokollierung der Regressionstestergebnisse

231

9.8? Automatisierung des Regressionstests

231

9.9? Der Regressionstest in Migrationsprojekten

233

9.9.1? Voller Regressionstest

234

9.9.2? Selektiver Regressionstest

235

10 Systemtestautomation

238

10.1? Ein Modell für die Testautomatisierung

239

10.1.1? Testeingaben

239

10.1.2? Testausgaben

240

10.1.3? Testobjektbeziehungen

240

10.2? Testereignisse

241

10.2.1? Planende Testereignisse

242

10.2.2? Vorbereitende Testereignisse

242

10.2.3? Ausführende Testereignisse

243

10.2.4? Abschließende Testereignisse

243

10.2.5? Zusammenfassung der Testereignisse

244

10.3? Zur Automation der Testereignisse

244

10.3.1? Automatische Ableitung der logischen Testfälle aus der Anforderungsdokumentation

245

10.3.2? Automatisierte Erzeugung eines Testplans

245

10.3.3? Automatische Erstellung eines Testentwurfs

246

10.3.4? Automatische Generierung der Testdaten

246

10.3.5? Automatisierte Erzeugung physikalischer Testfälle

247

10.3.6? Automatische Generierung der Testprozeduren

247

10.3.7? Automatische Instrumentierung des Codes

247

10.3.8? Die automatische Testausführung

248

10.3.9? Die automatische Ergebnisprüfung

248

10.3.10? Automatische Kontrolle der Testüberdeckung

248

10.3.11? Automatisch generierte Testmetrik

248

10.4? Voraussetzungen der Testautomation

249

10.4.1? Formalisierung der Anforderungsspezifikation

250

10.4.2? Standardisierung der Testdokumente

251

10.4.3? Definition der Datenwertebereiche

251

10.4.4? Qualifizierung der Tester

252

10.5? Systemtestautomation als eigenständiges Projekt

253

10.5.1? Erste Automatisierungsstufe

254

10.5.2? Zweite Automatisierungsstufe

254

10.5.3? Dritte Automatisierungsstufe

255

10.5.4? Vierte Automatisierungsstufe

255

10.5.5? Fünfte Automatisierungsstufe

255

10.6? Alternative zum automatisierten Test

255

10.6.1? Erste Alternative = weniger Testen

256

10.6.2? Zweite Alternative = massiver Personaleinsatz

256

10.7? Vergangenheit und Zukunft der Testautomation

257

11 Werkzeuge für den Systemtest

260

11.1? Werkzeugkategorien – Einsatzgebiete

260

11.2? Funktionalität und Auswahlkriterien

261

11.3? Werkzeuge aus Projekten: Der Testarbeitsplatz

264

12 Testmanagement

270

12.1? Notwendigkeit des Systemtestmanagements

270

12.2? Hauptaufgaben des Systemtestmanagements

271

12.2.1? Testplanung und Umsetzung des Testkonzeptes

272

12.2.2? Laufendes Controlling aller Testaktivitäten

275

12.2.2.1? Inhaltscontrolling

276

12.2.2.2? Controlling der Planungsgrößen

278

12.2.2.3? Controlling der Testendekriterien

280

12.2.3? Sicherstellung der Qualität der Testergebnisse

282

12.2.3.1? Qualität des Testdesigns und der Testfälle

283

12.2.3.2? Qualität der Protokollierung der Testdurchführung

284

12.2.3.3? Qualität des Fehlermanagements

284

12.3? Testprozessmanagement

285

12.3.1? Testprozessgestaltung

285

12.3.2? Testprozessreife

287

12.4? Testteamführung

288

13 Anhang

292

13.1? Anhang A: Testplan nach ANSI/IEEE-829

292

13.2? Anhang B1: Schema für die Testfallspezifikation

298

13.3? Anhang B2: Beispiel einer Testfallspezifikation für den Test der Auftragsbearbeitung

300

13.4? Anhang C1: Testdatengenerierungsskript

303

13.5? Anhang C2: Testergebnisvalidierungsskript

305

Literatur

306

Register

322

 

© 2009-2024 ciando GmbH