Basiswissen Testautomatisierung 

 20. Juni 2015

Konzepte, Methoden und Techniken

Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch erklärt, wie Testautomatisierung mit Fokus auf den funktionalen Systemtest konzipiert 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. Eingehend behandelt werden darüber hinaus Werkzeuge sowie Qualitätsgewinne und Einsparpotenziale durch Testautomatisierung.

Autoren: Thomas Bucsics, Manfred Baumgartner, Richard Seidl, Stefan Gwihs

Verlag: dpunkt.verlag

ISBN: 978-3-86490-194-2

Edition: 2. Auflage

Inhaltsverzeichnis

1 Motivation und Einleitung

1.1 Standards und Normen
1.2 Der Einsatz von Maschinen
1.3 Mengen und Massen
1.4 Was ist unter Testautomatisierung zu verstehen?
1.5 Kontrollfragen zum Kapitel

2 Testprozess und Entwicklungsvorgehen

2.1 Der fundamentale Testprozess
2.1.1 Testplanung, Testüberwachung und -steuerung
2.1.2 Testanalyse und Testentwurf
2.1.3 Testrealisierung und Testdurchführung
2.1.4 Bewertung von Endekriterien und Bericht
2.1.5 Abschluss der Testaktivitäten
2.2 Softwareentwicklungsmodelle und Projektvorgehen
2.2.1 Klassische Entwicklungsmodelle
2.2.2 Iterative und agile Entwicklungsmodelle
2.2.3 Prozessreifemodelle und Testautomatisierung
2.3 Kontrollfragen zum Kapitel

3 Testfallspezifikation und -durchführung

3.1 Testfalldesign und Testfallerstellung
3.1.1 Kombinatorik
3.1.2 Testfallerstellung auf Basis von Modellen
3.2 Testdatenbeschreibung
3.2.1 Syntaxbezogene Testdaten
3.2.2 XML
3.3 Automatisierte Testdurchführung
3.3.1 Zeitliche Taktung
3.3.2 Fallweise Durchführung
3.3.3 Fehler-Workflow
3.4 Kontrollfragen zum Kapitel

4 Konzeption eines Automatisierungsframeworks

4.1 Technische Konzepte
4.1.1 Die grafische Benutzerschnittstelle
4.1.2 Webapplikationen und Webservices
4.1.3 CSS-Selektoren
4.1.4 Datenbanken
4.1.5 Schnittstellen und Hilfsmittel für Testautomatisierung
4.1.6 Service-Virtualisierung
4.2 Logische Konzepte
4.2.1 Typische Formen von automatisierten Testfällen
4.2.2 Kriterien zur Entscheidung für eine Testfalldarstellung
4.3 Struktur, Design und Umsetzung
4.3.1 Warum eine Automatisierungsstruktur aufbauen?
4.3.2 Grundlegende Struktur
4.3.3 Werkzeuge und Schnittstellen
4.3.4 Bezug zu verbreiteten Automatisierungsformen
4.3.5 Umsetzung eines Automatisierungsframeworks
4.3.6 Umsetzung von kompakten Testfällen (nach A2A)
4.4 Kontrollfragen zum Kapitel

5 Einsatzgebiete

5.1 Einsatzgebiete nach Systemart
5.1.1 Desktop-Applikationen
5.1.2 Client-Server-Systeme
5.1.3 Webapplikationen
5.1.4 Mobile Applikationen
5.1.5 Webservices
5.1.6 Data Warehouse
5.1.7 Dynamische GUIs: Formularlösungen
5.1.8 Cloud Based Systems
5.2 Einsatzgebiete nach Testart
5.3 Softwarequalitätskriterien
5.3.1 Funktionalität (functional suitability)
5.3.2 Performanz (performance efficiency)
5.3.3 Kompatibilität (compatibility)
5.3.4 Benutzbarkeit (usability)
5.3.5 Zuverlässigkeit (reliability)
5.3.6 Sicherheit (security)
5.3.7 Wartbarkeit (maintainability)
5.3.8 Übertragbarkeit (portability)
5.4 Einsatzgebiete nach Projektart
5.4.1 Das klassische Softwareentwicklungsprojekt
5.4.2 Das Wartungsprojekt und die Produktweiterentwicklung
5.4.3 Das SAP-Projekt
5.4.4 Agile Projekte
5.4.5 Migrationsprojekte
5.4.6 Last- und Performanztest
5.5 Kontrollfragen zum Kapitel

6 Testdurchführungswerkzeuge

6.1 Evaluierung von Automatisierungswerkzeugen
6.1.1 Unterstützte Technologien
6.1.2 Möglichkeiten der Testfallbeschreibung und Modularisierung
6.1.3 Zielgruppe
6.1.4 Integration in die Werkzeuglandschaft
6.1.5 Teststellungen
6.1.6 Schulungen, Support und Dokumentation
6.1.7 Lizenzmodell
6.2 Evaluieren leicht gemacht
6.2.1 Vorbereitung der Szenarien
6.2.2 Vorbereitung des Testrechners
6.2.3 Installation des Werkzeugs und Erstellung des Arbeitsbereiches
6.2.4 Erstellen des ersten Szenarios
6.2.5 Refactoring und Variabilisierung des ersten Szenarios
6.2.6 Umsetzung weiterer Szenarien
6.2.7 Integration in den Entwicklungsprozess
6.2.8 Abschluss
6.3 Einige Automatisierungswerkzeuge im Überblick
6.3.1 Kommerzielle Testwerkzeuge
6.3.2 Open-Source-Werkzeuge
6.4 Kontrollfragen zum Kapitel

7 Integration in die Organisation

7.1 Ab heute wird automatisiert!
7.2 Die Rolle des Testautomatisierers
7.3 Kontrollfragen zum Kapitel

8 Ausblick

8.1 Herausforderungen in der Testautomatisierung
8.1.1 Technische Schnittstellen
8.1.2 Organisatorische Schnittstellen
8.1.3 Testautomatisierung als komplexe Aufgabenstellung
8.2 Trends und mögliche Entwicklungen
8.3 Kontrollfragen zum Kapitel