Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch erklärt, wie Testautomatisierung konzipiert wird und in bestehende Projekte und die Organisation eingegliedert wird. Dabei werden sowohl fachliche als auch technische Konzepte vorgestellt. Beispiele aus verschiedenen Einsatzgebieten (z.B. Webapplikationen, Data-Warehouse-Systeme) und Projektarten (z.B. Scrum, V-Modell) erläutern die methodischen Grundlagen. Auch auf Werkzeuge sowie Qualitätsgewinne und Einsparpotenziale durch Testautomatisierung wird eingegangen.
Die 2. Auflage vertieft insbesondere die Bereichen Architektur, Automatisierungs-Framework und Agilität. Zudem werden neue Themen wie z.B. Testautomatisierung mobiler Applikationen (Apps) und Crowd-Testing behandelt. Quelle: Verlagstext
/ AUS DEM INHALT: / / /
Inhaltsverzeichnis:
1 Motivation und Einleitung 1
1.1 Standards und Normen 2
1.2 Der Einsatz von Maschinen 4
1.3 Mengen und Massen 6
1.4 Was ist unter Testautomatisierung zu verstehen? 7
1.5 Kontrollfragen zum Kapitel 8
2 Testprozess und Entwicklungsvorgehen 9
2.1 Der fundamentale Testprozess 9
2.1.1 Testplanung, Testüberwachung und -steuerung 10
2.1.2 Testanalyse und Testentwurf 15
2.1.3 Testrealisierung und Testdurchführung 16
2.1.4 Bewertung von Endekriterien und Bericht 19
2.1.5 Abschluss der Testaktivitäten 20
2.2 Softwareentwicklungsmodelle und Projektvorgehen 21
2.2.1 Klassische Entwicklungsmodelle 21
2.2.2 Iterative und agile Entwicklungsmodelle 23
2.2.3 Prozessreifemodelle und Testautomatisierung 25
2.3 Kontrollfragen zum Kapitel 27
3 Testfallspezifikation und -durchführung 29
3.1 Testfalldesign und Testfallerstellung 29
3.1.1 Kombinatorik 29
3.1.2 Testfallerstellung auf Basis von Modellen 36
3.2 Testdatenbeschreibung 39
3.2.1 Syntaxbezogene Testdaten 39
3.2.2 XML 39
3.3 Automatisierte Testdurchführung 40
3.3.1 Zeitliche Taktung 40
3.3.2 Fallweise Durchführung 43
3.3.3 Fehler-Workflow 43
3.4 Kontrollfragen zum Kapitel 49
4 Konzeption eines Automatisierungsframeworks 51
4.1 Technische Konzepte 51
4.1.1 Die grafische Benutzerschnittstelle 52
4.1.2 Webapplikationen und Webservices 63
4.1.3 CSS-Selektoren 64
4.1.4 Datenbanken 65
4.1.5 Schnittstellen und Hilfsmittel für Testautomatisierung 66
4.1.6 Service-Virtualisierung 69
4.2 Logische Konzepte 82
4.2.1 Typische Formen von automatisierten Testfällen 83
4.2.2 Kriterien zur Entscheidung für eine Testfalldarstellung 97
4.3 Struktur, Design und Umsetzung 98
4.3.1 Warum eine Automatisierungsstruktur aufbauen? 99
4.3.2 Grundlegende Struktur 100
4.3.3 Werkzeuge und Schnittstellen 104
4.3.4 Bezug zu verbreiteten Automatisierungsformen 105
4.3.5 Umsetzung eines Automatisierungsframeworks 106
4.3.6 Umsetzung von kompakten Testfällen (nach A2A) 108
4.4 Kontrollfragen zum Kapitel 113
5 Einsatzgebiete 115
5.1 Einsatzgebiete nach Systemart 115
5.1.1 Desktop-Applikationen 115
5.1.2 Client-Server-Systeme 116
5.1.3 Webapplikationen 118
5.1.4 Mobile Applikationen 119
5.1.5 Webservices 127
5.1.6 Data Warehouse 129
5.1.7 Dynamische GUIs: Formularlösungen 132
5.1.8 Cloud Based Systems 133
5.2 Einsatzgebiete nach Testart 135
5.3 Softwarequalitätskriterien 141
5.3.1 Funktionalität (functional suitability) 142
5.3.2 Performanz (performance efficiency) 145
5.3.3 Kompatibilität (compatibility) 148
5.3.4 Benutzbarkeit (usability) 149
5.3.5 Zuverlässigkeit (reliability) 151
5.3.6 Sicherheit (security) 154
5.3.7 Wartbarkeit (maintainability) 156
5.3.8 Übertragbarkeit (portability) 157
5.4 Einsatzgebiete nach Projektart 159
5.4.1 Das klassische Softwareentwicklungsprojekt 159
5.4.2 Das Wartungsprojekt und die Produktweiterentwicklung 159
5.4.3 Das SAP-Projekt 160
5.4.4 Agile Projekte 161
5.4.5 Migrationsprojekte 164
5.4.6 Last- und Performanztest 166
5.5 Kontrollfragen zum Kapitel 177
6 Testdurchführungswerkzeuge 179
6.1 Evaluierung von Automatisierungswerkzeugen 179
6.1.1 Unterstützte Technologien 180
6.1.2 Möglichkeiten der Testfallbeschreibung und Modularisierung 180
6.1.3 Zielgruppe 181
6.1.4 Integration in die Werkzeuglandschaft 181
6.1.5 Teststellungen 182
6.1.6 Schulungen, Support und Dokumentation 183
6.1.7 Lizenzmodell 183
6.2 Evaluieren leicht gemacht 185
6.2.1 Vorbereitung der Szenarien 186
6.2.2 Vorbereitung des Testrechners 186
6.2.3 Installation des Werkzeugs und Erstellung des Arbeitsbereiches 187
6.2.4 Erstellen des ersten Szenarios 187
6.2.5 Refactoring und Variabilisierung des ersten Szenarios 188
6.2.6 Umsetzung weiterer Szenarien 190
6.2.7 Integration in den Entwicklungsprozess 190
6.2.8 Abschluss 191
6.3 Einige Automatisierungswerkzeuge im Überblick 191
6.3.1 Kommerzielle Testwerkzeuge 191
6.3.2 Open-Source-Werkzeuge 205
6.4 Kontrollfragen zum Kapitel 216
7 Integration in die Organisation 217
7.1 Ab heute wird automatisiert! 217
7.2 Die Rolle des Testautomatisierers 225
7.3 Kontrollfragen zum Kapitel 230
8 Ausblick 231
8.1 Herausforderungen in der Testautomatisierung 231
8.1.1 Technische Schnittstellen 231
8.1.2 Organisatorische Schnittstellen 232
8.1.3 Testautomatisierung als komplexe Aufgabenstellung 233
8.2 Trends und mögliche Entwicklungen 234
8.3 Kontrollfragen zum Kapitel 237
Anhang 239
A Anhang 1 241
B Anhang 2 245
C Glossar 257
D Quellenverzeichnis 263
Stichwortverzeichnis 267